gallois_weblog

meh

a/b/c testing

I will do something strange in the next three weeks.

I’ll install all versions of Mac OS X that I have available (10.5, 10.6 and 10.7), one week each, to see my impressions on them. I have never done something like that with an OS and I would like to know which one is better to my needs. A clean installation of each of them, see which one behaves best on my white macbook early ’09.

Besides that, I want to measure how much I am into cloud. Since I won’t spend a long time with each, I will not be installing a lot of stuff.

So, which one will be better and can I stand using just a few apps?

Cheers

for the times, they have changed!

I know that it will be just a number…

Anyway, I would like to write down a few lines in memory of someone who spent his whole life changing ours.

I’m not talking about eletronic gadgets, computers, phones… Steve Jobs’ main contribution to me, and probably everyone else, even if they don’t realize it, is simplicity.

It doesn’t matter if you have an Android phone or an iPhone or any fancy smartphone today, you use Jobs’ legacy of ultimate simplicity and, well… it just works (at least it tries to :)

I see him as a rebel, a man from the future. I won’t ever forget him talking about the iPad upon its launch. Facing many criticism, he stated that just like man moved from trucks to cars when going to the city, the tablets would be the same kind of transition. The streets full of tablets won’t let him lie. The iPads came from “WTF is that s%#t?” to “OMG!1!!1!!!! I must have one!”.

He showed us many times how to win, but also how to lose. Not all Apple products when he was in charge were successful, but he kept trying, doing what had to be done. He endorsed many things that were just lost… music in a flash drive? 3D movies? Unix on 2001? tablets? smartphone for real people? He gotta be kidding… turns out he was not!

Again, he was the first man to lead me to an insight about how we should design stuff we do for people that are potentially different from us, with different needs. Not all computer should be designed for engineers, nor all web pages should be designed for other web developer. There is some kind of altruism in his works that is overlooked. But at the same time we now know about it and practice without even thinking about.

I hope history gets written by someone who can grasp those facts and put them where they deserve, because he was absolutelly not just a number.

To all his family, all my thoughts to you! And you are damn lucky to have the privilege of living close to him!

I’m not upset about what just happened, because I really do believe that we are just on a trip, and as so I can just wish:

Godspeed you! Steve Jobs

 

mailto: rememberingsteve@apple.com

Google Developer Day Brazil 2011

Apesar de um pouco atrasado, acho que ainda vale apresentar as minhas conclusões sobre o Google Developer Day 2011, realizado em São Paulo.

O evento foi no WTC, um andar inteiro fechado para isso. Coffee Breaks fartos e almoço para todos os convidados, num evento todo free. O Google tem bastante dinheiro, e sabe usar da melhor maneira, agradando quem mais promove seus produtos :) Ah! E o algodão doce.

Vou pular aqui a parte que fala sobre o espaço e o que tinham lá, isso é fácil de achar em qualquer outro blog e não vou trazer novidade nenhuma. Abaixo, minhas impressões e opiniões sobre o que vi.

É bem claro que o Google está investindo pesado, muito mesmo, em HTML 5 (CSS3, AJAX e todas aquelas coisas pra aplicações web). Eles fizeram questão de enfatizar que o pacotão HTML 5 já abraça todas essas tecnologias. O Chrome parece que é mesmo um dos maiores alvos de melhorias do Google e eles estão realmente empenhados em promover webapps, principalmente com recursos offline. Uma coisa interessante foi observar que em diversos momentos eles apresentaram alguns recursos para fazer com que a aplicação detecte automaticamente o dispositivo que está exibindo a interface, não por meio do user agent, mas pelo tamanho de tela para adaptar o conteúdo.

Outra coisa que me chamou atenção foi que todas as aplicações de exemplo que vi rodavam em node.js… todas. Parece que esse é outro carinha que veio para ficar. Já é meu novo favorito :P

Sugestões de melhoria? Talvez algumas ilhas com demonstração de produtos. Um Google TV e algumas telonas touch com webapps rodando não chegam realmente a empolgar. Quem sabe um ice cream sandwich?

Algum incentivo a troca de experiências também seria legal. Não tinha muito espaço pra galera trocar uma ideia.

