Para onde foi a performance do seu Linux? Glances nele!

Glances é a melhor aplicação que eu já vi para análise de performance no Linux. Veja um screenshot:

glances

Numa tela simples de terminal temos uso de memória, CPU, rede, I/O e espaço em disco. Aperte h para ver a ajuda.

Para instalar:

sudo apt-get install glances

E para executar:

sudo glances

Claro, se você não usa Debian/Ubuntu, troque apt-get por yum, pacman, emerge ou o comando correspondente em sua distro.

Easter eggs no Python e um pouco mais

Todos gostamos de easter eggs, certo?

Então rode o python e se divirta:

import this
import __hello__
from __future__ import braces
import antigravity

E uns outros que eu acho interessantes:

No vim, tente:

:help 42
:help holy-grail
:help UserGettingBored
:help!
:Ni!

Esses agora, são apenas para Debian, Ubuntu e derivados. Tente isso e dê uma olhada na última linha:

apt-get help

Depois tente:

apt-get moo

E depois de ter visto esses dois do apt, esse aqui vai fazer um bocado de sentido:

aptitude help
aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo

E o último dessa série (talvez você precise instalar o apt-build para ver):

apt-build moo

Se você é um administrador de servidor, pode deixar um easter egg para seus usuários sudoers. Rode:

sudo visudo

E inclua, no bloco de configurações começando com “Defaults”, a seguinte linha:

Defaults insults

Salve e saia. Agora, quando um usuário sudoer errar a senha, o sudo vai insultá-lo em retribuição.

Esses próximos estão na internet, mas devem ser aproveitados num terminal:

telnet towel.blinkenlights.nl
traceroute -m 254 -q1 obiwan.scrye.net

É isso. Conhece mais? Deixe aí nos comentários.

Faça o Google falar por você

Ah, a internet! Você, usuário de Linux, comece pela preparação:

sudo apt-get install curl mpg123

Depois crie o script falador:

#!/bin/bash
l=pt-BR
if [ "$1" == "-l" ];then
  shift
  l=$1
  shift
fi
curl -A "Falador" translate\.google\.com/translate_tts -d "tl=$l&ie=UTF-8&q=$@" |mpg123 -;

Dê permissão de execução:

chmod +x falador

E divirta-se:

./falador "Onde está o futuro que nos prometeram?"
./falador -l en "Luke, I am your father."

Tudo tem que funcionar no celular

Mandei esse e-mail para o pessoal da Visie:

Pessoal,

Quando foi a última vez que você fez um site na Visie que não tinha versão mobile?

Então. Tudo tem que funcionar no celular. É praxe. O que não for responsivo é a exceção.

Então, ao receber um wireframe, layout ou especificação do projeto, não precisa perguntar: vai ser responsivo? Pode perguntar direto: onde está o layout mobile?

Ao estimar, planejar, projetar ou implementar qualquer coisa web na Visie, ter isso em mente vai evitar confusão. Lembre-se sempre: é sim responsivo, a não ser que alguém explicitamente diga o contrário.

Um [ ]!

Elcio

É, eu sei, não tem nada genial aí. Nem é “vanguarda”, todo mundo já trabalha assim há um tempão (ou não?) Mas para quem viveu o tempo dos layouts com tabelas para IE3 e Netscape 4, o simples fato de estar escrevendo essas palavras significa muito.

Valeu internet!

Carta aos Presidenciáveis: Por que desprezam quem precisa de acessibilidade?

Da Lêda Spelta:

Caríssimos candidatos Dilma Rousseff, Marina Silva e Aécio Neves,

Desalentada com a escassez de informações apresentadas nos programas eleitorais, resolvi acessar os sites oficiais de campanha, na esperança de encontrar esclarecimentos sobre as principais diferenças programáticas, ou seja, sobre o que eu poderia esperar do futuro do Brasil com cada um dos senhores na presidência, já que são os candidatos com chances reais nessa eleição. E decidi começar pelo site da Presidenta Dilma…

Continue a leitura no site da Acesso Digital: Carta aos Presidenciáveis: Por que desprezam quem precisa de acessibilidade?

oh-my-zsh: shell esperto com zsh e open source

Estamos publicando, e anunciando em nossa lista de e-mails, o Mini-curso gratuito de Linux para Programadores. Recebi no final da semana passada o seguinte e-mail:

Olá Elcio,

