Autor: Michel Filipe

Recommend Me

3Mar08 O que é a Milk-it?

Muitos de vocês, a não ser nossos amigos, não sabem quem somos nós. Acredito também que muitos não saibam que a Milk-it é uma empresa - passei por isso a pouco tempo na Freenode -, né? Resolvi escrever este post na intenção de deixar claro o que é a Milk-it, de uma maneira mais informal e fora dos padrões do nosso site institucional.

História

A Milk-it foi fundada por 3 pessoas: Carlos Júnior, Lucas Petes e Michel Filipe. A idéia começou com o Michel (Eu) querendo montar um grupo de desenvolvimento voltado para software livre, como a .NetRaptors. O Carlos, com quem eu trabalhava na época, gostou muito da idéia e acabou aceitando me ajudar. Depois de alguns dias tentando achar um nome legal - que inicialmente era alguma coisa relacionada a ‘mente’ - chegamos ao ‘milk’ por causa da vaca. A vaca fornece inúmeros produtos - desde o esterco, passando pelo leite, até as carnes de primeira. Já o “it” veio por 3 razões: é mais cool :) , ganhamos o significado de ‘ordenhe-os’ - tirar tudo que o mercado tem de bom e passar para os nossos clientes - e introduzimos o information technology (tecnologia da informação) no nome. O nosso slogan, Thinking About Something, acabou surgindo com um brainstorming e mais tarde veio servir para batizarmos o blog.

Depois desses “pormenores” resolvidos, percebemos que precisávamos de um designer para deixar os softwares menos quadrados e com melhor usabilidade. Então apareceu o Lucas. Eu já havia trabalhado com ele e gostava bastante do seu trabalho. Liguei para ele e expliquei tudo, que acabou aceitando a empreitada.

Depois de muitas reuniões chegamos à conclusão que a Milk-it, antes de ser um grupo de desenvolvimento, já havia se tornado uma empresa, por conta do nível em que as conversas haviam chegado. Hoje, depois de algumas parcerias e clientes, estamos correndo atrás firmes e fortes.

Fundadores da Milk-it

Carlos Júnior

Carlos no Minas on RailsNasceu em Belo Horizonte/MG em 26 de Abril de 1986. Estudou no COTEMIG no ensino médio e atualmente estuda na PUC-MG (Pontifícia Universidade Católica) cursando Ciências da Computação. Pretende depois de formar, cursar pós-graduação em Engenharia de Software e Banco de Dados.

Sua função atualmente é de engenheiro de software e gerente de desenvolvimento. Gosta de escutar rock clássico, hackear códigos alheios e ajudar na tradução de alguns projetos voltados para software livre.

O e-mail para contato é carlos[em]milk-it[ponto]net

Lucas Petes

toblog1.jpgNasceu em Belo Horizonte/MG em 10 de Dezembro de 1986. Estudou no COTEMIG no ensino médio e atualmente cursa Design de Produto na UEMG (Universidade do Estado de Minas Gerias).

Sua função na Milk-it é arquitetar as interfaces, cuidar da identidade da empresa e do financeiro. Gosta de rock e metal, fazer experimentos com design, quebrar o galho dos programadores voltados para software livre e ler exaustivamente as especificações da W3C atrás de coisas novas.

O e-mail para contato é lucas[em]milk-it[ponto]net

Michel Filipe

Foto do MichelNasci em Belo Horizonte/MG em 30 de Outubro de 1985. Estudei no COTEMIG no ensino médio e atualmente estudo na FUMEC (Fundação Mineira de Educação e Cultura) cursando Ciências da Computação. Pretendo depois de formar fazer uma pós-graduação em engenharia de software ou alguma ligada a administração junto com informática.

Minha função atualmente é de engenheiro de software, cuidar do servidor e administração. Gosto de hardcore e punk rock, hackear códigos alheios, ajudar na tradução de projetos de software livre e fuçar no meu Gentoo.

O e-mail para contato é michel[em]milk-it[ponto]net

Ideais

Missão

