-
Banco do Brasil + Linux 64 bits
Faz 1 mês mais ou menos que liguei no Banco do Brasil reclamando que a “solução de segurança” do site deles não estava funcionando no meu Linux 64 bits. Sem grandes surpresas, depois de me perguntarem se eu tinha a VM java da sun instalada, versão, etc, eles me passaram para o suporte de segundo nível. Pediram o meu telefone, dizendo que entrariam em contato (isso foi no sábado).
Logo na segunda-feira de manhã me ligaram e após mais um tempo conversando, ele disse: “o problema é que a nossa solução de segurança não é homologada para a jre 1.6. Acontece que em algumas plataformas ela funciona, mas não é garantido. A gente sabe que em Linux 32 bits funciona, mas a jre 1.5 é que é oficialmente homologada”. Então eu tinha duas opções: ou instalar a versão 1.5 ou rodar um browser 32 bits. Felizmente no meu sistema, archlinux, já tem um pacote firefox32 que faz tudo o que preciso e foi o a solução que adotei. Até hoje.
Hoje quando fiz meu usual “sudo pacman -Syu” para instalar atualizações de todos os pacotes, vi que tinha uma atualização da jre para ser feita: jre-6u18-2. Aí pensei… quem sabe nessa versão mudou alguma coisa que fez funcionar o applet do BB? Sem muitas esperanças, abri o site no chromium e para minha surpresa, funcionou! Abri no Firefox, e funcionou também. Pra tirar a dúvida, fiz o downgrade para a versão anterior do java, jre-6u17-1. Abri novamente e continuou funcionando. Logo, não foi causada pela atualização da VM, mas sim por alguma mudança que o pessoal do Banco do Brasil fez. Não sei se eles chegaram a homologar a versão 1.6 da JVM (o que já estaria mais do que na hora), só sei que agora funciona com Linux 64 bits.
Felizmente agora posso acessar a minha conta no Banco do Brasil sem precisar do browser 32 bits. Já estou removendo-o. Deixe seu comentário pra eu saber se funcionou pra você também (inclusive aqueles que usam FreeBSDs e outros unixes).
-
Amazing kernel related blog
Today while reading “posts” on Buzz and digging in my RSS reader, I found this blog: http://smackerelofopinion.blogspot.com/ made by an ubuntu engineer. How many amazing posts there are on this blog. Particularly interesting is the one about ACPI Debugging and the other about perf, the tool I posted about some days ago (although it covers just a tiny amount of things this tool is capable of).
When I have some spare time I’ll try to use that first post to debug the ACPI on my buggy asus laptop, where temperature goes sometimes as high as 90 °C. Last year I tried to adjust the hysteresis curve of the fan control in order to have a cooler laptop but had no success on it.
PS.: I wished a day had 48h to be able to read all the cool stuff out there
-
Pescaria 2010
Final de semana pra relaxar com a família. Seguindo a sugestão de Ataíde e Alexandre, fomos pescar. Que pena que o meu peixe de 12kg acabou escapando. Algumas fotos:
Mais fotos em: http://picasaweb.google.com.br/lucas.de.marchi/Pescaria?feat=directlink
-
Stripping perf out from kernel source
You may have heard about perf, a tool made by Linux kernel developers to help debugging, benchmarking and profiling.
The problem is you have to download the whole kernel source in order to compile perf. If you are not used to follow kernel developping, most likely you will not have its source. But it’s still possible to compile perf.
As I’m helping to maintain perf package in Archlinux, I made the following script to strip perf from a given kernel version:
#!/bin/bash function usage() { cat - <<EOF USAGE: make-perf-util.sh git-tag-version EOF } function die() { echo -e "ERROR\n\tSee usage\n" usage exit 1 } VERSION=$1 BASENAME=perf-util NAME=$BASENAME-$VERSION PKGNAME=$NAME.tar.bz2 if [ $# -ne 1 ]; then die fi git checkout $VERSION || die [ -a $NAME ] && rm -rf $NAME cd tools/perf && make clean cd - rsync -Ra tools lib include/linux arch/x86/include/asm include/asm-generic \ --link-dest=. $NAME tar -cjf $PKGNAME $NAME rm -rf $NAME echo "created $PKGNAME"
This script works fine with latest 2.6.33 kernel. Regularly I’m uploading to this site the stripped version of perf. The latest one, you find here.
-
Mais um infeliz cliente da Telefônica
É impressionante como a Telefônica pode ser uma operadora tão ruim. Não bastasse ser ruim e cara, você fica preso a ela por diversos motivos. Explico: tentando diminuir os gastos da linha telefônica, hoje liguei lá para contratar uma segunda linha telefônica, mas do tipo Linha Lazer. A intenção era começar a usar essa segunda linha só para o speedy e depois migrar (usando a portabilidade numérica) a outra linha para uma operadora melhor (e mais barata, muito mais barata).
A diferença de assinatura entre a Linha Clássica, que temos agora, contra a Linha Lazer: R$ 40,35 contra R$ 14,90. E todos os outros serviços (em ambas) são mais caros do que no Livre.
Depois de passar todos os documentos pedidos, repetir e repetir mais uma vez, a atendente tentou empurrar a Linha Clássica pra mim. Expliquei que queria a Linha Lazer, e não a Clássica. Sabendo que a gente já tinha uma outra linha (ela tinha perguntado antes), disse que a Linha Lazer não estava disponível para a minha região. Mentira! Aposto que se não tivéssemos nenhuma linha não teríamos problema em contratá-la.
Graças à magnífica privatização do setor de telefonia no Brasil, ela é a única provedora de internet banda (quase) larga por aqui. Não fosse isso, eu já teria cancelado minha linha. Sendo isso, penso seriamente em cancelá-la de qualquer jeito e ficar sem internet mesmo, pelo menos por um tempo.
Alguém tem sugestão?
PS.: Não é que descobri que tem gente na mesma situação que eu?
-
Coming back, with git tips
So, it has been some months I last wrote on my blog. Not because I don’t have things to write, but because sometimes I’m too lazy do empty my “queue of things to write about”. Nothing better than start with one thing at a time.
Since january I’m working at ProFUSION. As before when I was mainly developing for Linux kernel and finishing my thesis (@ USP / Polimi), I’m using git a lot. Even in projects in which upstream is using a centralized approach like subversion, I simply can’t live without a local tree and thus, git. So here I’ll post somethings I’ve been using:
-
Parallelizing
Sometimes we discover that we don’t have to parallelize only the software. We must also parallelize the way it is written.
Thus, one of the last days of my graduation in Computer Engineering:
Almost finished!
-
Welcome Windows 7
Welcome from a Linux user…
-
Python, bpython and my university’s email
Almost a year ago I posted in my past blog (in portuguese, automated translation) a tutorial on how to use greasemonkey to workaround the ugly interface of my university’s webmail. More specifically, in Firefox it looses the ability to select all emails. I took that just for an example… the real goal was to delete all emails since I access them through Gmail and periodically I get the email: “your mailbox is full…”. So, how could I delete them without having to download them all? Simple: connect through POP3 and issue the “dele” command. I could do that even with plain telnet, but I decided to come back to python, since it was awhile I didn’t use it.
In the same week I saw two interesting posts in my RSS reader:
- the first came from BR-Linux, and it’s about bpython, a better CLI to python. It’s amazing!! You can get a lot of IDE-like functionalities in your command line. You can view a short video made by its author.
- The second is about pydev and came from “Linux Today”. With PyDev you can use Eclipse to edit your python code and get all functionalities you may out of an IDE. I still didn’t use it (and I think I’ll continue with vim) but it’s an interesting post to read as it talks about IDE vs vim/eclipse/other_text_editors.
And now, the really-stupid-delete-all-mail-from-poli.py:
#!/usr/bin/python import getpass, poplib strServer = 'pop3.poli.usp.br' user = raw_input('user: ') server = poplib.POP3(strServer) server.user(user) server.pass_(getpass.getpass()) numMsg = len(server.list()[1]) while True: resp = raw_input('%d messages in Inbox. Delete all? (yes/no) ' % numMsg) if resp == 'yes': for i in range(1,numMsg+1): server.dele(i) break elif resp == 'no': break else: print 'Answer yes or no\n' server.quit()
It will ask the user and password to connect to pop3.poli.usp.br, show the current number of messages and ask for confirmation.
-
Trissa – update status
Just to let you all know some updates to Trissa: currently it’s in a hold state, waiting for next stable Ogre release, which is version 1.7. So until they release this version I’ll hold Trissa in a beta status, although it’s working great right now and all fixes for 1.0 are in place.
The biggest problem with current version of Ogre is that it doesn’t have proper support for multi-threaded games, or better, only one thread is able to make calls to Ogre functions which change the rendering states. In the design of Trissa this is not currently possible as both core’s and player’s code may change the rendering.
Also, I’d like to clarify a thing about the name: in contrary to what I said, “trissa” does not mean “tic-tac-toe” in italian. The right name in italian is “tris” as a friend of mine told me some months ago. However I decided to keep the name, because I liked it, it’s now properly indexed by Google and the game is not the original tic-tac-toe.

