10.5.11
Mac OS X comes with Perl installed — that’s good. But it doesn’t come with all the modules you may want. On Ubuntu this is no problem: most modules can be found with aptitude as packaged by Ubuntu and their friends. I was trying to think how to manage Perl modules on my Mac in a similar way, so I could track what is installed. What I didn’t think of was the fact that no software is tracked on the Mac anyway, so why should I care.
Thus I should happily use CPAN to add any modules I might need. Maybe not the most secure thing in the world to run as root, but that’s the expected way to do it…
Turns out there is still a hiccup, but apparently just with Xcode 4: there is no ppc assembler on the system, but Perl is configured to expect one. Fortunately others have already figured this out — the full problem and a fix are presented in Perl and Xcode 4.
I guess I should be backing up the list of installed Perl modules somehow.
7.5.11
I was researching what people do about keyboard mappings when using virtual machines or remote desktop connections from their Macs, especially when the other system is running Windows. Different software packages map the keyboard differently and some even have different modes that provide different mappings. Now whenever I see a Windows desktop, I have no idea what keys to press anymore.
My research led me to KeyRemap4MacBook. It comes with a kernel driver that lets you map any key presses you like, in one or more applications, on one or more keyboards. All this power is configurable in XML and selectable through a preference panel applet.
I haven’t fixed my Windows keys yet (partially because I realized I might want to keep Alt as Alt, instead of using Cmd), but I have added a binding to switch keyboard layouts using a combination similar to the one used on Windows: Command + Left Shift (or Shift + Left Command, if you prefer). As far as your muscle memory is concerned, this maps to Alt + Left Shift on a PC keyboard.
I switch between the Finnish and US English layouts, so I also needed to add support for the Finnish input mode. This is why I added the bindings in checkbox.xml instead of private.xml (see patch) — you could add similar entries in the latter file for the input modes you need.
Update: My patch has been merged upstream and is included in version 7.2.47 and later.
6.6.10
I just patched a couple of ESXi hosts to 4.0.0 build 256968 and found that VMware Tools were no longer loading after upgrading them. After some digging everything is more or less back to normal. (more…)
13.6.09
Ekiga has a problem talking from behind a firewall, or maybe the problem is that both the firewall and Ekiga are trying to be too clever. I’m running siproxd on the firewall to transparently handle SIP connections. All the hardware phones and ATAs as well as X-Lite work well, but Ekiga fails to register.
The fix is controversial: I’m disabling STUN.
gconftool-2 -s /apps/ekiga/general/nat/stun_server --type=string
However, this means Ekiga won’t work from less “intelligent” networks anymore. Since I’m considering Ekiga for my laptop, this might be a problem. Maybe I should try X-Lite under Wine.
2.6.09
I’ve been observing a really strange problem on Ubuntu Server 8.04: processes are sitting in limbo not doing anything. I first observed this as phones losing their SIP registrations periodically (but at random intervals).
When debugging the issue, I saw that a ping running on the system would often just sit there, not sending more packets, sometimes for seconds on end (I didn’t always wait to see if it would ever continue). Since hitting a key on the keyboard would immediately be echoed back, it wasn’t a problem with the terminal or ssh connection. Pinging the system from another would work without problems. Interrupting ping would report no packet loss (which was true — you can’t lose replies to packets you didn’t send).
My best guess is that the alternative scheduler chosen by the Ubuntu developers for the server kernels doesn’t work as intended on AMD CPUs (or just the Athlon XP, or some other part of the hardware I’m using).
My “fix” was to switch to Debian 5.0 (lenny), which doesn’t exhibit this problem at all.
I could have tried with the desktop edition of Ubuntu, but can’t really spare the time right now. Especially since I now have something that works reliably again.
I did try with different network hardware, though. I was originally using an SMC card based on ns83820 (but for some reason not reporting anything at all with ethtool — works fine with the gsip driver on NetBSD). I then switched to a Netwjork “brand” card based on r8169 (well liked by ethtool). No difference, but stayed with the latter (working ethtool is always nice).
24.5.09
Just a short note on getting a minimal Asterisk environment installed on current versions of Debian and Ubuntu:
aptitude install asterisk
m-a a-i zaptel
modprobe ztdummy
Also add ztdummy to /etc/modules so it gets loaded when the system starts.
If the m-a command is not found, install the module-assistant package.
23.5.09
I’ve been always a fan of the robust upgrade procedure documented in the Debian release notes, which has worked without problems even over ssh to remote machines. This has made upgrading very painless (at least since sarge — I haven’t used Debian actively longer than that).
Yesterday I ran into a problem, though, which was only saved by having remote console access. I have a system with a slightly more complicated disk setup: it has two SCSI disks running as a RAID 1 array using md and lvm. Upon rebooting after the upgrade, the system didn’t reappear on the network. What I found on the console was the initramfs panic shell: the root file system had not been found. Rebooting the old etch kernel worked fine.
The workaround proved to be very simple, once I distilled it from the search engine results. Just add rootdelay=10 to the kernel options in the bootloader. I’m using GRUB so this translates to editing the kopt line in /boot/grub/menu.lst and running update-grub.
I had also added raid1 to modules in /etc/initramfs-tools and regenerated the initrd, but that (alone) didn’t help. I’m not even sure it is needed at all — it might already be included anyway when using MODULES=most in initramfs.conf.