I wrote this small applet twenty years ago, lost it to the sands of time – and found it again at… (Thanks guys!)

If you have a half-decent browser, it will probably refuse to show the embedded applet in the fire.html page,
so use this command instead:

$ appletviewer

The source code is available at

Happy 20th Birthday, Java!

Posted in General

uHOWTO: NTP in Windows 2003 – manual intervention required

Atomic Clock Up to Windows 2000, using an NTP server as the time source was as simple as entering the server address in the Time/Date control panel. From 2003 onwards, you must follow the procedure detailed in KB816042 to configure the Windows Time service to use an external time source.


  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type=”NTP”
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags=5
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer=1
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters=”,0x1″
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval=900
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection=3600
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection =3600
  • net stop w32time && net start w32time

You may replace above for any other server (or servers, space-separated) with “,0x1” after each host name. And keep an eye in the Event Log after you restart the service.

Posted in General, SysAdmin

MySQL fails after upgrade to 5.1 on Debian Squeeze

Are you running Debian Squeeze?
Did you upgrade to mysql-server-5.1 ?
Are you getting a message like this?

Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Did you read /usr/share/doc/mysql-server-5.1/README.Debian.gz ?
Go read it again and this time *comment out* skip-bdb in /etc/mysql/my.cnf:

perl -i.bak -pe ‘s/^(skip-bdb)/#$1/’ /etc/mysql/my.cnf
Posted in Debian, General, Linux, SysAdmin Tagged with: , ,

Missing vmnetcfg.exe?

It turns out that from VMware Player 3.0 onwards, vmnetcfg.exe is included in the installer package but is not installed by default, so configuring NAT or additional network interfaces is next to impossible. Luckily, Tony has devised a solution for this particularly annoying problem.

Posted in General

Link: JSESSIONID considered harmful

Craig Condit makes a strong case against JSESSIONID in JSESSIONID considered harmful. And I just learned that it is disabled by default in Grails 1.1.

Posted in Code, General, Java, Security Tagged with: , ,

uHOWTO: Force script recompilation in embedded Perl Nagios

nagiosI just implemented elwell’s notify_via_jabber and it did not work at first. I got the following message in nagios.log:

[1237223883] **ePN failed to compile /usr/local/bin/notify_via_jabber: "Can’t locate Net/ in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/sh
are/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at (eval 1) line 14,
BEGIN failed–compilatio" at /usr/lib/nagios2/ line 157.

I promptly apt-get installed libnet-xmpp-perl but the problem persisted — with the exact same error message. But Net::XMPP was now there!!
Well it happens that Embedded Perl Nagios (ePN) caches the compiled script and does not try to recompile it until its timestamp changes. So I touched(1) the script and this time the dependency was resolved correctly and the script was compiled sucessfully.

# touch /usr/local/bin/notify_via_jabber

This is probably documented somewhere, but I could not find any reference to this kind of problem with Nagios cached scripts so I tought I would share this simple recipe.

Posted in General

A dubious cure for shyness

paxil As it turns out, there is a “cure” for shyness. Seth Stevenson’s story “Extroverted Like Me” is a journey into the world of coolness through chemical aids but it quickly turns into a cautionary tale for those willing to overcome their social awkwardness through the use of mood-altering drugs.
Chocolate still seems safe.

Posted in General

U2 360º

In other news, I just got my tickets for U2s’ first concert of the 360º tour in Barcelona!!! *Yay!*. Thanks, Jordi!

Posted in Blog, General

uHOWTO: Recover an empty Podcast playlist in iTunes

PodcastOur main iTunes box had flaky RAM -a heck of a problem to debug by itself- so it used to BSOD quite a lot during the past couple of months. One of the most common side effects was that the iTunes Podcast playlist would appear empty every now and then. Luckily this is addressed in the Apple Knowledge Base and the solution amounts to using File|Add Folder to Library to add the {iTunes Music folder}/podcast folder to the library. Then you will have to re-activate your subscriptions by pressing the “Subscribe” button for all your favorite podcasts.

Posted in Gadgets, General, iPod, iTunes, Software

uHOWTO: Recover stuck modified keys from VMware Player or Workstation

If you use VMware Player or VMware workstation under Linux and you’re an alt-tab fan like me, you might end up with stuck modifier keys, so you can’t use keys like Ctrl, Alt or Shift outside of VMware. Xiao Feng has written a nice script to recover from this annoying condition without having to reboot, and I tought I’d share it with everyone out there:

# Xiao Feng’s "Recovering from stuck modifier keys caused by VMware"
/usr/bin/xmodmap<< fixme
clear shift
add shift = Shift_L Shift_R
clear lock
add lock = Caps_Lock
clear control
add control = Control_L Control_R
clear mod1
add mod1 = Alt_L Alt_R
clear mod2
add mod2 = Num_Lock
clear mod3
clear mod4
add mod4 = Super_L Super_R
clear mod5
add mod5 = Scroll_Lock

xset r on
xset m 3.5 4
xset b off
xset s off
Posted in General, Linux, sh, SysAdmin, Tech Tagged with: , , ,

About me

I am a Software Architect, System Administrator, Entrepreneur and Open Data advocate, with 21 years of experience building Internet-enabled software, from electronic banking to B2B marketplaces.
If you want to use the Internet as a competitive advantage, look at my resume for more information or hire me.

Debian Consulting

Whether you need to manage a single server, orchesthrate a PaaS cluster or need support for a whole fleet of IoT devices running Debian GNU/Linux, I can help you get the best performance from your hardware. Please contact me for additional information and to get a quote.


Sun Certified Enterprise Architect
Sun Solaris Certified Security Administrator
Sun Solaris Certified Network Administrator
Sun Solaris Certified System Administrator
Linux Foundation Certified Sysadmin
Linux Foundation Certified Engineer