Mnemonic's Fike

Da genialidade à imbecilidade o limite é uma curva

Novo Google Plus

| Comments

Como muitos sabem, essa semana está acontecendo o Google I/O. Este evento é teoricamente feito para desenvolvedores mas o grande impacto é para a imprensa com novos produtos e acréscimo produtos existentes.

Uma das coisas imediatas à realização do Google I/O é que o Google + (Plus) está ficando melhor para enfrentar a concorrência. A interface mudou, agora está menos limpa (clean) ou podemos dizer que está com mais cores. :)

Postando pelo Gmail.

Debian Wheezy Chegou!

| Comments

Agora em Maio saiu a nova versão estável do Debian que chegou na versão 7.0 e de codinome Wheezy.

Por que Wheezy? Wheezy é o nome do pinguim cantor em Toy Story. Ah, O Debian tem por tradição usa codinome de suas versões. A próxima versão estável do Debian terá o nome de Jessie.

Jessie? Sim, ela é a cowgirl(?) em Toy Story. :)

Ah… Já ia me esquecendo, recomendo ler as notas de lançamentos que traz as novidades da nova versão. :)

Pés Cascudos: Tentando Voltar Ao Mundo Das Corridas

| Comments

Este último fim de semana participei da 1a Corrida do Jóquei. Além de estar voltando a correr lentamente sem a preocupação de fazer tempo, estou me recuperando de um resfriado. Então, era para ser assim mas não foi…

Na largada fui devagar, tentando não forçar o ritmo mas ao passar o 1o km já estava com metade de um pulmão para fora do corpo e bateu o desespero de chegar logo e acabar com aquilo. O que eu fiz? Ao invés de correr mais devagar, apertei mais passada. Não preciso dizer que ao final os meus pulmões estavam querendo derrubar meu cérebro e quase conseguiram no final da prova, tive que passar no posto médico. =/

Então, lição dada é lição aprendida. Nunca mais faço algo assim novamente. Na próxima vou levar um boné com uma plaquinha escrita: “Devagar, devagar…”

Obs. O ácido lático está fazendo hora extra nas minhas pernas…

Obs. 2: O percurso foi legal, organização também foi bem feita e apesar dos probleminhas, eu curti. ;)

Cedilha Com Teclado Americano

| Comments

Troquei a localização do idioma do meu Gnome para inglês e ao reiniciar a sessão o ç não funcionou mais. Aparentemente isso acontece porque o mapa americano (EUA) do teclado us_intl está com ć ao invés de ç.

Se usar Gnome (GTK) ou KDE (QT) é relativamente fácil resolver. Se tiver problema com outras bibliotecas gráficas terá que mudar o mapa do teclado no XOrg.

Pode simplesmente acrescentar as linhas abaixo em /etc/environment.

GTK_IM_MODULE=cedilla
QT_IM_MODULE=cedilla

Desligando O Beep No Linux

| Comments

Minha memória bugada precisa deste texto. :)

Uso muito linux em modo texto, seja num terminal gráfico ou numa sessão mesmo.

Geralmente eu reinstalo o Sistema Operacional do meu computador para testar alguns instaladores de distribuiçao linux, etc. Porém eu sempre esqueço de de desligar o maldito bipe que o terminal emite ao apertar a tecla TAB. Então fica o registro para minha memória.

Para resolver esse problema é necessário criar uma entrada para bloquear o carregamento do módulo pcspkr.

# echo "blacklist pcspkr" > /etc/modprobe.d/custom.conf

Ou se o bipe está incomodando agora e quer parar agora:

# rmmod pcspkr

Usando a última Versão Do Firefox No Debian

| Comments

Se você é usuário Debian, provavelmente usa o Iceweasel. Iceweasel é o Firefox sem a restrição de marca imposta pela Fundação Mozilla e backport dos patchs de segurança para a versão estável do Debian.

Como no momento novas versões de pacotes estão congeladas por causa do que a próxima versão estável do Debian está para ser lançada em breve, a versão corrente tanto no Sid como no Wheezy é a 10.0. Isso não chega ser um problemas para a maioria dos usuários mas para mim é porque no meu trabalho tenho que testar as últimas versões dos navegadores.