olha, como já sou usuário Linux já sabia algumas coisas do que foi dito, mas outras não. Achei a forma que desenvolveu esse vídeo bem interessante, prático e objetivo, sem muita balela, o que acho ótimo pois tem uns cursos por aí que os instrutores ficam de muito blábláblá. Por essa primeira aula vejo que aprenderei bem mais no decorrer do curso. São 4 partes, né?

Uma coisa que notei é que está usando zsh. Vão rolar umas dicas de como usar ele ou vai continuar só no bash mesmo? É que por coincidência acabei de instalar ele e ainda estou apanhado um cadim, rsrs.
Bem, é isso. Parabéns pela iniciativa e fico no aguardo das próximas aulas.

Abraços,

******** *****

Como eu faço? oh-my-zsh

Como achei que a resposta podia ser útil para mais gente, resolvi publicar aqui. Eu uso o oh-my-zsh.

Uso com o tema padrão mesmo. No meu .zshrc só tem de personalizado uns alias de comando e definição do PATH e CDPATH. Faço a instalação com o instalador automático. Ele já vem com coisas como um plugin de git que mostra o branch atual e o status no prompt.

Recomendo oh-my-zsh. É o zsh em sua melhor forma, sem esforço. Veja um exemplo do meu shell, com o prompt sinalizando o status do repositório git atual e quando um comando falhou:

oh-my-zsh

Quer aprender mais sobre o terminal do Linux? Veja nosso Mini Curso Grátis sobre Terminal.

Fique por dentro das novidades da Visie

Você deve ter notado que a Visie anda meio quieta quando o assunto é treinamentos. Depois do DevOps Heroes, que aconteceu no final de Janeiro, paramos um pouco de divulgar treinamentos.

Fizemos isso porque gastamos um bocado de tempo estudando como criar treinamentos que realmente façam diferença na vida dos desenvolvedores com quem entramos em contato. E acreditamos que chegamos a um formato agora que pode realmente ajudar a mudar o jeito como se faz web no Brasil.

Não apenas acreditamos, como conseguimos testar esse formato em alguns treinamentos em empresas, e os resultados nos deixaram muito empolgados.

Agora estamos de volta. Temos um bocado de coisas para compartilhar e um convite a fazer.

Acessibilidade para Twitter Bootstrap

Dica do Hans Mösl no grupo de trabalho de acessibilidade do W3C Brasil:

Plugin de Acessibilidade para Twitter Bootstrap. Plugin de código aberto, no GitHub. Promete tornar acessíveis uma porção de componentes Javascript do Bootstrap e, até onde eu consegui conferir, funciona muito bem.

Considere incluir em seu próximo projeto. Considere incluir nos seus projetos antigos baseados em Bootstrap 3. Considere incluir sempre.

Microsoft quer ressuscitar o Flash

winphone8-title-cardDepois de uma tentativa frustrada de parceira com a Nokia, a Microsoft encontra uma nova parceira para sua batalha contra a Apple: a Adobe. A parceria parece ser boa para ambos os lados: ao mesmo tempo em que a Microsoft luta para manter sua posição no mercado de PCs contra o avanço dos Macs, a Adobe teve um de seus principais produtos, Flash, morto pela Apple.

A parceira envolve lançar uma nova versão do Adobe Flash, que deixará de ser produzido para Macs e a partir de agora funcionará apenas no sistema operacional Windows. Essa nova versão estará integrada ao Visual Studio, ao .Net Framework e ao Microsoft Sharepoint. O objetivo é tornar o Flash um novo padrão para a construção de sites, portais e aplicações web. Além disso, o ponto forte da estratégia é fazer do Flash a ferramenta oficial para a construção de aplicativos para as plataformas Windows 8 e Windows Phone.

Segundo Emmett Brown, vice presidente de estratégias globais para o futuro da Microsoft, plataformas abertas como o HTML5 são prejudiciais à livre concorrência e à inovação no mercado de desenvolvimento web e, ao trazer o Flash de volta, a Microsoft pretende inaugurar uma nova era no mundo dos aplicativos móveis.

Para mais detalhes sobre a parceria, leia o anúncio na íntegra no site oficial.

Minha palestra no GAiN

Update: saiu o vídeo: Tendências para o futuro da Web: uma leitura a partir do trabalho do W3C – SAC/GAiN 2014.

