O cozinheiro de bits

Print

Gladiadores da liberdade

Written by Helio Loureiro on .

Não é um fenômeno recente.  Faz alguns anos que esse sintoma tem aparecido.  Mas não é no mundo todo.  Até o momento só vi isso vindo do Brasil, o mesmo país que pede pela volta dos militares ao poder com a chamada "intervenção militar no Brasil".  Temas distintos, modus operandi similar.

O princípio é "se não for como eu quero, então está errado".  Isso pode ser usado em qualquer âmbito: religião, futebol e até mesmo em... software livre!

Essa discussão em software livre já vem caminhando nessa direção faz algum tempo.  E sempre com extremismo.  Os pontos são sempre "se não for livre, então é outra coisa".  A moda do momento é chamar como "OSIsta", uma alusão pejorativa de quem usa ou endossa a iniciativa do "open source".  Notem novamente o "modus operandi": é preciso ter um nome, um label, um rótulo, algo pra classificar, desmerecer, pra fazer um dualismo, uma contra-posição.

Essa tendência repete-se nitidamente na política, como se verificou nas últimas eleições presidenciais.  Ao invés de um debate democrático, partiu-se pra um enfrentamento de "nós x eles".  No caso da política, de ambos os lados, e todos recheados de mentiras e números mágicos pra comprovar alguma coisa.  O ponto era sempre irrelevante, o importante era ter uma "torcida" contra e outra a favor.

Em software livre estamos na fase das "torcidas".  É um tal de "minha distro é melhor que a sua" e de "pra resolver esse problema, instale a distro tal".  Perdemos o saber, o conhecimento, o prazer técnico.  Voltamos à idade da pedra digital.  Batalhas épicas são travadas por causa de interfaces gráficas.  Ninguém mais liga se é possível instalar essa mesma interface em outra distro ou não.  Ajudar?  Escrever software?  Não, muito obrigado.

Comunidade de software livre

O que é uma comunidade?  A wikipedia, que é uma comunidade, nos ajuda a responder do ponto de vista sociológico:

Uma comunidade é um conjunto de pessoas que se organizam sob o mesmo conjunto de normas, geralmente vivem no mesmo local, sob o mesmo governo ou compartilham do mesmo legado cultural e histórico. Os estudantes que vivem no mesmo dormitório formam uma comunidade, assim como as pessoas que vivem no mesmo bairro, aldeia ou cidade. Fichter, 1967 em suas Definições para uso didático ressalta que uma palavra que é rodeada de significados múltiplos, requer uma cuidadosa definição técnica, ao que propõe: comunidade é um grupo territorial de indivíduos com relações recíprocas, que servem de meios comuns para lograr fins comuns.

https://pt.wikipedia.org/wiki/Comunidade

São indivíduos reunidos por algo comum em buscar de reciprocidade pra chegar nos mesmos objetivos.  Isso significa que pra fazer parte de uma comunidade basta... participar!

E numa comunidade de software livre?  O que se espera de alguém que participe de software livre?  Pode parecer loucura minha, mas se espera que a pessoa faça... software!  E livre! Livre!  Que coisa doida, não é?

Claro que nem todos têm essa capacidade de escrever software.  Mas sempre podem colaborar como membros de um grupo, ou até vários.  Podem ajudar com traduções, escrevendo novos documentos de uso, compartilhando experiências em blogs, participando de grupos, fazendo eventos, palestrando, escrevendo relatórios de bugs e... eventualmente... escrevendo software!

Numa comunidade esse é o caminho do aprendizado, vai se crescendo conforme se participa e adquire mais maturidade.  Uma comunidade de software, seja livre ou não, não vive por muito tempo se ninguém se dispuser a escrever o software.  No caso de uma comunidade de software livre, temos de fazer sempre software, e livre.

E como define liberdade?  Como um software é livre?

