For quite some time I had been experiencing power-off problems on a HP Proliant server running Solaris (or OpenSolaris). Most of the time, the poweroff or init 5 commands will not cut the power and the machine will hang and stay up with fans spinning at full speed. The only solution was to manually power cycle or use LOM to shut the machine down. This has caused data corruption problems for me several times, specially when the HP SmartArray batteries get discharged.

Turns out there is a HP support document, SHUTDOWN PROCEDURE REQUIRED for ProLiant Server Running Sun Solaris 10 to Properly Flush Cache on Smart Array Controller Prior to Shutdown that precisely describes my situation. It seems it’s an interaction problem between Solaris and the cpqary3 drivers (2.1.0 or older) that causes buffers in the HP SmartArray controller to not be flushed on shut down. If the batteries drain, eventually data loss might occur. And precisely, since I was using cpqary3 driver version 2.1.0, I have just upgraded to cpqary3-2.2.0 to see if this solves my problems for once and all. We’ll see :-)

After installing Ubuntu 10.04, I have always consistently had the problem where, after reboot, my Apple keyboard wasn’t automatically reconnected. My Apple Bluetooth mouse, however, was reconnected automatically. Besides the obvious solution of manually disconnecting the keyboard using GNOME Bluetooth Manager, I found a solution by reading Ubuntu’s forums. A comment form jeroen as read in Apple bluetooth keyboard non-responsive after reboot (9.10 alpha thru final) that reads:

I didn’t investigate fully but it seems the hid_apple driver wants to be loaded *before* the bluez connection is setup. If not the “parse failed” message shows up in the kernel log.
To solve this I put “hid_apple” in my /etc/modules.conf and regenerated the initrd (don’t know if this is realy needed)

Turns out that looking for parse failed error message in the output of dmesg revealed I might have the same problem. So, I did:

# echo hid_apple > /etc/modules
# mkinitramfs -o /boot/initrd.img-$(uname -r)
# reboot

And that did the trick. My Apple keyboard did reconnect automatically and the parse failed message was gone from the kernel logs :-)

While trying to decide whether to buy a TechNet subscription, I needed to
Compare TechNet Subscription Offerings. The TechNet Standard subscription lists the following restriction:

Includes most MS commercial software including Beta and RC releases. Does not include some Enterprise or Dynamics software.

Whatever some Enterprise or Dynamics software means. Does it mean Windows Server is excluded? SQL Server?

Microsoft, as open and transparent as always.

“Digital divide”

June 4th, 2010

Ya he leído en numerosos sitios y en numerosas ocasiones que la barrera o división digital (digital divide) — esa línea imaginaria que separa a aquellos con conexión a la red de aquellos que no la tienen — supone gravísimos problemas para el ciudadano común. Incluso alguno se atreve a decir que la dificultad o imposibilidad de acceder a la tecología por falta de medios económicos genera en muchos casos una sensación de ansiedad. Leído así, parece haber sido pronunciado por un tecnodependiente, un adicto a la tecnología o un extremista digital.

La realidad es que conozco gente que no tiene, ni ha tenido nunca, acceso a la red. Y probablemente no tengan nunca. Son gente sencilla, rica de espíritu, con sabiduría y paciencia, que son felices con la vida que llevan. Normalmente viven en un pueblo o aldea, aunque conozco algún reticente que vive a las afueras de una gran ciudad. Algunos han trabajado la tierra y lo hacen con la única tecnología que supone un tractor. Todos cuidan de sus familias. Cuando hablas con ellos, uno se da cuenta de que son plenamente felices, con muy poco. No están hiperconectados. Solo consumen lo imprescindible y necesario. No están inundados diariamente por noticias, publicidad o programas basura de televisión. Algunos ni siquiera tienen teléfono móvil. Viven al margen de las economías del superconsumo, la globalización, Internet o las redes sociales, el correo electrónico o la mensajería instantánea, el iPad o el último teléfono móvil. La realidad es que son felices con muy poco. Una buena comida, un paseo por el campo, una puesta de sol, una partida a las cartas o pasar un rato con la familia y los amigos. Esto significa algo: cuanto menos se tiene, menos se necesita.

