Capitã Marvel causando nostalgia em desenvolvedores

E aí galerinha do café, tudo tranquilo?

O desenvolvimento web que conhecemos hoje tem um passado nebuloso… hehehe

Hoje em dia temos muita gente nova que provavelmente nem ouviu falar em MIcrosoft Frontpage (eca!), já que na época em que ele “resolvia” alguns problemas, a maioria do pessoal estava nascendo…

Na época, mesmo com uma baita ascensão da internet, programadores web eram vistos com desdenho por programadores desktop, que era o que mais havia. A frase mais comum era “PHP não é linguagem, é tecnologia”, “ASP é gambiarra”, “HTML só formata”, “progama em C que nem gente grande”, etc…

Fato é que a gente não dava muita bola (mesmo eu já programando em C também nessa época heheh) e desenvolvíamos coisas “incríveis” para os sites da escola, da turma, do condomínio, da família e para tudo o que mais poderia haver, sempre com muitos códigos copiados e alterados de diversos tutoriais e upados com o velho FTP.

Recentemente,  iria fazer um comparativo de sites que eu fazia na época para os que rola hoje (a diferença é enorme!!!) para uma talk que fiz na trilha Inspire do TDC, mas a Marvel resolveu isso pra mim. Como o filme da Capitã Marvel rola nos anos 90, eles fizeram o site oficial bem do jeitinho – horrível – que a gente fazia na época. Isso deu uma baita nostalgia!

Confere lá: https://www.marvel.com/captainmarvel/

A web melhorou não é? hehehe

Valeu, grande abraço!

Como remover a senha de uma planilha do Excel xlsx

E aí galera do café, tranquilo?

Post rápido para salvar aquela planilha com a senha perdida 😉

Aproveitem!

 