Nisso o Richard Stallman já nos ajudou mostrando que pra um software ser livre, ele precisa atender as 4 liberdades.  Eu já tinha descrito no post "freesoftware e negócios", mas o faço novamente aqui:

  • A liberdade de executar o programa, para qualquer propósito (liberdade 0).
  • A liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades (liberdade 1). Para tanto, acesso ao código-fonte é um pré-requisito.
  • A liberdade de redistribuir cópias de modo que você possa ajudar ao próximo (liberdade 2).
  • A liberdade de distribuir cópias de suas versões modificadas a outros (liberdade 3). Desta forma, você pode dar a toda comunidade a chance de beneficiar de suas mudanças. Para tanto, acesso ao código-fonte é um pré-requisito.

 Então pra fazer parte de uma comunidade de software livre, basta criar softwares partindo desse princípio básico.  E a licença?  Sempre depende de quem criou.  Alguns gostam da GPL (sendo que GPLv2 e GPLv3 são muito diferentes), já outros preferem BSD, ou Artistic License.  Eu uso uma no estilo da Artistic License, a BWL.

Veja que software livre não é algo que dá poder ao programador ou desenvolvedor, mas ao usuário, que pode usar o software como quiser e quando quiser.  Inclusive pra vender.  O desenvolvedor permite que qualquer um possa usar e melhorar seu software.

Foi esse tipo de liberdade que me atraiu pro software livre.  Não foi pra libertar um país de nenhum ditador, nem pra subverter a economia, muito menos pra derrotar o capitalismo.  Eu gostei da visão pragmática do software livre, onde todos têm acesso ao código fonte e podem melhorar o software.  Isso pra mim foi e ainda é liberdade.

Mas aparentemente não pra galerinha que gosta de rotular.  Software livre extrapolou os limites do software pra se tornar uma luta de classes.  Como ideologias econômicas temos o capitalismo, o socialismo, e agora o softwareliberalismo.  Não, não existe, mas para alguns, aparemente é o que é.

E como se define um líder numa comunidade?  Em geral é pela meritocracia.  Meritocracia de fazer polêmica?  Não, meu caro.  Deveria ser por ter passado por todos os estágios de uma comunidade de software livre.  Mas quantos que gritam pelas ruas pela "liberdade do software" realmente se encaixam nesse perfil?

 

Ubuntu, a bola da vez

Muitos desses "lutadores da liberdade", ou melhor, "gladiadores da liberdade" escolheram o Ubuntu como alvo.  Qual o motivo?  Duas respostas simples:

1) Ubuntu lidera o mercado de desktops Linux

2) Ubuntu não é uma distribuição criada por uma comunidade, mas por uma empresa, a Canonical

Então qual é o mais fácil de atacar?  Quem tem o menor número de usuários ou o maior?  Claro que o maior.  Por isso que Ubuntu é sempre escolhido como alvo preferido.  E enquanto mantiver essa liderança, continuará sendo.  Pra isso não importa se trouxeram mais usuários pra Linux, se mantém um portal pra correções de bugs ou que façam doações de mídia de instalação gratuitas.  É corporativo, é do mal.  O que antes era ocupado pela Microsoft como visão de antagonismo, agora é a Canonical com seu Ubuntu.  É sempre preciso ter um inimigo pra lutar contra.

Os problemas citados?  Vou apenas comentar um: Ubuntu "monitora seus usuários".  A Canonical, mais uma vez como empresa, decidiu monetizar o Ubuntu utilizando as "lentes" de seu ambiente desktop pra fazer buscas na Amazon e assim conseguir algum financiamento com essas buscas.  O mesmíssimo mecanismo usado por... FIREFOX!  Sim, o browser Firefox.  Quando se faz a pesquisa na caixa de pesquisas do browser, ele envia ou pra Google ou pra Yahoo, pra monetizar o projeto e assim poder financiar seu desenvolvimento.

Mozilla taps in-Firefox ads as it searches for more revenue

Mas o Firefox, ou melhor, a Mozilla não é líder.  Nem em browsers, nem em telefones (que recém lançaram e não fez muito diferença pros usuários).  Então não vale a pena receber o ódio dos gladiadores da liberdade.  É preciso ter um significado, mostrar alguém com monstro, como contradição.  É preciso ter um diabo pra existir um deus.