Construção de softwares em plataforma web, focados principalmente na organização da informação e na facilidade de uso, trabalhando de maneira pró-ativa e buscando a constante evolução do estado da arte.

Visão

Tornar-se uma empresa de renome, conhecida nacionalmente e internacionalmente até o ano de 2013.

Software Livre

Nós da Milk-it temos uma paixão em comum que é o software, ou melhor, o desenvolvimento dele. O modelo de desenvolvimento que melhor se encaixou nessa paixão foi o de software livre. Felizmente é um ramo que está a cada dia mais maduro e profissional. Não é a toa que existem empresas que ganham muito dinheiro com ele: Red Hat (admiro muito), Novell, Google, IBM, Sun, Mozilla, Apache, HP, Dell e etc. Além do aprendizado técnico, conheci muitas pessoas e fiz diversos contatos nesse meio. Só temos a agradecer ao software livre, por ter nos juntado e feito construir a Milk-it.

Caso tenha interesse, veja os nossos projetos de código aberto ou tenha mais informações sobre os projetos que apoiamos.

Vale deixar claro que não somos uma empresa que só desenvolve software livre. Consideramos o modelo de desenvolvimento livre muito bom - tanto quanto o modelo de software como serviço e software proprietário. Adotar ou não uma licença livre para um software depende do plano de negócios que temos para ele. Não somos radicais a ponto de defendermos a abertura do código-fonte de todos os softwares e nem cabeças-duras a ponto de achar que abrir o código-fonte é prejuízo para empresa. Sabemos do potencial de todos eles e que podem trazer lucros se bem planejados.

tags {, , }

14Fev08 Phoenix BIOS Patch

Boot do HP Pavilion dv5000Se você é um proprietário de um notebook ou desktop que roda uma Phoenix BIOS e Linux, este post é especialmente para você.

Quando eu comprei meu notebook HP Pavilion dv5000, logo fui tirando o Windows XP Media Center e instalando o Gentoo. Percebi que meu boot - na época com o kernel 2.6.18 - tinha um delay mostrando a seguinte mensagem: “0000:00:1d.7 EHCI: BIOS handoff failed (BIOS bug ?) 01010001″.

Descobri no Bugzilla do Kernel que isso se trata de um bug na BIOS, mais especificamente na implementação da USB 2.0. O que me deixa triste é saber que existe um padrão aberto a ser seguido e ainda existem empresas que acham melhor ter o seu próprio padrão - que é fechado e pelo visto não liberaram para os desenvolvedores do kernel - para quebrar a interoperabilidade.

Como o problema vai continuar existindo no kernel, até que a Phoenix BIOS passe o padrão para David Brownell e/ou Greg Kroah-Hartman, eu fiz um patch para retirar o delay, já que com ou sem ele é a mesma coisa. Desde o kernel 2.6.18 eu o aplico com sucesso, eliminando o delay e sendo um cara mais feliz :). Na época eu abri um ticket para enviar o patch, que foi aceito como um possível “remendo”.

Desculpem-me por ser tão específico no post, mas sei que há muitas pessoas que gostariam de tirar esse “querido” delay de seus boots. Quem tiver novidades sobre o assunto, não deixe de me enviar um e-mail (michel[at]milk-it.net).

tags {, , }

15Dez07 app-office/openoffice-bin em pt_BR

Antes de ler o post saiba que ele foi feito para usuários do Gentoo Linux. Então, se você não é um usuário do Gentoo, leia por curiosidade. 8)

