Feliz natal, festas e 2020!

Flowchart trap! - Um diagrama de fluxo infinito

Olá pessoal! tudo bem? só vim desejar um feliz natal e um próspero ano novo, por falar nisso, quero escrever de uma forma um pouco mais intimista e criar um pouco mais de vínculo com meus visitantes. Eu mantenho esse blog desde 2011 e não me aproximei de ninguém praticamente, acho que escrevo de uma maneira apática, direta, muito variada e esparsada temporalmente. Apesar dos meu inúmeros reinícios, diferentes plataformas e focos na escrita já são aproximadamente 9 anos de blog. Espero melhorá-lo à partir de agora. Muito obrigado!

~Sayonara!

Instalando Anaconda no Linux/Debian/Ubuntu

Passo a passo bem simples para quem tem que instalar o Anaconda no Linux para trabalhar com aprendizado de máquina/data science.

A instalação do Anaconda ou “conda” pode ser feita por meio de um bash script obtido em https://www.anaconda.com/distribution/. As opções de download disponíveis atualmente são para o Python 2.7 ou Python 3.7 e para sistemas operacionais Windows, macOS e Linux, para todos esses SOs tem versões 32-bit (x86) ou 64-bit (x86_64).

Continue lendo “Instalando Anaconda no Linux/Debian/Ubuntu”

Aplicação web com upload direto para S3 e SQS

Exemplo prático de como usar a SDK em JavaScript da AWS para fazer upload direto de arquivos, a partir do navegador para o serviço Amazon Simple Storage (S3). A principal vantagem de fazer um upload direto para o S3, sem passar por algum tipo de servidor intermediário é diminuir o gargalo que um pré-processamento poderia gerar.