Todos os outros comentários sobre Ubuntu, e que podiam ser pra qualquer outro, caem no caso de factóides.  São apenas meia-verdades contadas pra criar um fato, um caso.  Apenas pra gerar polêmica e buscar atenção.  Não vou comentar mais nenhum, mas da próxima vez que ouvir sobre algo assim, pergunte a si mesmo qual é a licença usada nesse software/produto da Canonical, se o código fonte está disponível, se é usado pela Canonical, pelo kernel (Linux), se é usado por outras distribuições profissionais como RedHat e Suse, e se qualquer usuário poderia optar por remover ou não pelo gerenciador de pacotes.  Se está entre algum desses, factóide na certa.

Devemos lutar pelo Ubuntu?

Acho que não.  Ubuntu não precisa disso ou de qualquer um de nós.  É gerido por uma empresa, e não por uma comunidade.  Como tal, toma suas decisões como melhor convier pra seu negócio.

E se em algum momento o Ubuntu ou a Canonical se sentirem lesados por essas atitudes, tenham certeza que seus advogados agirão.

Eu gosto do Ubuntu pela facilidade de entrada ao mundo de software livre que proporciona às pessoas.  Não é feito pra mim ou pra qualquer um que já use Linux, mas pra quem nunca usou ou experimentou.  Esse tipo de usuários (veja que não me refiro como comunidade, mas usuário) não tem interesse ou conhecimento sobre liberdade.  Não nesse primeiro contato, que é muito importante.

Eu sou fã irrestrito do Debian, mas simplesmente desisti de tentar esse primeiro contato através dele.  Por que?  Debian não é bom?  É bom pra mim.  É ótimo.  Mas toda vez que tentei fazer uma instalação pra amigo, pra convencer a usar, virei um tipo de suporte técnico.  Aliás personal suporte técnico.  E problemas não faltaram.  De upgrade que parou de funcionar ambiente gráfico a modem que não conectava mais na Internet.

Atualmente recomendo usar Ubuntu sem medo.  Se gostar e quiser aprender mais, ensino sobre Debian.  Se achar horroroso e difícil, já abandona ali mesmo.  Ganhei tempo ao invés de perder.

Esse é o discurso que todos deveriam adotar em software livre: inclusão.  Mas ao contrário disso decidimos por ir direto pela segregação.

Incrivelmente alguns realmente acham que esse caminho dará certo.  Eu prefiro concordar com a imagem que o Patola postou num dos grupos que discutiam esse tipo de assunto.  Deixa bem claro quem realmente ganha com a ajuda dos gladiadores da liberdade.

 

Print

Linus lança versão mimimi do kernel Linux

Written by Helio Loureiro on .

Cansado de tanta repercursão negativa e tentando ter seu kernel em acordo com as diretivas da GNU, Linus Torvalds está lançando a versão do kernel que passará a se chamar "mimimi".  Segundo o próprio:

- O que antes se chamava Linux, de agora em diante será chamado simplesmente de mimimi.  Não virá mais com nenhum blob binário ou suporte a hardware que não seja livre, ou melhor, livre de mimimi.  Aliás também não terá gereciamento de memória, já que ninguém lembra mesmo de nada e quando o assunto é "fazer software", o sujeito finge que não é com ele.  Isso atenderá as demandas de liberdade de todo mundo, que poderá chamar de sistemas GNU/mimimi.

Apesar de não ter sido claro e específico, o novo kernel parece ter sido feito sob medida pro Brasil, pois leva a tag "br".

A versão inicial é 6.6.6-br mas não se sabe se o GNU/mimimi terá mais versões ou vai ficar nesse mesmo release indefinidamente. Alguns já dizem que GNU/mimimi não precisa de mais versões, pois o mimimi é infinito.

Nota: esse é um post de 1º de abril.  E o choro, como sempre, é livre.

