TortoiseCVS and TortoiseSVN on Vista and Windows 7 x64 – Overlay Icons

Posted by pardini · 8 Comments 

For more than a year, getting icon overlays to work with both TortoiseCVS and TortoiseSVN on x64 has been a nightmare.

Not anymore.

First, install the latest stable TortoiseSVN.

Then install my custom build of TortoiseCVS, TortoiseCVS-1.11.6-pardini.exe. It is a custom built CVS-HEAD checkout, without many changes.

Please note that apparently TCVS is the one that decides the icons to use (both TSVN and TCVS will use the same icons), but they all work.

If it’s not working for you, uninstall all TortoiseSVN, TortoiseCVS and TortoiseOverlays you may have installed.

Also delete the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers.

Then reinstall in the order I suggested above.

Atualização do Boot Camp para 2.1 (Brazilian Portuguese)

Posted by pardini · 1 Comment 

Para algum infeliz, brasileiro, que tenha um Mac, rodando Boot Camp (Windows), que tente atualizar o Boot Camp do 2.0 para o 2.1. Acho que sou só eu no mundo todo. Se o Windows instalado for em inglês, mas com preferências/teclado/regional settings como Brazil, a instalação do Boot Camp 2.0 faz uma cagada federal, e localiza o nome do produto no registro do Windows. Resultado, o update para o 2.1 não consegue atualizar, devido a algo esotérico do tipo ”Error applying transforms. Verify that the specified transform paths are valid.” Muito informativo, parabéns Apple. A Apple também resolveu ignorar o problema, apesar de centenas de usuários com problemas (com certeza são todos estrangeiros, então fodam-se). A ajuda veio de um outro cara que fala Português (de PT). Porém, para máquinas em pt_BR, a chave de registro é diferente. Convém procurar por “Serviços do Boot Camp”. No meu caso resultou na chave HKEY_CLASSES_ROOT\Installer\Products\82654E0F812156845A61E8A84572A2CD. Altere a chave “Language” para 1033 (em decimal). Boot. Reinstale o update e voilá.

IPSec with setkey/racoon and multiple single-host SPDs

Posted by admin · Leave a Comment 

Suppose you have an IPSec tunnel with two or more single-hosts (instead of, say, a /24 network). Only one host will ping after restarting Racoon. If you ping host A first, you can’t ping host B later, and vice-versa. This has bugged me for a whole morning. I googled for this a lot and had trouble finding anything, but then found http://lists.freebsd.org/pipermail/freebsd-net/2003-November/002002.html and the answer by Helge Oldach at http://lists.freebsd.org/pipermail/freebsd-net/2003-November/002004.html.

Thanks to the KAME people!

Dell DRAC5 Virtual Media CDROM breaks OS installation, hangs on Windows boot, and makes megaraid_sas insane

Posted by admin · 4 Comments 

We bought a dozen shiny new Dell 2950 and 1950 machines, with DRAC5 cards which seem quite handy.

So off we went to install Debian and Windows 2003 using only DRAC5’s virtual Console (kind of an IP KVM) and virtual media. No physical access to the servers is required. It all works very well, you point DRAC at an .ISO image, configure virtual media to attached in the Ctrl-E screen, hit F11 and choose to boot from “VIRTUAL CDROM”. This is where OS Installation, and problems, begin.

When installing Debian, when virtual media is attached, the PERC controller shifts stuff around so that the virtual media device can fit. That makes my RAID-5 array on the PERC be at /dev/sdc instead of the expected /dev/sda. This seems alright at first, but after the installation is done, GRUB goes insane. You can jackhammer GRUB to work, but then the megaraid_sas driver goes insane. Literally. Lockups, wierd and misleading messages. Insanity reigns.

When installing Windows without the help of the Dell Installation CD, it locks up right at the first “Windows Setup” blue screen, even before the “F6″ driver prompt. The machine literally freezes (you can still restart it using DRAC, sweet). If you try using the Dell Install CD, it goes okay until the first reboot where the same thing happens. Complete lockup.

After spending a lot of time with Dell Support with clueless people (they were about to send us a tech to swap the PERC 6i controller which was “obviously” the culprit), we finally realized the problem was the Virtual Media in DRAC5. When we disabled Virtual Media and used a real, physical, spinning DVD drive, everything was fine. It turns out Windows locked up because it couldn’t figure out the “VIRTUAL CDROM” thing. Nothing was wrong with the PERC. Debian installed like a dream too, on /dev/sda.

If you really need to use the Virtual Media, you have to go through a very boring process. First, attach virtual media in Ctrl-E screen and mount the ISO in your browser. Start installing your operating system. When it’s time for the first reboot, go into Ctrl-E again and dettach virtual media. Now the install should proceed as normal…