Se você precisa da versão mais nova do Firefox e quer instalar na forma “Debian Way” pode fazer facilmente.

Acrescente o respositório experimental no sources.list e atualize com teu gerenciador de pacotes favorito. No meu caso é o aptitude

lang=bash
1
2
echo "deb http://ftp.br.debian.org/debian/ experimental main non-free contrib" >> /etc/apt/sources.list 
aptitude update

Normalmente nenhum pacote da experimental é instalado por padrão, exceto quando ele é explicitamente declarado, então para o aptitude é como está abaixo.

lang=bash
1
aptitude -t experimental install iceweasel iceweasel-l10n-ptbr

Lembrando que no momento a versão na experimental é 20.0. Se precisar ver como instalar versões mais novas do Firefox, visite o do Time de Empacomento Mozilla.

DevOps: Por Onde Começar?

| Comments

O Guto publicou um excelente texto sobre a origem e concepcão do termo DevOps. Daqui alguns tempo, provavelmente, alguém inventará alguma certificação para DevOps ou formatará o conceito num esquema bem chato.

Enquanto isso (felizmente) ainda não acontece, como você bonitão pode torna-se um DevOps. Como muitos já disseram, não tem uma fórmula pronta mas é importante entender que DevOps é uma cultura e como tal não tenha pressa em se tornar um do dia para noite.

Antes de tudo, vamos falar um pouco de Sysadmin. Muitas das práticas de DevOps são fundamentadas em disciplinas de Sysadmins. Não que você precise se tornar um Sysadmin mas conhecer um pouco mais da área ajudará ter um rendimento melhor.

Sysadmin

Um bom Sysadmin deve conhecer (texto levemente modificado do original do coredump):

  1. Sistemas Operacionais e Organização de Computadores (não adianta tentar ser um sysadmin sem ter um amplo conhecimento de como o SO e Hardware funcionam).

  2. Rede (mesma coisa ali de cima, e aqui estamos falando daquelas chatices de TCP/IP, cabeçalhos, window size, mtu e tudo mais, não só roteamento).

  3. Programação (tem de saber algum shell script, e mais uma linguagem de verdade).

  4. Conceito das linguagens utilizadas no ambiente que vai se administrar (java, ruby, python, etc…)

  5. Banco de Dados em geral, NoSQL, SQL, etc. (como eles funcionam, transações, locking, particionamento, tuning).

  6. Conceito de virtualização.

  7. Inglês (isso é óbvio).

Diria que isso seria os fundamentos para um bom sysadmin.

Software Livre/Código Aberto e a Cultura DevOps

Muitas das tecnologias usadas no cotidiano de um DevOps é baseado em programas que são ou derivam de Software Livre/Código Aberto. Não existe nenhum impedimento de implantar a cultura DevOps num ambiente tradicional e de uso de tecnologias de Software Proprietário, é viável porém o caminho é um pouco mais longo.

Então, se conhecer um ambiente assim, comente logo mais abaixo. ;)

Infraestrutura Ágil

Hã? Infraestrutura Ágil? É como Desenvolvimento Ágil (Scrum, XP, etc.)? Em parte sim, DevOps depende de uma mudança cultural na área de infraestrutura Ela está habituada aos Tickets, Requisições de Mudança, Gerência de Problemas e outras processos já consolidados.

Uma Infraestrutura Ágil para torna-se realidade necessita de uma mudança cultural que em muitos casos demora para acontecer por mais diversas razões (tema para outro texto) e tem muitas formas de realizar. O maior desafio é como fazer a transição cultural sem que causar o caos.

Inicialmente, usar Kanban já bom início mas use o Kanban como substituto de um sistema de ticket ou incidente. Ele é bom quando usado para gerenciar partes de projetos ou gerência de problema.

DevOps

Num cenário perfeito, uma empresa tem em praticamente toda área de TI a cultura ágil no cotidiano. Mas é possível implantar a cultura DevOps mesmo que outras áreas da empresa tenham a cultura tradicional de TI. Algumas coisas tecnologias que fazem parte do cotidiano.

  1. Orquestração