Print

Debian Jessie está demorando? Saiba como ajudar.

Written by Helio Loureiro on .

Não é de hoje que os releases do Debian não saem nas datas esperadas.  O Debian evita ter uma data certa, como faz o Ubuntu, por focar na qualidade: enquanto não estiver com todos os bugs corrigidos, não há o lançamento da versão.

Mas em tempos de 140 caractéres, é difícil conter a ansiedade em esperar.  Muitos já estão migrando pra nova versão que virá, a Jessie, mesmo essa estando em estágio de "desenvolvimento" ainda.

Mas você pode ajudar a resolver os problemas.  Foi lançado um mail pra informar o estado atual do desenvolvimento.  São 55 bugs ainda abertos que precisam de correção.

Status of Jessie release

Se quiser contribuir, basta ajudar a resolver esses bugs, e enviar suas correções/comentários pro time (ou pessoa) responsável.

O lançamento da próxima versão do Debian pode estar em suas mãos.

Print

Vírus em Linux

Written by Helio Loureiro on .

Vírus em LinuxTem sido bastante difícil pra mim manter meu site atualizado, e não estou conseguindo manter meu ritmo de ao menos 1 post por semana.  Sinal de trabalho duro em outras coisas.

Estava pra comentar sobre esse assunto espinhoso, dos vírus pra Linux, faz um certo tempo.  Ao menos desde o início do ano.  Mas... enfim consegui um momento livre pra eu poder fazer isso.

A pergunta que surge de tempos em tempos é clara: EXISTEM VÍRUS PRA LINUX?

As respostas variam.  Defensores de Windows dizem que com toda certeza existem.  Mostram receitas esotéricas sobre como isso é possível e sempre voltam com a famosa frase "nenhum sistema é infalível", ou algo parecido com isso.

Os defensores de Linux, eu me incluo nesse grupo, dizem que é impossível.  Linux não é Windows.  Não foi feito sobre a mesma plataforma furada da Microsoft, que é cheia de buracos, e até provavelmente com alguns toques da NSA pra ajudar.  Se o usuário do Linux tem algum problema, o motivo é que não sabe atualizar sua distro.

Mas isso não explica a quantidade de problemas que têm aparecido sobre malwares em plataformas Linux, inclusive Android.

 

O problema é o windows.  Não que o windows tenha criado uma geração de vírus, mas o windows cunhou fortemente o conceito errado de que tudo é vírus.  Todo problema, malware, tudo é vírus.  E também foi graças ao windows que o conceito "se não funcionar, reinstala, se está lento, reinstala, e se quer mudar o wm, reinstala" se fortaleceu.  Isso se faz bem claro nos usuários que, pra trocar o Unity no Ubuntu, reinstalam o sistema inteiro.  Em geral com alguma refisefuqui.

Vírus é um pedaço de código que altera binários ou arquivos, e que se executa cada vez que esse programa é chamado ou aberto, no caso de arquivos.

Claramente isso não é possível no Linux por um simples motivo: quem executa o programa é o usuário e quem é o "dono" do binário é em geral o root.

Mas os problemas existem.  E muitos.  Existem os usuários que teimam em trabalhar como root no sistema, pra "facilitar as coisas".  Em geral os mesmos que reinstalam os sistema inteiro pra apenas trocar o wm (window manager).  Existem também os "programas de terceiros", como o plugin flashplayer, que não recebem as devidas atualizações de segurança.  Felizmente esses "programas de terceiros" não causam danos ao sistema como um todo, mas infelizmente podem fazer estrago o suficiente com o usuário, como permitir que suas credenciais de banco sejam roubadas.  Basta ver os recentes problemas do Java da Oracle.  Recentes?  Melhor dizer "contínuos".

E dá pra viver sem esses "aplicativos de terceiros"?  Até dá, mas não é muito fácil.  Alternativas existem, como pepperflashplugin ao invés do flash da Adobe, não usar acrobat reader ou seu plugin, mas os modos nativos do Firefox e do Chrome/Chromium pra renderizar pdf, etc.  O problema não são os "aplicativos de terceiros", mas se esses terceiros tratam os usuários de Linux com respeito, atualizando a cada falha encontrada.  Um bom exemplo dessa prática é o "steam", de jogos.