All in all, DRAC5 is a very useful thing, it’s KVM capabilities have already paid for themselves if only in gasoline saved in trips to the datacenter. Now a Firefox 3 plugin, and fixes to the Virtual Media problems, would be very nice. Hello Dell?

Always, always use memtest86

Posted by admin · Leave a Comment 

This week my workstation started freezing and BSOD’ing. I ignored it for a few days until today it finally corrupted my registry.
I spent a few hours restoring the registry from a restore point only to stop at a STOP 0×7E or 0×08E bluescreen.
It turns out I skipped the religious memtest86+ (http://www.memtest.org/) check when I bought this machine. Wierd, I always make sure to run it on all my servers, but somehow managed to forget to do it on my workstation. Now, with 1GB less RAM and two days work lost, I think I’ll never forget it again.

Flash is Single Threaded: RPC and AsyncToken behavior

Posted by pardini · 2 Comments 

So in Flex you can invoke a service (like a WebService method, or HTTPService.send()), which returns a token (mx.rpc.AsyncToken). After that, you set a responder on the token. When the results come back, the responder is called. Calling the send() method actually sends the request, so the whole construct looks bizarre, since you’re setting a responder/handler AFTER the call has been sent. This is a very common pattern in Cairngorm applications.

The fact is that this never fails, and I wondered why, because it looks possible (although unlikely) for an RPC call to return data before the responder is set. After thinking for a while, I remembered one of my first problems with Flash, years ago: it’s single threaded. After investigating on the web, I found out this is really what makes this (and a whole host of other async stuff) work in Flash/Flex. The call may return data, but since it’s single threaded, your method will surely be able to continue, and set the responder, before the result handler is called. Uncommon, to say the least.

Ultimate Debian Etch VMWare Server setup (16Gb Dual Quad Core Dell 2950 with OMSA)

Posted by pardini · 5 Comments 

With assistance from the helpful folks at the VMWare Discussion Forum, I came up with what I think is the ultimate VMWare Server setup. It’s essentially Debian Etch (4.0) x86 running on a Dell 2950, with dual Xeon E5310 (Quad-Core) and 16Gb RAM. The focus here is on cleanliness: no hacks, no bizarre compat libraries, no patches. Just plain Debian-Dell-VMWare fun.
First, a word about x64. Since I have a lot of RAM, the initial tests were with the amd64 port of Debian. Unfortunately, and not being Debian’s fault, a lot has conspired against x64. First, VMWare not being a native 64-bit application, a lot of compat libraries would be involved. Also, a lot of trouble arises with Dell OMSA. Finally, most people agree that there’s some performance penalty for VMWare on x64, quirks aside. If we had native VMWare and OMSA, I’d go with amd64. The best option I’ve found (and recommended on the forums) is installing standard x86 Debian, and then switching kernel to a ‘bigmem’ one. More on that later.
So lets head on to the method:

1) Prepare the RAID setup for initial install. Dell does not support Debian, so you need a way to configure your RAID volumes beforehand (at the very least, the volume where you will install Debian, but I just go ahead and configure all my volumes). For this purpose I’ve found the excellent “CentOS Dell OMSA 5.1 Live CD”. Just burn the ISO, boot from it, set the root password, wait a lot, and you can get into the Web Interface for OMSA where you can set up the storage. I’ve set “Adaptive Read Ahead”, “Write back” and other performance-enabling RAID options.

2) Install Debian Etch (x86). I used a 3-in-1 CD, which has a i486, amd64 and power installer, and with that it was a little tricky to force i386/i486 instead of amd64 (it seems to auto-detect). The Dell PERC controller and NICs were all detected, even though it seems the (Gigabit) Ethernet ports were reversed (port 1 was eth1 and port 2 was eth0 – I’ve seen this reported before). Proceeded with standard install, I went with straight ext3 filesystems. You may want LVM or other fancy stuff, but I didn’t bother. I took care of unchecking the “Standard system” install option, which would install a lot of uneeded stuff like NFS, and results in a very, very minimal Debian install. Complete install, set root password, apt sources etc, and boot into the new system.

3) New kernel and packages. “aptitude update” and install SSH and the new kernel “aptitude install ssh linux-image-2.6-686-bigmem”. This should be all handled automatically, including the new kernel being setup in grub. Reboot. Once the system is back up, check /proc/cpuinfo, /proc/meminfo and “top” for correct 8-logical-CPU and 16635720 kB MemTotal. You may want to do a “aptitude upgrade” too to update everything with security updates. I also like ntpdate, tz-brasil and ntp-server for keeping the clock right.

