How to eject an iPod

Archimedes is notoriously bad at automounting, which means that it's a bloody nuisance to play music from my iPod. The sound output from Archimedes' on-board audio is not that good anyway, so I just want to use the USB port to power the Universal Dock. The only problem is that Archimedes still grabs enough control over the iPod's disk for it to display the Connected. Eject before disconnecting message and not play any music, even though the drive doesn't show up as mounted.
How to eject it properly (see the comments here):
Find out which device the computer is using for the iPod with ls -l /dev/disk/by-id. Eject the pod with sudo eject /dev/sdd1. (replace "sdd1" appropriately)


How to align plasma widgets

Update (05/2012): The kdeplasma-addons (Kubuntu; plasma-addons on SuSE) package provides a grid layout. Access via right mouseclick on desktop->Desktop Settings->Layout. Widgets snap to the grid when resized/moved.

The discussion about how to best do plasma layouts is in full cry in the forums (e.g. here), so this is the foot soldiers' method to somehow uniformly scale and align plasma desktop widgets:

All geometry values are set in the ~/.kde4/share/config/plasma-desktop-appletsrc file (KDE4.3; 4.2 users take plasma-appletsrc).
The relevant entries have e.g. the following structure and can be identified by their plugin name:

The geometry option specifies xposition, yposition, width, height. According to this (german) forum discussion zvalue handles foreground/background and transform specifies rotations. Adjust to your liking (those calculations could definitely be done by a script) and restart plasma as described here


Hey, I know that one!

A problem apparently not confined to Windows.

Be careful with your KDE4 update

…if you are using factory: openSuSE snuck in KDE4.3 β 1, and it has its snags. Shouldn't beta 1 be in the unstable repo?
Systray icons seem to be an all or nothing issue: while their display has greatly improved on Tisiphone, they are nearly unusable on Archimedes (try and find Kmail in the image above…). Akonadi keeps popping up an error message about not being able to connect to localhost on SuSE 10.3 for all KDE versions - the akonadi/PIM integration in KDE 4.2 is still being worked on according to the developers.


Unison fails to set permissions

Unison persistently refused to synchronise new files not present on one of the machines claiming:
"Failed to set permissions of file …" (different user names and IDs, by the way).
The solution (found here) is to disable owner and permission setting in the corresponding ~/.unison/<theproject>.prf file. Add the lines
and you should be fine.
Update (12/2014): I ran into a permissions problem again after installing a fresh 14.10 Kubuntu while keeping my old home partition (at least I think that's what changed between Unison runs ;) ).
This time it was "Error in setting permissions". This bug discussion recommended adding a
line to the .prf file (in addition to the options listed above), which solved  my issue.


Pulseaudio - I'm lovin' it

Freedom of choice is great - but SuSE 11.x definitely sports too many sound servers and backends. There is Pulseaudio (GNOME), Phonon (KDE4) and good old Alsa (just to name the most common ones), and I don't even want to try to understand how they work together or, actually, don't.
Repercussions on my system were that flash video in a browser doesn't play back properly as soon as any audio app is running, even with stopped playback. Sucks.
I decided to get rid of pulseaudio. You have to disable all pulseaudio support with
sudo setup-pulseaudio --disable
Afterwards, you can uninstall all pulseaudio packages, except for libpulse0, which seems to be a dependency of all sound-generating apps. This solved my problems for the moment.
For the Phonon/Pulseaudio discussion, see the disabling HowTo, Aaron Seigo's blog and the packaging mailing list.


GRUB and broken drivers

Thanks to the automatic update I messed up my freshly installed openSuSE 11.1. i.e. when starting Xorg I got a black screen, also the consoles were no longer reachable because they stayed black as well. In case this happens to you (or you find another driver module troublesome) try to add

(or whatever you suspect to be the problem) in the GRUB command line. After doing so, I could boot into a visible console (YEAH!) and start a console yast in order to delete the magic fglrx driver...

matplotlib and PDF bounding boxes

python-matplotlib can be a bit temperamental sometimes (at least 0.91). At the moment, I am preparing some figures to be included in a (PDF)LaTeX document, which should use correct fonts, math typesetting in the axis labels and a rather small figure size, so that I don't have to scale down in LaTeX, which would give me thin lines and tiny fonts. There is a very handy example in the SciPy Cookbook for all of that, which uses EPS output. No matter, pylab.savefig() also generates PDF when asked to do so - however, with little regard for the actual figure size, so usually the labels are cut off somewhere at the page border.
OK. EPS output and convert to PDF afterwards:
dum,my=os.popen('epstopdf myfig.eps')
A bit cumbersome; the converted eps figs look murky on some pdf viewers, but they print out OK.
Edit (02/2012): Being less ignorant about the matplotlib by now, I'd also recommend tweaking the figure's default parameter set, e.g.:
from matplotlib import pyplot as pl
import matplotlib
para = { 'axes.labelsize': 14, 'text.fontsize': 8, 'legend.fontsize': 11, 'xtick.labelsize': 10, 'ytick.labelsize': 10,  'figure.subplot.left' : 0.12, 'figure.subplot.right' : 0.98, 'figure.subplot.bottom' : 0.11, 'figure.subplot.top' : 0.97}
Or, even easier, use the pyplot.subplots_adjust() method for on-the-fly modification. Savefig to PDF should  yield decent results without the EPS workaround.


TeXlive 2008

… promises to offer some nice fixes: e.g., it disposes of the annoying "Page Group detected which pdfteX can't handle" message that comes with most OpenOffice or inkscape exported pdf figures (confirmed). Get it from the openSuSE:publishing repo. However, the openSuSE packagers removed the tlmgr (TeXlive update manager) utility, because it screws with the rpm database. (see this comment by tlmgr developer Norbert Preining). Completely understandable, but a bit of hard luck if you have to add packages not included in TeXlive. So you can either use the rpm-based TeXlive and install missing packages with mpm (remember to use the right install root and the fact that mpm doesn't manage packages installed by TeXlive), or install the tarball from TexLive and use tlmgr. Personally, I prefer the first option, I didn't gel with tlmgr, the GUI is an eyesore and uninstalling was a pest.
TeXlive 2008 is also only packaged for 11.0 upwards, so it's tar only for 10.3 and below.