O problema então é o usuário, sempre?

Não.  Novamente o problema vem do windows.  Ou melhor, da idéia de vírus que veio com o uso do windows.  Quando discutimos o conceito de vírus, sempre nos vem a imagem de um desktop.  Daí os argumentos de problemas de segurança no Linux são apenas falta de atualização.  Isso não é verdade.

O outro lado do problema apareceu bem recentemente durante os ataques de DDoS do grupo LizzardSquad contra as redes de jogos PSN e Xbox Live.

Lizard Squad used hacked routers to take down Xbox Live and PlayStation Network

Foram usados roteadores caseiros, desses que usamos pra ter acesso wi-fi as nossas redes dentro de casa.  O artigo não diz, mas acredito que câmeras IPs também foram usadas.  

Esse tipo de problema não é novidade.  Foi discutido durante um dos YSTS, acho que o de 2013 que participei.  fabricantes, em geral na China, criam seus produtos pra rodar Linux, mas não dão nenhuma manutenção.  São sistemas customizados a ponto de ser impossível de rodar uma alternativa como dd-wrt/open-wrt. Esses sistemas rodam kernels Linux muito, mas muito velhos.  Daí que as explorações de vulnerabilidades, não vírus, ficam fáceis.  Nesse ponto temos de dar o braço a torcer pros usuários de windows.  Defender Linux nessas condições é quase como apontar o dedo pras máquinas windows comprometidas que rodam a versão XP.  O agravante é que o usuário se torna refém do fabricante, pois diferente dos computadores, esses sistemas embutidos não permitem que qualquer um atualize como quer, quando quiser, com a distro que mais gostar.

Então da próxima vez que ler sobre "vírus pra Linux", antes de cair na gargalhada, pense nesses roteadores e câmeras IPs.  Pense se esses sistemas rodando um Linux 2.4.20 não pode ter sua segurança facilmente comprometida.  Depois lembre que Windows, até hoje, pode ser comprometido acessando uma página web.  Foi corrigido?  Espere algumas semanas que sempre aparece de novo.

Ah... o windows...

Print

Uma análise do meu 2014

Written by Helio Loureiro on .

Em geral as análises do ano que se vai acontece na semana logo após o Natal, lá pelo dia 27 ou 28 de dezembro.  Mas como minha árvore de Natal continua imponente na sala, mostrando que o Natal só termina quando acaba, o que deve ocorrer lá pra março pelos meus cálculos, acho que ainda estou em tempo de publicar como foi o ano do site durante 2014.

Como todo ano, tive uns altos e baixos no tráfego.  Não foi um outage, mas eu que mudei o template do site e esqueci de carregar e ativar o módulo de estatísticas, que faço com o j4age que já publiquei sobre no post j4age, a evolução do joomlastats.  Mas é possível ver que a média de acessos é por volta de 100 views/dia, o que está bom demais pra um site que não recorre à publicidade paga pra aparecer mais.

Sistemas operacionais

Windows continua firme e forte na primeira posição, mesmo eu não escrevendo absolutamente nada sobre ele.  Mas apesar disso, acredito que são pessoas conscientes de seus erros e que pensam em mudar logo.  Assim espero.

Surpresa foi o MacOSX figurar na segunda posição.  Esse é um novo fenômeno.

E Linux surgindo na contagem com 10% dos acessos, mais o Ubuntu, com 7,5%.  Com isso já são quase 20% dos acessos a partir de Linux, ou melhor GNU/Linux, pois existem mais os acessos a partir de Android, que são Linux mas não são GNU.

E Nokia.  Com mais acesso que FreeBSDs.  Nokia.  Essa foi uma supresa.

Navegadores