Chef, Puppet, CfEngine, Juju, Comodit e tantos outros são soluções usadas para gerenciar infraestrutura, deploy, implementar uma arquitetura escalável, etc. Se não conhece nada na área, comece com Puppet ou Chef.

  1. Monitoração/Monitoramento

Um Sysadmin já paranóico com monitoramento, num cenário que está usando a ”nuvem” para hospedar as aplicações, monitorar é imprescindível mas lembre-se que estamos na era do Big Data portanto monitorar as aplicações também gera uma grande quantidade de dados. Saber os itens a serem monitorados bem como os gatilhos (thresholds) torna-se questão de sobrevivência.

  1. Time de robôs

Larry Wall, criador da linguagem Perl disse uma vez num livro que tinha preguiça de repetir as coisas e esse foi um dos principais motivos dele criar a linguagem. De certa forma isso se aplica também para um Sysadmin/DevOps pois é parte importante da automação da infraestrutura.

Ah, claro! Cuide bem de seus bots. ;)

  1. StandUp Meet/Comunicação

No ambiente tradicional-corporativo, é muito difícil a área de infraestrutura reunir-se para conversar sobre tarefas, projetos, problemas, etc. Principalmente nas empresas com grande contigente na área de TI.

Fazer reuniões rápidas em que as pessoas troque informações relavantes sobre o que estão fazendo e que prentende fazer é tão importante como os tickets, chamdos ou ordem de serviços. Elas são importantes para que a equipe tenha sinergia, empatia e trabalhe com equipe e não um punhado de indivíduos com a mesma função

  1. Flexibilizar

Tradicionalmente nas empresas tem as conhecidas janelas de deploy das aplicações ou configurações. Nos casos mais tradicionais as janelas de deploy estão comprometidas por meses.

Na Cultura Ágil e por conseguinte na Cultura DevOps esqueça disso, provavelmente terá semanas que terá um dois deploys por dia e em casos extremos terá centenas de deploy por dia. Isso acontece, principalmente, em ambientes web e reflete que as aplicações estão eternamente em Beta. Não que seja ruim, pelo contrário, se as aplicações atigirem a maturidade é porque o negócio da empresa não esteja tão bom como pensado ou porque fechou as portas.

Obs. Este texto esta em Beta, volte mais tarde.

Ajudando a Wikipedia

| Comments

Eu sou um usuário da Wikipedia e provavelmente você que está lendo também este texto é, já foi ou será também. ;)

Tem alguns dias que tem aparece um pequeno texto no topo da página deles solicitando uma contribuição. Eu doei algumas dilmas e você também pode, eles aceitam a doação por Paypal ou cartão de crédito.

A Wikipedia é daqueles projetos fantásticos que merecem um pouco de atenção. Ela já não é mais aquela novidade de alguns atrás mas ela continua firme com muitos voluntários escrevendo artigos, revisando ou apenas lendo se imenso conteúdo. Ela influenciou em muito o que nos últimos anos a tal da Sociedade da Informação, também poderia enumerar vários efeitos que a Wikipedia produziu mas o, talvez, mais marcante foi influenciar as empresas tenha uma base compartilhada de conhecimento baseado em Wiki. Provavelmente isso aconteceria com ou sem a influência dela mas que ela ajudou acelerar, sem dúvida que sim! :D

Ah! Se você irá receber um email de resposta tão bacana quanto este que recebi.

Thank you for donating to the Wikimedia Foundation. You are wonderful!

It's easy to ignore our fundraising banners, and I'm really glad you didn't. This is how Wikipedia pays its bills --- people like you giving us money, so we can keep the site freely available for everyone around the world.

People tell me they donate to Wikipedia because they find it useful, and they trust it because even though it's not perfect, they know it's written for them. Wikipedia isn't meant to advance somebody's PR agenda or push a particular ideology, or to persuade you to believe something that's not true. We aim to tell the truth, and we can do that because of you. The fact that you fund the site keeps us independent and able to deliver what you need and want from Wikipedia. Exactly as it should be.