Esta sociedad superconsumista y egocéntrica, ¿está abocada a destruirse o a destruirnos? La única división que yo veo no es la digital. Es aquella entre los que consumen lo que necesitan o los que consumen en exceso. Entre los que son felices y viven una vida plena y los que no.

As a casual reader of Blogs, I usually find very difficult to address a particular user’s comment, specially on Blog entries that have a very large list of participants. What I usually do is creating a new comment and adding a “@userid” tag to address the user, but the lack of threading makes it very hard to follow or create a conversation. GMail solved this more or less elegantly for e-mails. Wave has also solved this more or less, but few use it.

It would be nice to implement a system, like Slashdot’s, where one can easily comment on another user’s comment. The same holds true for wall posts in Facebook, where comments from users are not threaded but mixed.

Am I the only one that usability when commenting in Blogs and social networks can be improved?

Social isolation

June 2nd, 2010

It amazes me how many lonely people sit in Starbucks everyday. Some read, some take notes, some use their computers or phones. Perhaps they sit there because of the free WiFi or because the background noise maked them feel like they are not alone. Perhaps because of other reasons I don’t understand.

Is our society driving more people towards social isolation? To spend more time alone, even if more virtually connected than ever? Are social networks contributing to this? Did this start to happen when IM was introduced? What do you think?

Although Ubuntu Lucid 10.04 has native support for BTRFS, it does not like very much auto-mounting a BTRFS volume during start up. The problem seems to be that btrfsctl -a is not invoked during the boot process.

It takes some hacks to udev and initramfs to get this working. I found the solution in HowTO: Btrfs Root Installation:

This initramfs script will make sure the btrfsctl binary gets copied to the RAM disk:

$ cat /usr/share/initramfs-tools/hooks/btrfs
#!/bin/sh -e
# initramfs hook for btrfs

if [ "$1" = "prereqs" ]; then
    exit 0
fi

. /usr/share/initramfs-tools/hook-functions

if [ -x "`which btrfsctl`" ]; then
    copy_exec "`which btrfsctl`" /sbin
fi

I believe the following is not strictly necessary unless you plan on having a BTRFS-based root filesystem:

$ cat /usr/share/initramfs-tools/modules.d/btrfs
# initramfs modules for btrfs
libcrc32c
crc32c
zlib_deflate
btrfs

This will load the BTRFS module while the system boots up, and calls btrfsctl -a to prepare the BTRFS volumes:

$ cat /usr/share/initramfs-tools/scripts/local-premount/btrfs
#!/bin/sh -e
# initramfs script for btrfs

if [ "$1" = "prereqs" ]; then
    exit 0
fi

modprobe btrfs

if [ -x /sbin/btrfsctl ]; then
    /sbin/btrfsctl -a 2>/dev/null
fi

Mark the scripts executable:

chmod +x /usr/share/initramfs-tools/scripts/local-premount/btrfs
chmod +x /usr/share/initramfs-tools/hooks/btrfs

Rebuild the initial RAM disks and GRUB environment:

update-initramfs -u -k all
update-grub

That should do it.

I just realized that Firefox 3.6 (at least on Mac OS X) tries to resolve DNS names locally when using a SOCKS 5 proxy. Instead of handing name resolution off to the Proxy, Firefox tries to resolve DNS names itself.

To have Firefox delegate name resolution to the Proxy, just make sure the network.proxy.socks_remote_dns configuration option is set to true, by navigating to the about:config URL.

From Mac OS X v10.6: Disabling mDNSResponder will disable DNS I found how to disable Bonjour broadcasting without disabling mDNSResponder — because disabling mDNSResponder effectively breaks DNS name resolution.

To disable Bonjour broadcasting, just add:

<string>-NoMulticastAdvertisements</string>

to the array in the ProgramArguments section in System/Library/LaunchDaemons/com.apple.mDNSResponder.plist:

...
        <key>ProgramArguments</key>
        <array>
            <string>/usr/sbin/mDNSResponder</string>
            <string>-launchd</string>
            <string>-NoMulticastAdvertisements</string>
        </array>
...

La mujer y la sardina

February 17th, 2010

“La mujer y la sardina cuanto más pequeña más fina.”