Agora a estatística de acesso de navegadores ficou melhor, colocando todos os Firefox em uma só categoria.  A tendência que já tinha visto em 2013, do Chrome despontando, se mostra clara.  Internet Explorer despencou pra 3º posição, que ainda acho muito.

Páginas mais acessadas

Sem muitas surpresas.  Uma vez que muitos links direcionam pro site, os mais acessados são sempre links da página principal.  Dá pra ver que existe uma certa procura por assuntos técnicos, principalmente python, e algum interesse por assuntos com mais opinião que informação.  E o bom e velho #XGH.

Uma coisa que ainda domina bastante os tráfegos é informação sobre hardware antigo, mais precisamente o post que fiz sobre o uso de FreeBSD num compaq que eu tinha.  Artigo de 2006 ou 2007.  E continua tendo acessos.

Referências de links

Notadamente o tráfego pro meu site vem de pesquisas diretas do Google.  Então o que seria de mim sem o Google?  Não posso reclamar.

Planos pra 2015

Esse é o ano que já começo numa vida nova, morando fora do Brasil. Tenho tido muito mais contato com a área de desenvolvimento e Linux que qualquer outro momento de minha vida.  E espero ter tempo pra escrever por aqui.  Mas... ao mesmo tempo que tecnicamente estou mais próximo do que gosto, também tenho mais desafios.  Tenho cuidado de palestras internas e desenvolvimento de Linux como desktop na empresa.  Infelizmente coisa que não tem como eu divulgar muito já que é inerente ao trabalho, mas que posso o conhecimento usar pra escrever por aqui.

E agora estou me aventurando bastante com raspberrypi.  Logo devo incluir alguns scripts e dicas de uso do mesmo.  Esse deve ser o ano de 2015, que pelas estatísticas de acesso não deve ser ainda o ano do Linux.  Ainda.

Print

Filtrando em SQL pelo tamanho da contagem

Written by Helio Loureiro on .

A Priscila (@MayogaX) foi uma das pessoas que reclamou que eu tinha uma seção aqui sobre bancos de dados, mas nada escrito.  Acho que finalmente chegou o momento de ter alguma coisa ;-)

Mantenho o maravilhoso e ultra moderno encurtador eri.cx, que agora passou a sofrer ataques constantes.  Chato?  É, mas ataque na Internet já virou lugar comum.  Então temos de estar preparados.  Sempre.  O foco só mudou, pois antes esse tipo de ataque vinha por mail, com os SPAMs.

Entre os muitos scripts que tenho, tem um que verifica por alguns padrões de palavras como "cialis", "tramadol", "xanax" e "taladafil".  Não tenho idéia do que sejam.  Aliás o "xanax" dá uma certa idéia.

O que me faz pensar que esses links não são legítimos?  Perfil de tráfego.  São links que o número de cliques aumenta muito rápido.  Com isso eu tenho uns scripts que fazem algumas verificações, inclusive com palavras chaves como essas.  Se o link entra nesse perfil, eu removo pra uma tabela chamada "quarantine", salvando exatamente o formato de entrada.  Em seguida eu troco pro meu próprio site.  É uma propaganda subversiva, mas é mais legítimo que permitir que as pessoas caiam nesse truques.

Hoje eu resolvi dar uma olhada nos ataques, aliás nos logs dos ataques, e procurar um perfil.  Então eu precisava pegar os IPs e procurar um padrão.  Basicamente pegar via SQL os IPs, e fazer um count() na quantidade de vezes que apareciam e apenas mostrar aqueles que um padrão acima do normal.

O resultado foi esse aqui:

mysql> select ip, count(ip) as ip_count from quarantine group by ip having count(ip) > 10 order by count(ip) desc;
+---------------+----------+
| ip            | ip_count |
+---------------+----------+
| 173.44.37.250 |      168 |
| 96.47.224.50  |      139 |
| 173.44.37.226 |      136 |
| 173.44.37.242 |      121 |
| 96.47.224.42  |      118 |
| 96.47.225.82  |      117 |
| 173.44.37.234 |      115 |
| 96.47.225.74  |      112 |
| 96.47.225.66  |      110 |
| 96.47.224.58  |      100 |
| 213.5.66.88   |       89 |
| 96.47.225.162 |       71 |
| 96.47.225.170 |       69 |
| 96.47.225.186 |       69 |
| 96.47.225.178 |       67 |
+---------------+----------+
15 rows in set (0.01 sec)