Este exemplo foi apresentado como atividade na disciplina de Tópicos em Engenharia de Software lecionada pelo Dr. Gabriel Costa Silva. Os códigos de upload são idênticos ao exemplo já disponível pela própria Amazon (https://docs.aws.amazon.com/pt_br/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html), só que ao invés de ser um álbum de fotos, esse sistema funciona como se fosse um simples gerenciador de arquivos apelidado de “cenourinha files”.

Screenshot da Aplicação
Screenshot da Aplicação
Continue lendo “Aplicação web com upload direto para S3 e SQS”

Unix completa 50 anos

O Unix é um dos sistemas operacionais mais importantes da historia, você pode não ter interagido diretamente com um, mas com certeza já usou algo que estava usando esse sistema.

No verão de 1969, Ken Thompson e Dennis Ritchie criaram a primeira implementação do Unix, a motivação inicial do Ken Thompson era criar um sistema operacional que executasse o jogo (chamado de Space Travel [5]) que ele estava desenvolvendo de forma eficiente. Dennis Ritchie se inspirou em alguns projetos anteriores de sistemas operacionais como o Multics[4] da Bell Labs.

Depois do desenvolvimento inicial do Unix, ele começou a se tornar popular tanto no mercado quanto academicamente, logo mais, foram se criando sistemas operacionais que usavam ele como base, dentre as “sub-famílias” mais populares: MacOS, Linux e BSD.

Histórico do sistema Unix e dos sistemas operacionais derivados dele
Histórico do sistema Unix e dos sistemas operacionais derivados dele

Referências, curiosidades e história completa do Unix em:

  1. https://www.bell-labs.com/var/articles/invention-unix/
  2. https://www.bell-labs.com/unix50/
  3. https://www.bell-labs.com/usr/dmr/www/hist.html
  4. https://en.wikipedia.org/wiki/Multics
  5. https://en.wikipedia.org/wiki/Space_Travel_(video_game)

Corrigindo as horas no Arch Linux e outras distros

É normal que seu computador fique com o relógio bem impreciso, ainda mais quando você recém instala o seu Sistema Operacional.

Alguns sistemas operacionais já vem com algum programa que implementa o protocolo NTP para sincronizar o relógio da sua máquina automaticamente. O protocolo NTP além de sincronizar seu computador com vários outros servidores, ele também é preparado para lida com a latência¹ que ocorrer na comunicação com outros servidores e com outros fatores que podem afetar a precisão do relógio do seu computador.

Continue lendo “Corrigindo as horas no Arch Linux e outras distros”

Deixando o JQuery: toggleClass em puro JavaScript

O toggleClass() é um método do jQuery que adiciona ou remove uma classe CSS de um determinado elemento, o seu uso mais comum eu diria que é para renderizar ou não determinado elemento HTML, esse efeito conhecido como hide/show funciona adicionando e removendo uma classe com um display: none, mas o toggleClass() é útil para qualquer efeito de mudanças de CSS.

Continue lendo “Deixando o JQuery: toggleClass em puro JavaScript”

Metas para 2019

Aqui vai a algumas metas para o meu 2019 acadêmico/profissional e um pouco pessoal.

  1. Me sentir confortável com algum framework moderno JavaScript: O desafio disso é escolher, afinal: é melhor aprender algo que está mais consolidado na indústria como React ou Angular ou tentar aprender algo novo mas promisso como o Vue?, Na real, vale a pena “aprender” frameworks? isso me incomoda um pouco.
  2. Para esse blog: Criar um tema esqueleto [x], personalizar esse tema esqueleto[em progresso], não utilizar biblioteca pesadas como jQuery ou Bootstrap no frontend[x], utilizar lazy-loading nas imagens, comprimir as imagens, fixar uma rotina de postagens(1-5 posts por semana).
  3. Concluir a faculdade(Atualmente faltam 7 Matérias, TCC1 e 2, Estágio e atividades complementares), essa vai ser difícil concluir nesse ano.
  4. Ler mais, principalmente pela experiência, ultimamente só tenho lido para me informar/aprender algo ou porque sou obrigado, e eu já não era um grande leitor. 😕
  5. Usar algum método para acompanhar essas metas.

Aparentemente estou fazendo isso de metas atrasado
(já é 12/02?) mas a ideia é ir verificando o progresso e adicionando/retirando coisas conforme o ano se passa.

Cadê o shift + enter do novo editor de texto do WordPress?

Uma das minhas metas nesse ano é passar a escrever mais nesse blog, eu utilizo o WordPress para isso por dois motivos: comodidade e por que ele me da um sistema de discussão(que dependeria de terceiros se eu utilizasse algum tipo de sistema de gerador de páginas estáticas, por exemplo).

Então, desde 2017 o time de desenvolvimento core do WordPress está focado em desenvolver um editor de texto(chamado de Gutenberg) que viria para facilitar a escrita. Na prática parece que ele piorou a experiência de escrita para muita gente, abaixo da pra ver que boa parte da comunidade odiou o editor:

Página de reviews do plugin Gutenberg
Página de reviews do plugin Gutenberg
Continue lendo “Cadê o shift + enter do novo editor de texto do WordPress?”

Instalando imagick no Debian como extensão PHP

O ImageMagick® é um software que permite editar, criar, converter e trabalhar com imagens bitmap em mais de 200 diferentes formatos (PNG, JPEG, TIFF, GIF, etc), ele tem uma licença de distribuição Apache 2.0 que permite a distribuição dele como binário ou em softwares com código aberto ou proprietário.

Como extensão PHP, o ImageMagick ou imagick provê as classes: Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator e ImagickKernel. Particularmente nunca trabalhei puramente com as classes dessas extensão, mas segundo o WordPress no sistema deles a extensão melhora a qualidade das imagens adicionadas na biblioteca, adiciona um redimensionamento inteligente de imagens pequenas e o suporte as miniaturas de PDF.

Instalar a extensão no Debian e derivados é bem fácil, só exige o restart do Servidor/FastCGI Process Manager do PHP, no meu ambiente com Debian e PHP 7.3 é como no exemplo:

sudo apt-get update
sudo apt-get install php-imagick
sudo nginx -s reload
sudo /etc/init.d/php7.3-fpm restart

Para verificar a instalação do imagick basta criar um arquivo PHP com a função phpinfo();.

Se a extensão tiver sido carregada corretamente ela vai aparecer na listagem de extensões