Essas sugestões, de maneira alguma, desmerecem o evento. Foi bem proveitoso e o pessoal todo do Google foi muito maneiro e receptivo. Como sempre, um trabalho muito bem feito!

delete all .swp from a project/directory

I just can’t stress how much I love:

$ find . -name "*.swp" -exec rm -f {} \;

when vim crashes.

git and bash tips

some tips for improving your git ans bash interaction

for completion copy ‘etc/bash_completion.d/git’ to ‘~./bash_completion.d/git’
after that add the following lines to your ‘~/.bashrc’
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w$(git branch &>/dev/null; if [ $? -eq 0 ]; then echo ” ($(git branch | grep ‘^*’ |sed s/\*\ //))”; fi)\$ ‘
. .bash_completion.d/git

the first line you make the shell show you the branch you’re in inside parenthesis after the path.
all was done under debian lenny

cheers

dicas para git e bash

algumas dicas para você deixar o seu git melhor de usar com o bash

completion
copie ‘etc/bash_completion.d/git’ para ‘~./bash_completion.d/git’

depois adicione as seguintes linhas no ‘~/.bashrc’
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w$(git branch &>/dev/null; if [ $? -eq 0 ]; then echo ” ($(git branch | grep ‘^*’ |sed s/\*\ //))”; fi)\$ ‘
. .bash_completion.d/git
a primeira linha e para voce ver o branch que voce esta entre parenteses depois do path.
fiz isso num debian lenny

abracos e ate a proxima

debian, xdmcp and an ol’ pc

I’ve tried a bit to get my old k6-2 ready for battle again but the best shot was to use xdmcp with an athlon 64. I’ll describe what i’ve done to get it working on debian lenny.
I’ve always used kdm, but the version shipped with the distro has some issues with xdmcp so I switched to gdm to avoid later problems. Backporting is not an option for me, since upgrading later can be really a kick.

The following steps should be done on the application server.
For debian, don’t forget to change “/etc/X11/xinit/xserverrc”, commenting the line “exec /usr/bin/X11/X -dpi 100 -nolisten tcp”, since, for security reasons, debian blocks any incoming connection to the X port.
Besides that, those are standard procedures. Run gdmsetup and go to the Remote tab and in Style, choose anything but “remote login disabled”. Go through “Configure XDMCP” if you want to change anything else, but note that it is not necessary. Now to Security tab, uncheck “Deny TCP connections to Xserver”. Right, restart gdm
# /etc/init.d/gdm restart
and you’re ready to roll out.

On the clients (or X servers) run
# X -query app_server_ip

If you already have and X session open, do
# X :2 -query app_server_ip

It is also possible to use broadcast (if it is enabled)
# X -broadcast
This way, even without telling the ip, you will connect to the first pc that answers the broadcast on the network.

Gdm can also let you find a xdmcp server from its own interface, just click the actions button and you will have it!

For more information about how to configure xdmcp and some details on other distros and kde, click here (in portuguese).

cheers!

debian, xdmcp e um pc velho

Tentei várias coisas para dar uma reanimada no meu velho k6-2, mas a melhor de todas sem dúvida foi um xdcmp com um athlon 64. Vou descrever abaixo o procedimento para colocar para funcionar num debian lenny.
Eu sempre usei o kdm, mas a versão empacotada com o debian apresenta alguns problemas com o xdmcp então mudei para o gdm para fazer funcionar mais rápido e com menos efeitos colaterais. O kdm me exigiria fazer um backport de versões, um puta trabalho para fazer upgrades depois.

Os passos abaixo devem ser executados no servidor de aplicativos.
Para o debian, não se esqueça de alterar o arquivo “/etc/X11/xinit/xserverrc”, comentando a linha “exec /usr/bin/X11/X -dpi 100 -nolisten tcp”, pois, por questões de segurança, o debian bloqueia conexões tcp para o X.
Fora isso, siga o procedimento padrão. Rode o gdmsetup e vá na aba Remote e em Style selecione qualquer coisa que não seja “remote login disabled”. Vá em “Configure XDMCP” se quiser alterar algum parâmetro, mas isso não é necessário. Na aba Security, desmarque a caixa que diz “Deny TCP connections to Xserver”. Pronto, agora basta reiniciar o gdm

# /etc/init.d/gdm restart

e você está pronto para acessar a máquina.

Agora, nas máquinas clientes (ou servidores X) execute
# X -query ip_do_servidor_de_aplicativos

Caso você já tenha uma sessão X aberta na máquina, rode
# X :2 -query ip_do_servidor_de_aplicativos

É possível ainda usar uma outra opção, caso o broadcast esteja ativado
# X -broadcast
Assim, mesmo sem passar o ip, você se conectará à primeira máquina que responder ao broadcast lançado na rede.

O gdm ainda oferece o recurso de buscar um servidor xdmcp por sua própria interface, clicando no botão actions.

Para mais informações sobre como configurar o xdmcp e alguns detalhes de outras distros e como fazer funcionar no kde, clique aqui.

abracos e ate a proxima

vergonha

Terça-feira, aproximadamente 0030, um barulho estranho na rua e fui pra janela.
“Que que tá acontecendo?”
“Tão roubando a loja ali na frente.”
“Ah, é!?!?!?”
“Sério, vem ver.”

Estava um sujeito lá embaixo, sentado na moto ligada e gritando: “Demorou, demorou”. De repente, um chute no blindex e um outro saindo de dentro da loja com uma TV de 42″. O alarme disparou. Nesse momento, vi uma cena que muito me lembrou os antigos filmes de bangue-bangue onde o mocinho, ou o bandido, pulava por trás do cavalo e caiam na sela para perseguir ou fugir. O da televisão pulou por trás da moto com incrível destreza, pronto para fugir com seu espólio. À essa altura, o prédio inteiro já gritava “pega ladrão” e coisas do gênero. Então o piloto arrancou e o sujeito da TV, dessa vez com muito menos habilidade e acredito eu que sem considerar a inércia, foi jogado para trás, já que as suas duas mãos estavam muito ocupadas segurando a tela. Para se equilibrar, largou o aparelho, que espatifou no chão e saiu catando cavaco por alguns metros. A galera morria de rir e os dois se mandaram.

Ligações para a polícia, os vizinhos conversando pela janela. Passados uns cinco minutos, os motoqueiros voltaram. A multidão começou clamando: “fica aí mesmo, a polícia já está chegando.”, mas acho que gostaram da minha idéia e acompanharam: “Incompetentes, roubaram e não levaram, que vergonha”. Os bandidos deram umas voltas, olharam para cima e resolveram tentar levar a TV que estava lá no chão, provavelmente meio detonada já. O carona desceu, pegou a televisão, montou na moto e na hora de arrancar…………….. adivinha!!!!!!!!!!!!!! caiu a tv de novo!!!! Vaias da multidão. Eu me manifestei diferente, palmas seguidas de um berro: “Vai roubar uma de 14, quem sabe consegue carregar.”. Gargalhadas!

Dessa vez eles desistiram, foram embora e no meio do caminho deram um tiro de 22 para o alto. A polícia chegou quase meia hora depois, junto com o pessoal da segurança. Tarde demais para achar os ladinos. E a polícia ainda desce do carro de 12 e SMG pra fechar a rua, como se realmente os caras ainda fossem passar ali!
Enfim, a graça já tinha acabado.

Vergonha é roubar e não levar!

abracos e ate a proxima

Dual boot with windows on a slave hd

Trying that may be is a pain in the ass. To avoid it, read below something that will help you.

First of all, I’ll tell you why the problem happens. When you install windows on a slave hd and wants to dual boot, windows thinks it’s on the master hd and won’t cooperate. What you have to do is fool windows so that it thinks that it is really on the master disk. So, tell the BIOS to remap the drives. How? Simple.

Edit your ‘/boot/grub/menu.lst’ so that it has the following lines (where you write down the windows stuff)

title Windows XP
root (hd1,0)
map (hd1) (hd0)
map (hd0) (hd1)
makeactive
chainloader +1

Windows is, in that case, on a ide slave disk and the master is a sata hd with debian lenny.

If running debian, do

# update-grub

Reboot and be happy! =D

Follow

Get every new post delivered to your Inbox.