Com isso foi fácil ver um padrão claro de ataque de apenas alguns ranges IPs.  Bastou uma pequena adição ao iptables pra acabar com a farra.

Print

Swapless Linux

Written by Helio Loureiro on .

Começando 2015, todos se lembram de como foi 2014.  Então resolvi escrever com um artigo sobre memória :)

Durante umas das discussões no grupo SOSLinux, alguém postou que já não usava Linux com swap fazia um tempo.  Nos meus velhos conceitos Unix adquiridos no século passado isso era algo inconcebível.  Uma heresia.  Um motivo pra receber um belo dum RTFM.

Esse é o problema de ter "aquela mesma velha opinião formada sobre tudo", como dizia Raul Seixas.  As coisas mudam.  Os sistemas evoluem.  Aquela recomendação de sempre se ter swap, e com fórmulas mágicas sobre seu tamanho, são coisas do passado, de uma era em que Linux era pra servidores e desktops.  Agora Linux está em todo lugar.  Na minha TV, no meu telefone, no meu tablet, e vai saber mais onde.  Talvez já esteja até no meu café e eu ainda não saiba.

Mas o fato é que naquela época a idéia era que as máquinas seriam cada vez maiores, mais potentes, mais gigantes, mais mais, muito mais.  Na verdade até são.  Mas aconteceu um fato interessante: o cloud.  Esse conceito permitiu uma forma de computação mais distribuída, com vários pequenos computadores ao invés de somente um maior.  E esse conceito foi se espalhando.  Se pensarmos hoje em dia nos celulares, eles são uma extensão computacional de algo que roda num datacenter.  Temos uma parte do aplicativo rodando localmente, e outra parte na nuvem.

Nesse novo paradigma, não é preciso tanto swap quanto antes.  Meu laptop tem 8 GB de RAM (tinha 12 GB com um pente extra de 4 GB que comprei no Dealextreme, mas o danado teima em dar problema de acesso e travar), mais que suficiente pra muita coisa.

Então resolvi experimentar.

Desabilitei o swap (swapoff /dev/mapper/vg-swap) e comentar a linha que o habilitava durante o boot no /etc/fstab.  E funcionou.  Mas bastou abrir chrome, firefox, thunderbird e eclipse pra coisa ficar feia (claro que a culpa é do java).

root@elx3030vlm-78:vm# head -16 /proc/meminfo 
MemTotal:        7926776 kB
MemFree:          218640 kB
MemAvailable:     889676 kB
Buffers:           57568 kB
Cached:           750036 kB
SwapCached:            0 kB
Active:          6672176 kB
Inactive:         404504 kB
Active(anon):    6282356 kB
Inactive(anon):    55548 kB
Active(file):     389820 kB
Inactive(file):   348956 kB
Unevictable:       65852 kB
Mlocked:           65852 kB
SwapTotal:             0 kB
SwapFree:              0 kB

Quando chega próximo do limite de memória, eu simplesmente tenho de aguardar o kernel decidir matar alguma coisa pra eu conseguir mandar um comando.  Até fiz um vídeo pra mostrar a situação.


http://www.youtube.com/v/ga8lG2xE7wc

Nessas ocasiões a carga do sistema vai às alturas, provavelmente por troca de contexto de processos no kernel, tentando achar memória onde não tem.

Quando isso acontece, uma mudança do ambiente gráfico pro console e um reinicio do mesmo resolve.  Mas é chato.

Esses são os load averages que consegui enquanto gerava o vídeo acima:

 12:51:51 up 21:12,  6 users,  load average: 36.61, 59.21, 75.31
 13:01:24 up 21:21,  6 users,  load average: 57.21, 51.78, 61.71
 13:29:59 up 21:50,  6 users,  load average: 110.99, 122.08, 107.70