4) Install Dell OMSA. The nice folks at sara.nl offer some excellent pre-packaged Dell OMSA install for Debian (it’s version 5.2, so it just plain works, without the “storage not found” problem). Thanks to them, you can just add “deb http://ftp.sara.nl/pub/sara-omsa dell sara” to /etc/apt/sources.list (ftp:// also works), do “aptitude update”, and “aptitude install dellomsa” and it’s quite ready. It’s a large package, around 100mb, but installs perfectly. After the install, run “update-rc.d dsm_om_connsvc defaults” and “/etc/init.d/dsm_om_connsvc start”. You can then go to “https://x.y.z.w:1311″ (on another machine) and get to the OMSA web interface. Log-in as “root” with root’s shell password. It’s just that sweet. Dell’s own install system on supported OSes are not even close. I will post about SNMP support for OMSA later.

5) Install VMWare prerequisites. VMWare Server links dynamically to a lot of stuff. I got a few pointers from other sites, but ultimately “ldd” and “apt-cache search” were my best friends. The best indication you’re missing libraries is the VMWare install program complaining about them, or even rejecting your VMWare serial number, or vmware-mui telling you vmware isn’t installed. Anyway, this is the final aptitude line for install all the dependencies I found: “aptitude install libx11-6 libx11-dev libxtst6 xinetd wget linux-headers-`uname -r` build-essential gcc g++ psmisc libxt6 libxrender1 libxi6″.

6) Install VMWare Server and VMWare Management Interface. You get these from vmware.com after registering. Don’t forget to request your free serial number from them too. You should download the latest version (I got 1.0.3) in .tar.gz format. Just “tar xzvf” them, and run the installer script as per the manual. Everything should go smooth – VMWare will say you’ll need to compile the modules, and that should go just fine (no need for any-to-any patches). Do the same install routine for vmware-mui. Once it’s installed you can get to the nice VMWare web interface via “https://x.y.z.w:8333″. You will also connect via VMWare Console (I run that on Windows…) on x.y.z.w port 902. VMWare is able to see around 14.5Gb of RAM, which is excellent for my needs. Any given VM is limited to 3600mb, as usual.

Carrinho de Compras com AJAX

Posted by pardini · 2 Comments 

Inspirado pela onda web 2.0, estou prototipando um Carrinho de Compras com AJAX. Usando, óbvio, prototype.js. Ainda não está pronto, mas acho que vai ficar bom. Veja um screenshot recente:

Carrinho Com AJAX

High Nerd!

Posted by pardini · Leave a Comment 

I am nerdier than 80% of all people. Are you nerdier? Click here to find out!

Burrocracia NET/Virtua chega a novos extremos

Posted by pardini · 8 Comments 

Apesar do serviço ser excelente (e caro), a NET/Virtua me surpreendeu com a burocracia na semana passada. Quando fomos morar no antigo apartamento da minha avó, reativei a assinatura NET que meu pai tinha feito para minha avó. Com isso passei a pagar R$69/mês para ver enlatados americanos, e nenhum canal de filme. Além disso, fiz um pacote ‘fidelidade’ (você não paga assinatura, nem instalação, mas tem que ficar 12 meses senão paga multa) de um Vírtua 600kps, pagando $89/mês. Aqui no escritório temos um Vírtua 1200/600kbps, pagando R$140, então não achei ruim.
Agora, cinco meses depois, estamos nos mudando (pergunte a Dine sobre os detalhes, e sobre o coletivo, ok? isso aqui é blog de nerd) e preciso transferir tudo (TV e Virtua) para um novo endereço. Liga na ‘central de emburrecimento’ e olha que fácil: “Isso não é possível, senhor”. Pergunto a razão. “O contrato NET que o senhor possui, senhor, é vinculado ao condomínio, senhor, e não pode ser transferido, senhor”. 3 horas depois: “a nossa sugestão, senhor, é que o senhor faça uma nova assinatura no novo endereço, senhor, e depois cancele a antiga, senhor”. Mas é o plano ‘fidelidade’? “Nesse caso, senhor, o senhor estará pagando uma multa de R$240, senhor. Afinal o senhor está cancelando o serviço, senhor”. É o fim…
Depois de cinco horas (sério!!!) no telefone com os infelizes, um supervisor me indica a solução mágica: “Basta fazer uma nova assinatura NET/TV no novo endereço, senhor, com a mesma titularidade, que será possível transferir o Virtua/fidelidade para o novo endereço”. Trouxa eu que fiz isso, e agora estou a 6 dias tentando convencer algum outro infeliz, na área de PJ, ou via FAX, ou sinal de fumaça, “senhores”, que fiz o que mandaram, e que se não transferirem isso rapidinho, vou meter todo mundo no PROCOM, e cancelar todos os elogios jamais feitos ao Virtua. Fim do mundo!

Obs: já mandei mais de 50 faxes, e perdi nada menos do que 7 horas e quinze minutos no telefone, contadinhos, com esses infelizes. Anda logo, vai.

PS. Consegui finalmente esvaziar meu gmail, via POP/SSL. O POP deles só manda 600 mails de cada vez, é um inferno. Agora colocarei a conta do gmail via fetchmail na minha conta principal, tornando a menos inútil e mais verificada.