Apresentei hoje cedo uma palestra no GAiN, um encontro de profissionais de comunicação e internet da minha igreja. Há um tempo que venho falando às pessoas que trabalham com internet na igreja sobre os padrões do W3C. Mas hoje tive a oportunidade de falar para gente que trabalha com isso de toda a América do Sul, de uma vez.

Muito obrigado aos organizadores pelo convite. Quem quiser conferir minha palestra no GAiN, sobre as tendências para o futuro próximo da web, pode encontrar a apresentação aqui: aqui.

Não sei se minha palestra foi gravada. Se eles publicarem lá, aviso por aqui.

Dúvida: URLs de categoria amigáveis

Um amigo me escreveu:

Ola Elcio,

vc tem algum tutorial de como reescrever a url para deixar mais amigável?

no momento eu tenho isso
http://www.meusite.com.br/index.php/category/produtos/produtos-especiais/

quero deixar assim:
http://www.meusite.com.br/produtos-especiais/

Muito bem, vamos lá. O primeiro passo é, se você não quer que as categorias apareçam uma dentro da outra, não usá-las de forma hierárquica no cadastro. Edite a categoria “produtos-especiais” e faça com que ela não seja mais filha de “produtos”. Isso deve deixar a URL dela assim:

http://www.meusite.com.br/index.php/category/produtos-especiais/

O passo seguinte é ir em “Configurações -> Links Permanentes” e configurar corretamente a estrutura de links permanentes, para retirar o “index.php” da URL. Escolha o formato que mais lhe agradar lá. Você vai precisar:

  1. Estar rodando Apache. Essa dica não vai funcionar em outro servidor web, a não ser que você acrescente uma boa dose de hacking.
  2. Ter o mod_rewrite habilitado no seu Apache.
  3. Que o PHP tenha permissão de escrita no arquivo .htaccess.

Tendo feito isso, a URL vai ficar:

http://www.meusite.com.br/category/produtos-especiais/

Por fim, você pode usar esse plugin: Top Level Categories. Ele consegue retirar aquele /category/ da URL, deixando o formato final da URL do jeito que você quer.

Boa sorte!

 

Mini-curso dominando o terminal do linux

É hoje à noite

DURAÇÃO: 2h

Aprenda os fundamentos do terminal do Linux, domine os comandos mais comuns mas, além disso, aprenda um novo jeito de pensar. Automatize tarefas e coloque seu computador para trabalhar por você.

Por que estamos oferecendo esse curso?

Durante os últimos anos eu tenho ensinado milhares de técnicos, programadores e webdesigners a ser mais produtivos. Treinei equipes inteiras de empresas como iG, Terra, Yahoo!, Locaweb, Magazine Luíza e Editora Abril. Além disso, tenho sido chamado para palestrar em grandes eventos técnicos em todas as regiões do Brasil.

Mas sinto que o Brasil (e provavelmente o mundo) tem uma carência enorme de conhecimento em computação. E essa carência não poderá ser preenchida apenas ensinando mais a quem já é especialista no assunto. Por isso, fiquei muito feliz quando o Maudy, do Ubuntu Dicas, me convidou para ensinar os segredos do terminal do Linux a iniciantes. E o resultado disso é esse curso que você poderá assistir hoje, quinta-feira, dia 30, às 20h.

Temos sentido, tanto na comunidade Ubuntu Dicas quanto no mercado em geral, um grande interesse dos usuários iniciantes em aprender os segredos do terminal do Linux. É uma ferramenta fantástica de automatização de tarefas, capaz de fazer seu computador trabalhar por você. E também é a porta de entrada para uma série de novos conhecimentos e, inclusive, para um novo jeito de pensar.

Por que você deve dominar o terminal?

Eu comecei minha carreira como programador Windows. Como todo usuário experiente de Windows, eu dominava uma porção de truques avançados do próprio Windows e de seus programas. Foi nessa época que comecei a estudar Linux. Um dia meu chefe na época apareceu com uma tarefa desafiadora para mim. Todos os dias chegava, no mesmo horário, um CD com imagens vindas das filiais. Sim, em CD, naquela época fazer esse tipo de coisa pela Internet ainda era muito lento. E essas imagens deviam ser preparadas para publicação no site. Não era uma tarefa complexa, precisava basicamente redimensionar as imagens e copiá-las para a pasta certa através de um programa de FTP.