Essa semana eu resolvi sair do app-office/openoffice e ir para o app-office/openoffice-bin, porque o binário, além de economizar muitas horas de compilação, veio com anti-aliasing ativado (frescura) nas fontes. Com todas essas vantagens eu encontrei um problema – típico de um cara chato :) - : “Porque o app-office/openoffice-bin não tem suporte a pt_BR e o app-office/openoffice tem?”. Pesquisando, e pesquisando, na internet descobri que isso acontece porque o OpenOffice (app-office/openoffice-bin) é mantido pela Sun, que por sua vez não mantém o Português do Brasil (pt_BR), mas que reconhece o projeto BrOffice que traduz e adapta o OpenOffice para o nosso idioma. Já o app-office/openoffice é um fork do app-office/openoffice-bin mantido pelo projeto Go OO, que tem o intuito de adicionar novas funcionalidades no código do OpenOffice que não são aceitas pela Sun. Por isso app-office/openoffice (Go OO) tem suporte a pt_BR e o app-office/openoffice-bin (OpenOffice) não, por causa da liberdade de não ter que depender da Sun. Entenderam? :)

Agora, usuários do Gentoo, como resolver isso se não existe o BrOffice no Portage? Existem duas soluções:

  1. Criar uma ebuild para o BrOffice e adicionar no Portage.
  2. Instalar o app-office/openoffice-bin e utilizar o BrOffice Langpack 2.3.1-rc1, mas utilizando uma versão que foi modificada por mim para facilitar a vida dos gentooistas.

A primeira solução é muito interessante, mas é bem mais difícil de se executar em relação a segunda. Então, vamos à segunda solução:

  1. Se você tiver o app-office/openoffice instalado, execute um unmerge no pacote:
    emerge -C app-office/openoffice
  2. Instale o app-office/openoffice-bin:
    emerge app-office/openoffice-bin
  3. Baixe a versão modificada do langpack e extraia ela na pasta do OpenOffice:
    tar -zxvf BrOo_2.3.1rc1_20071113_LinuxIntel_langpack_pt-BR_gentoo.tar.gz -C /usr/lib/openoffice
  4. Feche e abra o OpenOffice. Pronto, usufrua da mágica! :)
  5. Se o OpenOffice não abrir em pt_BR, siga as opções abaixo:
    Tools > Options > Language Settings > Languages > User interface > Portuguese (Brazil)

Pronto, mas antes de finalizar o post eu quero deixar meus agradecimentos ao Caio Tiago Oliveira por liberar o BrOffice Langpack mesmo sem o ter lançado oficialmente. Quem achar algum erro/problema na tradução, entre em contato com Caio pelo e-mail asrail[at]openoffice[dot]org.

OBS.: Quem puder disponibilizar um mirror mais confiável que o RapidShare, favor informar nos comentários.

Update: De acordo com o Fernando Luz, o OpenOffice em um Gentoo de 64bits fica em /usr/lib32/openoffice. Valeu Fernando! :)

tags {, , , , }

13Nov07 Solucionando problemas no CD/DVD-ROM

Hoje eu vou falar sobre dois problemas que aconteceram comigo e que poucos lugares mostrarão as soluções: lentidão na hora de ver um DVD e Acesso Negado ao CD/DVD-ROM no Konqueror. As soluções são extramentes simples - apesar da solução do “Acesso Negado” ser bem obscura - e fáceis de executar. Essas soluções foram executadas no Gentoo, mas isso não quer dizer que não possam ser executadas em outras distribuições.

Lentidão na hora de ver um DVD

Eu não sei se algumas distros vem com isso já configurado, mas o meu querido Gentoo não. A lentidão na hora de ver um DVD ocorre porque a CPU tem que pegar os dados da fonte (CD/DVD-ROM) e transferir para o destino. Durante essa cópia de dados, a CPU fica indisponível para outras tarefas gerando a lentidão ou “lag” (para os mais entendidos :)).

Para solucionar o problema é preciso ter o programa hdparm por perto. Para instalar ele no seu Gentoo, basta executar:

emerge -av sys-apps/hdparm

Agora vem o principal, onde iremos ativar o DMA do CD/DVD-ROM. Ativar o DMA? O que é isso? Bem, vou explicar de forma simples usando um trecho retirado da Wikipedia:

O DMA é uma característica essencial dos computadores modernos. Permite que os dispositivos transfiram dados sem sobrecarregar a CPU. De outra maneira, a CPU teria que copiar todos os dados da fonte até o destino. Isto é tipicamente mais lento do que copiar blocos de dados dentro da memória, já que o acesso a dispositivo de I/O através de barramentos periféricos é mais lento que a RAM. Durante a cópia dos dados a CPU ficaria indisponível para outras tarefas.