Este método somente aplica-se a planilhas protegidas por senha. Se o arquivo está protegido com o recurso “Encriptar com uma senha”, ele não funcionará.

  1. Abra o Windows Explorer e habilite a exibição de extensão de arquivos conhecidas. Para isso, pressione a tecla para exibir os menus superiores e entre no menu Ferramenta > Opções de pasta
    Na aba Modo de Exibição, desmarque a caixa Ocultar a extensão dos tipos de arquivo conhecidos e clique em OK.
  2. Altere a extensão do arquivo de .XLSX para .ZIP
  3. Extraia o arquivo para um diretório com o seu extrator favorito (Winzip, 7-zip, tar, etc)
  4. Entre no subdiretório xl e depois em worksheet que você acabou de extrair
    Deverá ter um ou mais arquivos com nomes como: sheet1.xml (sheet2.xml, etc. Eles representam as planilhas que você tem no seu arquivo.
  5. Dentro de cada um destes arquivos terá uma tag XML: <sheetProtection password=… />. Delete esta tag XML inteira usando um editor de texto (como o Bloco de notas, Visual Studio Code, etc).
  6. Re-zip os arquivos novamente.
  7. Renomeie o arquivo de .ZIP para .XLSX

E era isso!
Escrevam aí como foi a experiência de vocês com esse método…

Grande abraço!

Fonte

How to unprotect a password protected .XLSX file – Adam’s Code Blog – http://blog.bitcollectors.com/adam/2011/10/how-to-unprotect-a-password-protected-xlsx-file/

Ocorreu um erro interno no SEFIP. Se o erro persistir reinstale o SEFIP. Como resolver?

Erro SEFIP

Olá!

Se você está tendo esse erro ao abrir o programa SEFIP no Microsoft Windows 10, eu encontrei a solução! 🙂

E ela é bem simples! Basta que você defina a impressora “Microsoft to PDF” como impressora padrão do seu sistema operacional.

Isso acontece porque o programa utiliza essa impressora virtual para gerar os relatórios em PDF e se ela não for a padrão ele nãos abe onde encontrar e dá o famigerado erro!

Conte aí nos comentários as respostas do suporte da Caixa referente à esse erro. Aqui na empresa escalaram o chamado e mandaram formatar a estação de trabalho hehehe

Grande abraço.

Espero ter ajudado e bom trabalho pra nós!

 

Compactação GZIP com Node.js

Introdução

Em tempos de servidores compartilhados onde cada recurso utilizado dói no bolso no final do mês, é muito importante compactar arquivos, seja para servi-los e economizar na transferência, seja para armazenar em disco. Existem algumas alternativas, uma delas é o Brotli, um projeto do Google que eu escrevi aqui, outra que também é suportada pela maioria dos navegadores é o GZIP e para isso existe uma ferramenta muito tranquila de implementar e que também pode ser utilizada no shell.

Solução

A ferramenta em questão é o Gzipme mantida por Caio Ribeiro Pereira sob licença MIT.

Implementação

No diretório do seu projeto, instale o pacote com o npm.

npm install gzipme
import gzipme from 'gzipme'

// Comprime "file.txt" para "file.txt.gz" no mesmo diretório.
gzipme("file.txt");

// Comprime "file.txt" e sobrescreve o arquivo "file.txt" no mesmo diretório
gzipme("file.txt", true);

// Comprime "file.txt" com o nome "compressed.txt" no mesmo diretório
gzipme("file.txt", "compressed.txt");

// Comprime "file.txt" usando o modo de "melhor" compressão (arquivo menor mas a compressão é lenta).
gzipme("file.txt", false, "best");

// Comprime "file.txt" usando o modo "rápido" de compressão (arquivo maior mas compressão rápida)
gzipme("file.txt", false, "fast");

Para usar  no shell do seu sistema operacional, basta instalar em modo global.

npm install -g gzipme

Os comandos são bem semelhantes às funções.

# O mesmo que 'gzipme("file.txt")'.
gzipme file.txt
# O mesmo que 'gzipme("file.txt", true)'.
gzipme -o file.txt
# O mesmo que 'gzipme("file.txt", "compressed.txt")'.
gzipme -O compressed.txt file.txt
# O mesmo que 'gzipme("file.txt", false, "best")'.
gzipme -c best file.txt
# O mesmo que 'gzipme("file.txt", false, "fast")'.
gzipme -c fast file.txt

É isso aí! Tente aplicar esse conhecimento conforme o seu projeto necessita 🙂

 

Grande abraço!

Compactando arquivos para a web com Brotli

Introdução

O assunto compactação normalmente é tratado na hora do deploy da aplicação, seja observando os relatórios de performance, como por exemplo o LigthHouse em caso de PWA ou seja simplesmente acessando o aplicativo e percebendo que ele está muito, as vezes muitooooo lento.

Fato é que esse assunto é o que envolve o maior número de engenheiros em empresas de desenvolvimento maiores e os navegadores já estão aptos à ajudar a resolver o problema e se não tiver, usa o GZIP mesmo.

 

A solução proposta aqui é o Brotli, um projeto Google que faz a compactação para você ter menos dores de cabeça com performance 🙂

Para usa-lo, utilize o gerenciador de pacotes do seu sistema operacional, eu estou usando um Ubuntu 16.04 LTS.

sudo apt-get install brotli

No caso de uma aplicação Angular, crie um arquivo no chamado Makefile no mesmo nível de onde está o seu package.json, copie o código abaixo e altere o que for necessário para adequar ao seu projeto.

build:
    ng build --prod --aot`

compress: 
    find dist -type f -exec sh -c "gzip < {} > {}.gz" \;
    find dist -type f -not -name "*.gz" -exec sh -c "bro --input {} --output {}.br" \;

Agora, executando os comandos make build no terminal, gera os arquivos de produção do Angular e o comando make compress gera os arquivos em GZIP e em BR (Brotli) compactados.

Não se preocupe que o seu servidor (Ngnx, Apache, etc) saberá o que fazer com eles 😀

Esse assunto sempre dá ibope, conte as suas experiências na seção de comentários…

 

Grande abraço!

Erro re0: Watchdog timeout no PfSense

Introdução

E aí galerinha do café!

Hoje tive que trocar o firewall do cliente de local físico e ao reconectar os cabos de rede, me deparei com esse erro re0: Watchdog timeout. No meu caso a re0 é a interface WAN e a configuração é obtida pelo DCHP da operadora de internet. Se eu conectasse o cabo depois do boot completo do servidor, ele apresentava o erro e travava e se eu ligasse o servidor com o cabo já conectado, ele travava ao obter o endereço IP da WAN.

Configurações

PfSense: 2.3.5 x86
re0: WAN DHCP

O Watchdog

Pra quem não conhece, o whatchdog é um “serviço” muito conhecido em eletrônica e semelhante á handler de eventos em programação. Ele fica monitorando, nesse caso, a porta por novas conexões físicas e a partir de uma conexão ele toma as decisões impostas à ele pela fabricante da placa de rede.

Solução simplificada

Apenas adicione as seguintes linhas no /boot/loader.conf

hw.re.msi_disable=1
hw.pci.enable_msix=0
hw.pci.enable_msi=0

Solução detalhada

  1. Inicie o servidor PfSense sem o cabo conectado e deixe ele completar o boot.
  2. Selecione a opção 8 (Shell)
  3. Digite o comando “vi /boot/loader.conf”
  4. Pressione a tecla “a”
  5. Digite as linhas
    hw.re.msi_disable=1
    hw.pci.enable_msix=0
    hw.pci.enable_msi=0
  6. Pressione a tecla “ESC” + “:” + “x” para salvar e fechar o arquivo
  7. Pressione a tecla “Enter
  8. Plugue o cabo

Observação: eu ainda tive que forçar a obtenção do IP via DHCP na re0

Espero ter ajudado!

Grande abraço.

Live preview no Visual Studio Code

E aí galerinha do café, tranquilasso?

Hoje em dia, existem diversas ferramentas para auxiliar o nosso trabalho, principalmente com o front-end, na verdade acho que é a área mais “frenética” no momento em que escreve esse post (Set/2017). Fato é que além de frameworks, precisamos também de uma boa IDE, porque só maluco vai de VI, VIM ou Notepad 😀

Por muito tempo eu usei o Brackets pura e simplesmente porque ele tem a função de live preview, que é aquela função espetacular em que altera o arquivo no navegador na medida em que tu estás editando e com isso o desenvolvimento fica muitooo³ mais rápido e talvez até com mais qualidade.

Hoje em dia, ando tendo uma relação de paixão pelo Visual Studio Code da Microsoft, que apesar de ser Microsoft, é gratuíto e funciona em Mac e Linux também.

Esse editor tem uma interface bacana, te ajuda com debug e tem um terminal integrado, na verdade ele usa o terminal da sua máquina dentro da IDE, de qualquer forma, é uma mão na roda!

 

Hoje eu estava com o Brackets aberto e o Visual Studio Code também, quando me deparei, pera aí, deve ter alguma extensão de Live preview para esse cara e aí eu uno o útil ao agradável (pra mim, pelo menos).

Eis que então achei a extensão “Live HTML Previewer“, que está disponível aqui.

Para instalar é bem tranquilo. Lógico que tu precisas ter instalado antes o Visual Studio Code e para isso, basta seguir as instruções no site deles.

Depois de instalado o VS, pressione CTRL + P e digite o seguinte comando:

ext install live-html-previewer

Escolha a extensão na lista e clique em install.

Recarregue o Visual Studio Code

Pronto!

Para usar em uma aba no Visual Studio Code, pressione F1 ou CTRL + Q + S e digite:

Show side preview

Para usar em “tela cheia”, CTRL + Q + F ou pressione F1 e digite:

Show full preview

E, por fim, no navegador, CTRL + Q + W,

ou F1 e digite:

Open in browser

ou clique com o botão direito do mouse no editor e selecione

Open in browser

 

Feito!

Espero que tenham gostado.

Grande abraço!

 

O que é um RANSONWARE?

Ransonware é um tipo de malware que ao ser infectado, explorando uma brecha de segurança do sistema operacional, encripta os dados e pede resgate sobre eles, ao pagar o resgate, uma chave lhe é enviada para que os dados sejam descriptografados.

Mas quem garante que você não será infectado novamente? Sua empresa está protegida?

Conheça os serviços da MisselSoft para lhe auxiliar nesse assunto. Não corra riscos desnecessários. Conte conosco!

 

Grande abraço.

Novo ransonware identificado. Sua empresa está protegida?

Ontem, dia 27 de Junho de 2017, foi identificado um novo RANSONWARE que atacou diversos países na Europa e também os EUA, fazendo um grande estrago em diversas empresas gigantescas, desde o setor de transporte e logístiga, passando por mineradoras de ferro chegando até a distribuição de energia, inclusive derrubando o sistema de monitoramento da usina nuclear de Chernobyl.

Diferente do Wannacry, disseminado e “exterminado” em meados de maio desse ano, o Petwrap, uma variação do ransomware Petya, não pode ser descriptografado, pois o provedor de emails desativou a conta que recebe os comprovantes dos pagamentos de Bitcoins.

A maioria das empresas estão vulneráveis a essa e outros tipos de ameaças. A sua empresa está protegida?

A MisselSoft pode te ajudar com essa tarefa, não corra riscos desnecessários, entre em contato conosco.

 

Grande abraço!

 

Fonte: TI Inside Online

Como facilitar a identificação de problemas no Windows com a ferramenta PSR

Olá!

As vezes é um pouco difícil de você identificar aquele erro ou problema que o seu usuário está te informando. Vem uns prints dentro de arquivos do Word ou soltos mesmo e tu fica meio sem entender.

Para resolver isso existe uma ferramenta disponível no Windows, a partir da versão 7 que vai resolver por completo esse dilema.

Trata-se da PSR (Problem Steps Recorder) gravador de passos para reproduzir problema.

Para utilizar é muito fácil, basta seguir os passos abaixo:

1º passo – Clique no menu INICIAR

2º passo – Clique em EXECUTAR

3º passo – Digite “psr” (sem aspas)

4º passo – Clique em INICIAR GRAVAÇÃO

Ferramenta de auxílio ao suporte PSR

5º passo – Execute normalmente o procedimento que deverá ser informado à quem está te prestando suporte

Obs.: durante a execução é possível adicionar comentários para explicar melhor alguma tarefa.

6º passo – Clique em PARAR GRAVAÇÃO

7º passo – Na janela com o relátório, clique em SALVAR, escolha um diretório, salve o arquivo .Zip e encaminhe para quem está lhe ajudando.

Pronto! Tudo ficou mais claro 😉

Espero ter ajudado, grande abraço à todos!