Eu resolvi o problema usando um recurso do Photoshop para processamento em lote, chamado “batch” na versão em inglês. Criei uma action no Photoshop para ser executada com o recurso de batch e, todos os dias, quando o CD chegava, eu copiava o conteúdo para uma determinada pasta, abria o Photoshop, executava o processamento em lote e aguardava o Photoshop terminar. Ao final, abria um programa de FTP e copiava os arquivos para o servidor do site.

Era uma tarefa enfadonha, repetitiva e aquilo começou a me deixar desanimado. Eu passava as tardes me sentindo mal, antecipando o momento em que eu teria que parar meu trabalho para copiar as imagens e ficar olhando o Photoshop trabalhar.

Felizmente, foi nessa época que eu comecei a aprender Linux. E com um bocado de estudo e um pouco de esforço cheguei a uma sequência de comandos que resolvia o problema:

cd imagens_filiais/entrada
for i in *.jpg;do  
  convert -thumbnail 300x300 $i $i
done
mv entrada `date +%Y%m%d`
cd ..
rsync -razv . servidor:imagens_filiais/

Uma simples sequência de sete linhas. Claro, você pode achar esses comandos assustadores, e pensar que dá mais trabalho digitar isso tudo do que simplesmente copiar a pasta, renomear, executar a action no Photoshop, abrir o programa de FTP e copiar os arquivos. Acontece que só foi necessário digitar esses comandos uma vez. Criei um arquivo com essa sequência de comandos e, cada vez que o CD de imagens chegava, eu copiava as imagens para a pasta entrada e executava um único comando. Consegue imaginar meu alívio e alegria ao conseguir me livrar dessa tarefa repetitiva, colocando o computador para trabalhar para mim?

Não se assuste com os comandos. Eu também tinha medo deles e não entendia nada quando os vi pela primeira vez. Mas eles são simples, acredite. Muito simples. Se você entender os conceitos fundamentais, vai entender esses comandos e qualquer outro com que tiver que lidar, com facilidade. E é fácil entender, você vai ver.

Você vai gastar duas horas estudando hoje e com certeza, vai economizar muito mais do que duas horas na primeira tarefa repetitiva que chegar às suas mãos. E vai parar de ter medo do terminal.

Por que você deveria se inscrever para esse curso agora?

Por que o curso, com interação ao vivo, vai estar disponível apenas hoje, dia 30/01. Além disso quem se inscrever até lá vai receber também a apostila do treinamento e um bônus especial, preparado com carinho para quem quer avançar na automatização de tarefas. Esta é então uma chance única, uma oferta que não estará disponível depois de quinta-feira. Depois disso você poderá adquirir apenas o acesso à gravação do curso. A apostila estará disponível exclusivamente para quem adquirir o acesso até às 20h.

Nós temos tanta certeza que você vai gostar do curso que, para que você tenha certeza ao se inscrever, oferecemos a exclusiva garantia completa: se você assistir o treinamento ao vivo e, por qualquer motivo, não estiver satisfeito com o que aprendeu, você pode simplesmente escrever para a gente e obter seu dinheiro de volta. Todo o seu dinheiro de volta, sem letras miúdas, sem perguntas, basta mandar um e-mail.

Para quem é esse curso?

Se seu trabalho envolve lidar com arquivos em um computador e realizar tarefas que podem ser automatizadas, esse curso é para você. Se você apenas navega na internet, escreve textos e planilhas, por favor, não se inscreva. Mas se você precisa lidar com tarefas como capturar dados da internet, lidar com arquivos em grandes volumes, tratar texto, imagens, vídeos ou áudio, administrar servidores ou qualquer outra tarefa repetitiva que possa ser automatizada, você PRECISA fazer esse curso.
Eu tenho certeza que, se você trabalha assim com um computador, vai recuperar o tempo investido em estudar em no máximo uma semana.

Inscreva-se

Elcio Ferreira é sócio-diretor da Visie Padrões Web, empresa especializada no desenvolvimento de sites, sistemas web e aplicativos móveis. Já treinou e auxiliou equipes de desenvolvimento de centenas de equipes em empresas como Globo.com, Editora Abril, iG e Terra. Trabalhando com web há mais de quinze anos, Elcio é nome de referência no Brasil em padrões web e tecnologias abertas para a internet, sendo membro do grupo de trabalho de acessibilidade do W3C. Durante o ano de 2011, ministrou os treinamentos oficiais de HTML5 na sede do W3C Brasil.