Então melhor com swap?  Não é tanto assim.  O sistema evoluiu, mas o problema de gerenciamento de memória é coisa do Linux.  Com swap esse tipo de problema também acontece, só demora mais.  Eu já tinha visto isso justamente com criação de vídeo no kdenlive.  Tinha um bug no melt, possivelmente um memory leak, que ia consumindo toda a memória.  Travava?  Não, mas tinha de aguardar o kernel matar o melt pra conseguir voltar.  Isso levava de 4 a 6 horas.  Usando somente RAM acontece o mesmo, mas é mais rápido, por volta de 20 ou 30 minutos.

Eu tentei achar alguma referência de tunning pra ajudar.

Memory Management Approach for Swapless Embedded Systems

When Linux Runs Out of Memory

http://linux-mm.org/LinuxMMDocumentation

O problema é que a maioria das informações são antigas.  No kernel que estou usando, 3.17.7, não tem esses parâmetros.  Mas eu tentei melhorar a responsividades alterando algumas coisas:

vm.laptop-mode = 1
vm.memory_failure_early_kill = 1
vm.memory_failure_recovery = 1

O resultado foi bastante satisfatório e agora o sistema tem estado mais responsivo durante alta carga que exige alocação de memória.  E com mensagens interessantes vindas do kernel.

Out of memory: Kill process 24223 (chromium-browse) score 332 or sacrifice child
Killed process 24223 (chromium-browse) total-vm:1360048kB, anon-rss:242548kB, file-rss:15632kB

Gosto de um sistema que exige sacrifícios.

Print

Twitter is dead!

Written by Helio Loureiro on .

Acho que agora o tão falado fim da rede social que revolucionou a comunicação na Internet chegou.  Não digo em relação à investimentos, interface web ou mudança de tráfego.  Falo de código.

Recentemente eu ministrei mais um coding dojo.  O assunto escolhido foi... Twitter!  Twitter e python.  O motivo era simplicidade de ambos.  Fácil fazer, rápido pra colocar em produção e testar.

Até preparei meu curso de python twitter pra inglês:

http://prezi.com/phgt99r0-3fx/?utm_campaign=share&utm_medium=copy&rc=ex0share

Palestra pronto, público pronto, então foi hora de bota a mão na massa.  Pra não começar com algo enfadonho, aproveitei o intervalo de almoço pra criar uma conta na rede do twitter, pra justamente fazer a aplicação e brincar.  A conta foi criada sem problemas, mas na hora de criar a aplicação e mudar a permissão de leitura pra escrita...

Uma das coisas que adorava no Twitter era a facildade.  Bastava criar uma conta e usar.  Sem burocracia.  Então começaram com confirmação de e-mail.  Até aí era tranquilo.  Criava um mail a mais em um dos meus domínios de Internet e continuava em frente.

Mas agora é preciso cadastrar telefone.  Um número pra receber... SMS de confirmação?  Até entendo a parte de aumentar a segurança pro usuário com autenticação em 2 passos, mas... complicou.  Não tenho várias linhas de prépago pra ficar cadastrando a cada novo usuário que eu criar pra dar um curso ou coding dojo.

Sim... pra mim isso significa o começo do fim.  Não são os números, não são os investidores, não é o mercado.  É o uso.  É o hacking.  Esse era o diferencial para mim.

Minhas outras aplicações mais antigas ainda funcionam.  Ainda.  Mas não sei por quanto tempo.  Posso simplesmente cadastrar meu celular?  Até poderia, mas não tenho tanto interesse assim que o Twitter ou qualquer outra rede saiba meu celular.  

Então é isso... continuarei usando mas... não tanto.  Nem pra cursos.  Nem pra coding dojos.

É hora de mudar pra outra rede.

Premium Free Joomla Templates by MightyJoomla | Design Inspiration NewWPThemes