You should know: your donation isn't just covering your own costs. The average donor is paying for his or her own use of Wikipedia, plus the costs of hundreds of other people. Your donation keeps Wikipedia available for an ambitious kid in Bangalore who's teaching herself computer programming. A middle-aged homemaker in Vienna who's just been diagnosed with Parkinson's disease. A novelist researching 1850s Britain. A 10-year-old in San Salvador who's just discovered Carl Sagan.

On behalf of those people, and the half-billion other readers of Wikipedia and its sister sites and projects, I thank you for joining us in our effort to make the sum of all human knowledge available for everyone. Your donation makes the world a better place. Thank you.

Most people don't know Wikipedia's run by a non-profit. Please consider sharing this e-mail with a few of your friends to encourage them to donate too. And if you're interested, you should try adding some new information to Wikipedia. If you see a typo or other small mistake, please fix it, and if you find something missing, please add it. There are resources that can help you get started. Don't worry about making a mistake: that's normal when people first start editing and if it happens, other Wikipedians will be happy to fix it for you.

I appreciate your trust in us, and I promise you we'll use your money well.

Thanks,

Obs.: Se você se interessou em saber um pouco mais, recomendo ler A Cauda Longa e/ou Free - O futuro dos preços

Debian E O Pacote Skype Multiarch

| Comments

Estive que reinstalar meu computador e por causa do trabalho tive que instalar o Skype. Já tem muito tempo que o computador de uso cotidiano roda um Sistema Operacional 64 bits(AMD64/x86-64), e dessa vez não foi diferente. Uma única coisa que mudou um pouquinho da última instalada é o pacote multi arquitetura do Skype.

Aliás, isso é uma das grandes novidades (Leia a Nota de Lançamento) do Debian para a próxima versão estável do Debian que deve sair nos próximos dias (espero!).

Bom, não é tão complicada porque uma versão instalada do Debian possui suporte a multi arquitetura ([multiarch][]) mas também não é tão simples como instalar um pacote.

Se for tentar instalar o pacote do Skype diretamente com o dpkg, provavelmente terá o retorno do comando parecido com o que está logo abaixo.

1
2
3
4
5
root@klatoon:~# dpkg -i /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb
dpkg: error processing /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb (--install):
 package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
 /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb

Isso acontece porque o Sistema Operacional ainda não está preparado para suportar mais de uma arquitetura, para acrescentar basta adicionar usando o dpkg.

1
dpkg --add-architecture i386

E você provavelmente sabia apenas que o dpkg instala e desinstala pacote, hein? Felizmente ele faz muito mais coisa. ;)

Adicionado mais uma arquitetura, agora é necessário modificar um pouquinho o repositório de pacotes. Normalmente o sources.list é parecido como este abaixo:

1
deb [arch=amd64,i386] http://ftp.br.debian.org/debian/ sid main non-free contrib

Para ter acesso ao repositório da arquitetura adicionada é necessário deixar explícito no sources.list.

1
2
editor /etc/apt/source.list
deb [arch=amd64,i386] http://ftp.br.debian.org/debian/ sid main non-free contrib

Acrescentado o novo repositório, é necessário atualizar o aptitude.

1
aptitude update

Antes de empolgar-nos para ter o Skype já funcionando é necessário mais alguns passo ou senão pode acontecer um erro como o abaixo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
dpkg -i /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb
Selecting previously unselected package skype.
(Reading database ... 176029 files and directories currently installed.)
Unpacking skype (from .../skype-debian_4.1.0.20-1_i386.deb) ...
dpkg: dependency problems prevent configuration of skype:
 skype depends on libasound2 (>= 1.0.16); however:
  Package libasound2 is not installed.
 skype depends on libc6 (>= 2.3.6-6~); however:
  Package libc6 is not installed.
 skype depends on libc6 (>= 2.7); however:
  Package libc6 is not installed.
 skype depends on libgcc1 (>= 1:4.1.1); however:
  Package libgcc1 is not installed.
 skype depends on libqt4-dbus (>= 4:4.5.3); however:
  Package libqt4-dbus is not installed.
 skype depends on libqt4-network (>= 4:4.8.0); however:
  Package libqt4-network is not installed.
 skype depends on libqt4-xml (>= 4:4.5.3); however:
  Package libqt4-xml is not installed.
 skype depends on libqtcore4 (>= 4:4.7.0~beta1); however:
  Package libqtcore4 is not installed.
 skype depends on libqtgui4 (>= 4:4.8.0); however:
  Package libqtgui4 is not installed.
 skype depends on libqtwebkit4 (>= 2.1.0~2011week13); however:
  Package libqtwebkit4 is not installed.
 skype depends on libstdc++6 (>= 4.6); however:
  Package libstd
