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).

Continuar 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
Continuar 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)

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.

Continuar 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.