Uma transferência por DMA essencialmente copia um bloco de memória de um dispositivo para outro. A CPU inicia a transferência, mas não executa a transferência. Para os chamados third party DMA, como é utilizado normalmente nos barramentos ISA, a transferência é realizada pelos controladores DMA que são tipicamente parte do chipset da placa mãe. Projetos mais avançados de barramento, como o PCI, tipicamente utilizam bus-mastering DMA, onde o dispositivo toma o controle do barramento e realiza a transferência de forma independente.

O interessante é que para ativar essa tecnologia ultra-high-tech-low-level, no Linux, basta executar um simples comando:

hdparm -d1 /dev/cdrom

Para facilitar a vida de vocês, recomendo que adicionem o comando acima no /etc/conf.d/local.start. Para os que usam Slackware, adicionem o comando no /etc/rc.d/rc.local.

Agora você pode ver todos os seus filmes sem problemas.

Acesso Negado ao CD/DVD-ROM no Konqueror

O engraçado desse problema é que achei a sua solução no Encontro Mineiro de Software Livre, apesar que eu já sabia da sua existência há muito tempo. No evento eu recebi um CD do Guilherme Gonçalves - que, diga-se de passagem, o mini-curso dele é muito bom - com vários brushes, texturas e imagens para o GIMP. Quando inseri o CD no driver o HAL, como sempre, montou tudo sozinho, mas o Konqueror mostrou uma mensagem de Acesso Negado. Fiquei tão nervoso que revirei todo o Bugs Gentoo atrás de alguma coisa referente a isso. Por sorte, achei esse ticket que explica de forma muito detalhada o motivo do problema.

Vou explicar de forma bem superficial, mas quem quiser saber mais detalhes basta acessar o link do ticket. O HAL tem uma regra de negócio que se recusa a montar qualquer dispositivo que estiver no /etc/fstab. Para solucionar esse problema, basta comentar a linha (colocando # na frente) abaixo no /etc/fstab:

/dev/cdrom /mnt/cdrom auto noauto 0 0

Apesar desse problema ser um bug para o usuário final, o HAL faz isso de propósito. Por esse motivo não considerei como um bug. Agora, por que isso ? Não tenho a mínima idéia, mas aqui está o commit que David Zeuthen da Red Hat fez para adicionar essa regra de negócio.

Se você tem mais dicas interessantes para solucionar problemas ou melhorar o desempenho do CD/DVD-ROM, mande para o michel [at] milk-it [dot] net ou coloque nos comentários.

tags {, , , , }

29Out07 Ajude o mundo com Linux :-)

Com esse título fica parecendo que sou um vendedor de bíblia, mas a intenção do post é mostrar como o Linux pode economizar energia. A idéia de economizar energia na indústria da computação está a cada dia mais em evidência, ainda mais com o aquecimento global afetando as nossas vidas. Com a economia de energia é possível reduzir custos nos data centers, aumentar a vida útil das baterias e diminuir os desgastes do hardware.

Diminuir os desgastes do hardware, como assim? Agora seu hardware não vai operar em capacidade máxima. Pode começar a operar em standby automaticamente e evitar aquecimento.

Eu comecei a me interessar pelo assunto quando conheci o projeto LessWatts.org, que é mantido pela Intel. Esse projeto tem uma excelente documentação, excelentes ferramentas (vide PowerTOP) para download e até patches que podem ser incorporados ao kernel para ajudar a economizar energia. O que eu achei legal foi a posição da Intel de lançar todo o projeto como código-aberto e não ficar fazendo jabá só para o seu hardware. Não é atoa que existem dicas que funcionam em todos os tipos de hardware.

Para facilitar o início de vocês a esse assunto compilei algumas dicas que gosto e que são fáceis de configurar - exceto a economia de energia do som, que envolve algumas informações avançadas. Para informações mais detalhadas, veja no final do post.

Wireless [1]

O Wi-Fi tem um protocolo chamado Power Save Poll protocol (PS-Poll), que foi desenvolvido para reduzir o tempo que o rádio precisa ficar ligado. O PS-Poll funciona de maneira simples: a placa wi-fi comunica com o access point informando que o rádio está desligado e assim o access point começa a segurar os pacotes que tem que enviar a placa wi-fi, que logo em seguida volta a colocar o seu rádio em funcionamento e o access point começa a enviar os pacotes que foram segurados. Isso tudo acontece em milésimos de segundos. Não consegui perceber perda de desempenho na comunicação entre os dispositivos.

Para ativar o PS-Poll, basta executar o comando abaixo:

iwpriv eth1 set_power 5

Onde o eth1 é a placa wireless (pode ser wlan0, eth0, etc) e o 5 define nível de economia de energia.

Processador [2]

A dica que eu vou dar agora é provavelmente a mais famosa e, na minha opinião, a mais interessante. Com Processor performance states (P-states) é possível alterar a freqüência da CPU para trabalhar com performance máxima ou sob demanda. Eu, atualmente, só conheço dois reguladores:

  • O ondemand que faz a freqüência da CPU trabalhar no mínimo e só aumentando de acordo com a demanda de processamento. Na minha opinião esse é o melhor regulador, porque faz com que ocorra menos aquecimento e economize mais energia :-).
  • O performance mantém a freqüência da CPU trabalhando no máximo. Faz o processador trabalhar mais rápido? Sim, mas consome bem mais energia e aquece mais o laptop.

Para alterar o regulador de freqüência da CPU para ondemand, basta executar o comando abaixo:

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Para quem compila o próprio kernel, verifique se as configs abaixo estão setadas no .config:

CONFIG_CPU_FREQ
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_X86_ACPI_CPUFREQ

Existem projetos como o Powersave, KPowersave e o GNOME Power Management, que fazem isso de forma automática e com algumas facilidades (hibernar, desligar o monitor, etc). Eu uso o KPowersave e afirmo que é muito bom.

Som [3]

Que impressionante! Até com a placa de som é possível economizar energia no Linux. Antes, eu quero deixar claro que essa dica só funciona em placas de som HDA-Intel.

As placas de som HDA-Intel vem com uma funcionalidade de economia de energia no hardware que funciona de maneira bem simples: quando a placa não está sendo usada ela se desliga sozinha e quando algum processo requisita o seu funcionamento ela volta ao normal. Simples não? :-)

Só que tem um problema, somente os drivers do kernel 2.6.24 vão vir com suporte a essa funcionalidade. Que pena, não? Mas eu criei um patch para resolver esse problema! Entrei no repositório do kernel, vi que o pessoal já havia implementado o suporte e então fiz um patch com todas as alterações que foram feitas no ALSA da revisão do kernel 2.6.23 até o dia 22/10/2007. Agora o driver da minha HDA-Intel está dando suporte a essa funcionalidade. :)

Eu não posso e nem quero me responsabilizar pela aplicação desse patch, mas no meu kernel 2.6.23 está funcionando perfeitamente. Aplicar o patch é muito simples, basta entrar na pasta que está o código-fonte do seu kernel, mover o patch para lá e executar o comando abaixo:

patch -p1 <update_alsa_2-6-23_20071022.patch

Pronto! Agora é só ativar o powersave no driver (make oldconfig) e compilar o kernel (make && make modules_install).

Se você tem alguma dica que considera legal não hesite em me mandar um e-mail (michel[sem-spam]milk-it.net) e/ou entrar em contato com o pessoal da LessWatts.org. Tenho bastante interesse em saber dicas de economia de energia da plataforma AMD, então, se você tem alguma me informe. Sei que a AMD se preocupa tanto quanto a Intel sobre esse assunto.

[1] Dicas detalhadas para Wireless
[2] Dicas detalhadas para processador
[3] Dicas detalhadas para placas de som

tags {, , }