dpkg: error processing skype (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Errors were encountered while processing:
 skype

Veja que os erros acima são de dependências mas nem pense em usar o aptitude para resolver as dependências para instalar o Skype porque provavelmente irá ter um probleminha ao usar fazê-lo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
root@klatoon:~# aptitude -f install
The following partially installed packages will be configured:
  skype:i386{b}
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
The following packages have unmet dependencies:
 skype:i386 : Depends: libasound2:i386 (>= 1.0.16) but it is not going to be installed.
              Depends: libc6:i386 (>= 2.3.6-6~) but it is not going to be installed.
              Depends: libc6:i386 (>= 2.7) but it is not going to be installed.
              Depends: libgcc1:i386 (>= 1:4.1.1) but it is not going to be installed.
              Depends: libqt4-dbus:i386 (>= 4:4.5.3) but it is not going to be installed.
              Depends: libqt4-network:i386 (>= 4:4.8.0) but it is not going to be installed.
              Depends: libqt4-xml:i386 (>= 4:4.5.3) but it is not going to be installed.
              Depends: libqtcore4:i386 (>= 4:4.7.0~beta1) but it is not going to be installed.
              Depends: libqtgui4:i386 (>= 4:4.8.0) but it is not going to be installed.
              Depends: libqtwebkit4:i386 (>= 2.1.0~2011week13) but it is not going to be installed.
              Depends: libstdc++6:i386 (>= 4.6) but it is not going to be installed.
              Depends: libx11-6:i386 but it is not going to be installed.
              Depends: libxext6:i386 but it is not going to be installed.
              Depends: libxss1:i386 but it is not going to be installed.
              Depends: libxv1:i386 but it is not going to be installed.
              Depends: libssl1.0.0:i386 but it is not going to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     skype:i386



Accept this solution? [Y/n/q/?]

A alternativa para esta situação é instalar manualmente as dependências.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
aptitude install gcc-4.7-base:i386 libasound2:i386 libaudio2:i386 \ 
  libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386  \ 
  libc6:i386 libc6-i686:i386  libcomerr2:i386 libcups2:i386 \ 
  libdbus-1-3:i386 libexpat1:i386  libffi5:i386 libfontconfig1:i386  \ 
  libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386  \ 
  libgnutls26:i386 libgpg-error0:i386 libgssapi-krb5-2:i386 \ 
  libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386  \ 
  libjbig0:i386 libjpeg8:i386 libk5crypto3:i386 libkeyutils1:i386 \ 
  libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 liblzma5:i386 \ 
  libmng1:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 \ 
  libpng12-0:i386 libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 \ 
  libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 \ 
  libselinux1:i386 libsm6:i386 libsqlite3-0:i386 libstdc++6:i386 \ 
  libtasn1-3:i386 libtiff4:i386 libuuid1:i386 libx11-6:i386 libxau6:i386 \ 
  libxcb1:i386 libxdmcp6:i386 libxext6:i386  libxml2:i386 libxrender1:i386 \ 
  libxt6:i386  zlib1g:i386 libxss1:i386 libxv1:i386 libssl1.0.0:i386 \
  libasound2:plugins

Se por alguma razão o pacote do Skype foi desinstalado na instalação das dependências, só executar novamente.

1
root@klatoon:~# dpkg -i /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb