Tenha aulas das melhores universidades em sua casa

Para quem não conhece ainda, existe um site com vários vídeos gravados por grandes universidades do exterior e disponíveis ao público em geral. São em inglês, mas são bastante instrutivos.

Academic Earth

A Revolução dos Robôs será USB

As HPs são consideradas comedoras de bateria (imagine sustentar um processaor ARM de 75MHz com pilhas AAA). Fiquei pensando: se isso é um problema tão grande, porque a HP não fez uma entrada para ligar na tomada? Pesquisando mais um pouco, li que se você usar o cabo USB, ela consome a energia via USB e não das pilhas.

Agora, se USB já virou algo tão comum como fonte de energia a ponto do iPod ser recarregado assim e existirem adaptadores AC/USB, por que simplesmente não usar USB como o padrão residencial?

Imagine, todas, ou pelo menos algumas, tomadas seriam USB. Ou seja, você tem uma estrutura energética E informacional. Com isso, o surgimento de dispositivos minimamente “inteligentes” começaria a surgir. Você pode comprar uma cafeteira ou uma cafeteira que pode ser ligada/desligada remotamente e que informa sua temperatura. Tudo isso via USB, que tal?

* Sim, eu sei que não é tão simples assim, mas achei a idéia no mínimo interessante

Imbutindo Common Lisp (ECL) em C

Hoje comecei a brincar com ECL (Embeddable Common Lisp). Como o nome diz, é possível embarcá-lo [1] em um programa escrito em C. Na verdade, ele é mais que isso; é possível também rodar o comando ecl para ter um interpretador de Common Lisp ou usá-lo como um compilador de Common Lisp para C/binário.

Esses dois últimos usos são relativamente simples e estão bem documentados. Meu interesse mesmo era como embarcar em um programa escrito em C e acessar funções definidas em C a partir do programa em Lisp e vice versa. Infelizmente, essa parte consta com um “TBD” no manual, que eu imagino que signifique To Be Done, a ser feito. Mesmo assim, consegui achar algumas informações na mailing list e em outros sites e fazer um programa básico.

Leia o resto deste post »

Ebooks sobre Matemática, Programação, Engenharias, Arte, etc

Esse site contém vários ebooks (em inglês) sobre os mais variados assuntos, desde Álgebra Elementar a conteúdos avançados de Cálculo, como links para os livros do Tim O’Rilley sobre informática/programação e outros tópicos mais avançados como Programação Genética. São todos livros disponíveis legalmente.

O link a baixo é para os livros de Matemática, mas procurando pelo site é fácil encontrar outras categorias.
E-books Directory

Configuração do Emacs (~/.emacs)

Esse é meu ~/.emacs. Estou colocando online para ter mais um backup dele, mas quem quiser usar fique a vontade. Talvez seja necessário instalar alguns pacotes adicionais para que todas as funcionalidades dele estejam presentes.

Fonte bacana para programação

Nas minhas andanças pela internet, encontrei uma fonte (TTF) chamada Envy Code R. Achei-a bem bacana, quem quiser baixar, tem um link no site, logo antes dos comentários.

Awesome: desisto

Ontem o X estava instável, do nada ele fechava e eu tinha de reiniciá-lo. Já estava até preocupado que fosse algo relacionado a hardware. Por fim, pesquisando no fórum do Arch Linux, vi que outros usuários tiveram um problema parecido, e, em pelo menos alguns dos casos, a culpa era do window manager.

Comecei a prestar mais atenção e… de fato, o X fechava logo depois de uma nova janela ser aberta. Resolvi reiniciar o X com outro window manager e tcharã! A instabilidade se foi.

Estou usando o wmii agora, mas estou com a sensação de estar usando uma solução provisória. Dei uma lida sobre o ratpoison, stumpwm e musca. Não gostei deles, aparentemente não me daria bem com um tiling manual.

Dos tilings dinâmicos, o awesome está segfaulting, o xmonad tem uma dependência enorme, o dwm não é tão customizável quanto eu gostaria e o wmii é estranho.

Gerenciadores non-tiling (ou stacking, como queira) estão fora de cogitação, não me acostumo mais a eles.

Alguma sugestão?

Depois de fuçar mais um pouco, vou ver como me dou com o pekwm. Ele não é tiling e lembra bastante os *box, mas é mais bonito que o fluxbox e é mais fácil de configurar que o openbox (morra XML).

Ubuntu: sem compilador, sem usuários

A princípio este artigo pode parecer pura picuinha com uma distro que eu não gosto, mas eu gostaria que fosse encarado como uma crítica construtiva (com um pouco de sarcasmo, é verdade, mas eu sou assim, fazer o que?)

A história começa quando uma amiga, cansada dos problemas do Windows, resolveu instalar o Ubuntu no notebook dela. Isso se deve em parte por brincadeiras da minha parte [1], por termos outros colegas de fóruns que também usam Linux e por curiosidade dela. Ela queria aprender a mexer no Linux e nada melhor que usando (embora eu tenha dúvidas do quanto o Ubuntu é educativo). Vale lembrar que ela ainda mantinha um computador com Windows.

Ela estava gostando, apesar de alguns contratempos. Acontece, porém, que ela resolveu trocar sua banda larga por uma a rádio, que depende de um modem USB. Não existia suporte a esse modem no Ubuntu 8.04, mas com um pouco de pesquisa descobri que existia um módulo, “é só baixar e compilar”, pensei.

Decepcionado, acabei desistindo de ajudá-la. Como ela não conhece muitos outros usuários (dispostos a ajudar), ela também desistiu e voltou ao Windows. Três semanas depois, ela está com vírus: uma colega da faculdade plugou um pendrive infectado no computador.

Independente de existirem soluções para o problema [2], acho que isso deixa claro o quanto o Linux é dependente de um compilador para C. Não vejo isso como um problema, é apenas uma característica do SO, mas se torna um problema quando essa necessidade é desrespeitada. Acho estranho que o Ubuntu venha com Python por padrão, mas não com o GCC. [3]

[1] Quando ela reclamava do Windows, eu costumava responder ‘www.ubuntu.com’. Não sei como é a situação com as outras distribuições, talvez com OpenSuse, Fedora ou Mandriva, ela não teria esse problema.
[2] Procurei um .deb do driver pré-compilado, mas não funcionou.
[3] Nada contra o Python, é uma das minhas três linguagens favoritas.

Da série “coisas que não entendo”: ABNT e ISO

Alguém pode me explicar qual é a lógica de se cobrar por normas técnicas? “Eu acabei de fazer uma norma para segurança de instalações elétricas. Como eu quero que todo mundo siga, vou cobrar por ela”. Claro! Faz todo sentido!

Primeiro eu pensei que eles cobrassem pelo material/impressão, o que acho justo, mas os PDFs são pagos também (pelo menos são PDFs e não .docs). Qual é o sentido de padrões serem propriedade intelectual de alguém? “Mwahahaha! Vejam como eu sou mal! Eu copiei os padrões de parafusos da ABNT, mwahahaha!”?

Awesome: adivinhe!

Fui atualizar o Awesome de um pre-release da versão 3.3 para a versão final e adivinhe? Sim! O arquivo de configuração não funciona mais. Agora eles resolveram mudar a sintaxe do arquivo de configuração de temas: agora ele é em Lua.

Foi só pegar o tema em /usr/share/awesome/themes/default/theme.lua, copiar para ~/.config/awesome e mudar o arquivo rc.lua para usar esse tema agora. O estrago foi pequeno, mas toda versão nova é isso… Ainda estou em busca de um tiling window manager decente.