January 5, 2010
filed mid-morning by DrScofield in: from the grid,linux
technorati tags:
QR code for this entry · average time to read 0:45 minutes

the latest rezzme now contains the necessary code to build debian/ubuntu dpkgs — making it as easy to install rezzme packages on the latest debian/ubuntu systems as it already is for windows and mac OSX machines as the dpkg format allows me to explicitly specify the prerequisites (such as PyQt4).

while working on the dpkg support i also found out that debian/ubuntu has the very useful /etc/firefox-3.0, /etc/firefox-3.5, and /etc/thunderbird directories that allow me to provide package specific javascript to, for example, add a protocol handler for the rezzme: URI scheme. that along with gnome’s gconf tool gives us the same seamless rezzme user experience as on windows or mac OSX — unfortunately, it seems that nothing comparable exists for redhat/fedora based systems.1

also the windows build code has been cleaned up and the no longer required dependency on setuptools removed.


  1. at least i couldn’t find anything comparable; if you know how to do this — independent of minor version upgrades of firefox and thunderbird — i’d appreciate it very much to learn about that. 

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
December 9, 2009
filed in the early evening by DrScofield in: hacking,linux
technorati tags:
QR code for this entry · average time to read 0:57 minutes

i just switched over from thunderbird 2 to the new sparkly thunderbird 3 — and i like it very much. particularly the tabbed user interface is quite nice but also lightning 1.0 seems to cope much better with those lotus notes generated calender invites :-)

what did bother me was that i couldn’t find an easy to use function for keyconfig to bind the page left and page right keys (aka F19 and F20) of my X200 keyboard to “previous tab” and “next tab”. after some digging i stumbled across the mozilla thunderbird 3 tabmail page which then allowed me to figure out how to create the code for keyconfig:

// next tab
var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].
    getService(Components.interfaces.nsIWindowMediator);
var winId = windowManager.getMostRecentWindow("mail:3pane");
var tabmail = winId.document.getElementById('tabmail')
tabmail.switchToTab((tabmail.tabContainer.selectedIndex + 1) % tabmail.tabInfo.length)
and
// previous tab
var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].
    getService(Components.interfaces.nsIWindowMediator);
var winId = windowManager.getMostRecentWindow("mail:3pane");
var tabmail = winId.document.getElementById('tabmail')
tabmail.switchToTab((tabmail.tabContainer.selectedIndex + tabmail.tabInfo.length - 1) % tabmail.tabInfo.length)

copy & paste the code snippets and use keyconfig’s “add key” feature to bind the code to whatever key you’d like to use.

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
November 23, 2009
filed mid-afternoon by DrScofield in: hacking,linux
technorati tags:
QR code for this entry · average time to read 1:41 minutes

i recently switched all my systems from running kubuntu hardy heron 08.04.02 to xubuntu karmic koala 09.101 — a rather pleasant switch over. the only thing that was bothering me was the really crappy fonts in firefox and emacs. in firefox, no matter what i configured in firefox itself or in the appearance settings dialog of xubuntu (tried both gnome-control-center and XFCE’s appearance dialog) the fonts would still be blurry and below a certain size unreadable almost. in emacs i was suffering from the blurriness plus humongous menu fonts (i am getting older, i know, but so far i don’t need that large a print, really).

after a lot of research i finally managed to track it down to the following:

  1. firefox doesn’t seem to be really interested in what the user’s desktop settings say, the only guy it will listen to is fontconfig configured via /etc/fonts/conf.d!
  2. to get rid of the blurry fonts i needed to drop the 10-hinting-{full,medium,slight}.conf from fontconfig’s /etc/fonts.conf.d directory

that fixed the blurry fonts in firefox and emacs.

to get emacs menu’s back to a more sensible size i had to edit $HOME/.emacs.d/gtkrc — changing the default face via M-x customize-face only affected the buffer and modeline fonts but not the menu itself. i’m using the DejaVu Sans fonts, so my gktrc file looks like this:

style "user-font"
{
    font_name="DejaVu Sans 8"
}
widget_class "*" style "user-font"
gtk-font-name="DejaVu Sans 8"

style "default"
{
    font_name="DejaVu Sans 8"
    bg[NORMAL] = { 1.0, 1.0, 1.0 }
}

that one fixed emacs.


  1. yes, i did try kubuntu 09.10 in the hopes that the KDE 4 gang had gotten their act together and had produced by now something as usuable (as opposed to blinky, flashy, sparkly) as KDE 3.5 — alas, that hope was in vain: a lot of the features that i’d valued in KDE 3.5 were still missing, usability was still not on par with KDE 3.5′s usability — but, hey, it’s blinky, flashy, sparkly, surely that counts for something? no, not really. i’m less interested in being an onlooker in the continuing GUI-blinky, flashy, sparkly pissing contest with windows/mac osx, and rather interested in a desktop that i can adapt to my needs without having to go on an archaeological expedition into the innards of KDE 4. sorry about that.

    and, also, yes, i know about the KDE 3.5 repo for karmic — tried that, in fact, it mostly works, but with producing “cannot contact session manager” (no matter which session manager i tried) that was no longer usable either. really sorry. 

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
September 1, 2009
filed mid-afternoon by DrScofield in: from the grid,hacking,linux
technorati tags:
QR code for this entry · average time to read 2:04 minutes

a colleague of mine in japan contacted us asking whether our in-world collaboration tools could be extended to support japanese characters — he had tried our internal, public sametime 3d servers and had noticed that while in-world chat and instant messaging worked just fine, our flipcharts, brain storming boards, calendar, and voting tools did just display rather boring little rectangles :-(

not good. even worse when it means lost leads. so i set out to investigate. since OpenSim is being used in japan, it was a fair assumption that we might have a font problem here. this was confirmed by a twitter from adamfrisby:

@DrScofield so it should load fine.Only issue you need to be aware of is fonts – you need to use a font with the correct charset availible.

so, first port of call: how are we specifying the font to use for text rendering? digging through the OpenSim source i ended up in the VectorRenderModule:

    private void GDIDraw(string data, Graphics graph, char dataDelim)
    {
        Point startPoint = new Point(0, 0);
        Point endPoint = new Point(0, 0);
        Pen drawPen = new Pen(Color.Black, 7);
        string fontName = "Arial";
        float fontSize = 14;
        Font myFont = new Font(fontName, fontSize);
        SolidBrush myBrush = new SolidBrush(Color.Black);
        ...

gulp: we’ve got it hard coded :-(

so, next question: can we change it dynamically? looking through the code, it seems like we might:

    ...
    else if (nextLine.StartsWith("FontName"))
    {
        nextLine = nextLine.Remove(0, 8);
        fontName = nextLine.Trim();
        myFont = new Font(fontName, fontSize);
    }
    ...

except, hmph, there is no osSetFontName() OSSL function :-(

a couple of SMOPs later, we had osSetFontName() and could also configure the default font name in OpenSim.ini, good. now to figure out which linux font would do the trick.

i tried:1

  • Arial — no good: doesn’t have japanese script support
  • DejaVu Sans/Serif — again, no good, no japanese script support
  • Kochi Mincho — works!

— the configuration for that one is:

[VectorRender]
    font_name = "Kochi Mincho"

my next quest was to see whether i could find a font that would support the whole range: european scripts as well as japanese and also chinese.

…unfortunately, while windows users have Arial Unicode MS there is no such complete beast available to linux users — yes, there are fonts such as bitstream cybit, but their license conditions either don’t allow commercial use or only for a single user. so, if you are running under linux you need to localize your OpenSim installation via OpenSim.ini.

but! at least we figured out how to get japanese character sets supported in OpenSim on linux and can now configure one of our sametime 3d servers to support japanese OpenSim users properly! :-)


  1. lest you get the wrong impression: i know no japanese, instead i’m using google translate to produce suchs gems as “OpenSimは岩!”2 

  2. and hoping that the good folks at google don’t do a “Έχω τρεις όρχεις” on me… 

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
April 22, 2009
filed mid-morning by DrScofield in: from the grid,hacking,linux
technorati tags:
QR code for this entry · average time to read 1:17 minutes

our Sametime3D test server is running a number of regions, some of them are rather on the monster side of things with gazillion scripts (ah, those brainstorming boards). until recently our opensim startup scripts would just grap a copy of mono and let it loose on OpenSim.exe and things would be working just fine.

sometime over the course of the last 10–14 days opensim must have crossed some (invisible) line drawn in the sandy thread beaches of monomania, as all of a sudden we noticed that three-avatar-meetings were working fine (chat & movement work) but as soon as we were joined by the fourth avatar, things came to a grinding halt: no movement, no chat (voice was still working but that’s to be expected as SL voice is pretty much running independent most of the time from what’s going on inside the region).

after some nose cone polishing, some more befuddled staring at the log files, and not finding anything immediately obvious, i went and discussed this problem with fellow opensimers on our intranet IRC opensim channel — sean had the good idea of mentioning the MONO_THREADS_PER_CPU environment variable. checking our startup script (just to make sure) showed that we were not setting it — and, thus, it was at its default setting of 50…

…so we went ahead and added it, setting it to 500. why 500? good question. and a question to which there is no clear answer: ask two opensimers and you’ll likely get three different recommendations, i’ve heard 75, 500, 1000, and also 2000. ralf haifisch recently tried to obtain clarity on this issue but so far the exact value for MONO_THREADS_PER_CPU remains a bit of magic.

and, guess what? that did the trick, it seems. we got over the three-avatar-limit.

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
February 17, 2009
filed mid-afternoon by DrScofield in: from the grid,linux
technorati tags:
QR code for this entry · average time to read 0:11 minutes

here is the updated mono-build script for ubuntu hardy (intrepid might work as well).

update: since posting this i’ve been experiencing intermittent (that is, non-deterministic) mono crashes when running OpenSim, and have reverted to mono 2.0.1 which runs much more stable.

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
January 8, 2009
filed in the early evening by DrScofield in: hacking,linux,research
technorati tags:
QR code for this entry · average time to read 0:28 minutes

the x200 i’m using has enough omph to power OpenGL on both the builtin display and the 1600×1200 external display. unfortunately whenever i moved that glxgears window on to the second screen it would just show…nothing. googling around for that showed that a number of people had the same problem but nobody had found a solution.

repeated staring at the intel(4) man pages resulted in the hunch to try and switch from EXA acceleration to XAA acceleration

Section "Device"
Identifier      "intel"
Driver          "intel"

Option          "monitor-VGA" "VGA"
Option          "monitor-LVDS" "LVDS"

Option          "AccelMethod" "XAA"
EndSection

an X server restart later, and, voilá!, glxgears shows its gears on screen 2. problem solved.

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
January 6, 2009
filed mid-afternoon by DrScofield in: from the grid,linux
technorati tags:
QR code for this entry · average time to read 0:13 minutes

a little while ago i posted a shell script to build mono 1.9.1 on ubuntu. since then mono 2.0.1 has been released and today i finally took some time to update the build script. have fun.

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
December 30, 2008
filed around lunchtime by DrScofield in: hacking,linux
technorati tags:
QR code for this entry · average time to read 0:23 minutes

as much as i like kubuntu 08.04.01, there is one issue that’s a pain in the netherregions: printing from java — it just doesn’t work with the sun6-java package :-( and CUPS 1.3 (which is the default version on 08.04.01): java’s printing subsystem will just get all confused by the missing page orientation that CUPS reports back and will take a runner.

luckily, pikopong has worked out a solution: edit /etc/cups/printers.conf and add

Option orientation-requested 3

before each closing </Printer> line, save, and restart your CUPS subsystem:

# /etc/init.d/cupsys restart

done.

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
December 27, 2008
filed in the late evening by DrScofield in: hacking,linux,void
technorati tags:
QR code for this entry · average time to read 2:37 minutes

as part of my job i need reasonably good graphics to be able to run virtual world clients (reasonable, i’m not too greedy). when i recently got an upgrade from my “old” thinkpad x60 to a fairly new x200 with an intel GM45 inside, i was really looking forward to it improved graphics performance1. after a bit of research it seemed that only the latest kubuntu 08.10 would fully support the graphics card.

so, after downloading the ISO image of the kubuntu 08.10 alternate boot CD2 i installed it on the new x200 — after about 30min or so i had the base system installed and was ready to copy in my backed up home, project and source directories. a first glance and apt-get update; apt-get upgrade revealed: KDE4.1 was running. interesting…

…and it quickly transpired: KDE4.1, while all glamorous and flashy (lots of blink here, there, and there, there, and there) was not really on par with the powerful and versatile workhorse KDE 3.5, not at all:

  • no desktop icons
  • thinkpad keys (fn-f4 et al) not really working (fn returns XF86WakeUp for some strange reason)
  • trying to change screen setup via system settings was a complete failure: user interface utterly confusing and apparently itself confused about the available displays (i was just trying to enable the 1600×1200 TFT and place it “next” to the x200′s LCD)
  • trying to accomplish the desired display configuration via xrandr resulted in a nice and ugly crash of kwin

hmm…okaayyy. perhaps we can live with this as the intel 5100/5300 WLAN interface is working nicely…well, kind of: knetwork manager really didn’t like our company internal WLAN setup and just ignored it. not good. but then, nothing to really blame on kubuntu 08.10: knetwork manager never liked our WLAN, not in kubuntu 08.04 nor in kubuntu 07.04 — googling around once more for a possible replacement i stumble over wicd.

wicd turns out to be quite flexible and we can even add authentication schemes — it’s rather simple to add support for our internal WLAN.

next, i check whether on the secondlife client: it somehow seems a bit sluggish…well, sluggish seems to be a bit of and understatement: it’s downright jerky. running glxgears it turns out that i’m getting about 300fps — just 300fps! ouch. very ouch. turns out (k)ubuntu 8.10 has a problem with intel based GPUs.

the suggested workarounds just don’t cut it and actually result in a very unstable system: enabling the external monitor still crashes kwin; running the secondlife client sometimes works, sometimes it crashes the X server, sometimes it just causes a frozen system; suspending always kill the X server :-( — a final attempt at upgrading to KDE 4.2beta just results in keybindings not working across reboots. :-(

so, i decide to try running kubuntu 8.04.01 on the X200:

  • X performance: consistently over 1200fps, sweet :-)
  • intel 5100/5300 WLAN: not working at first, installing the drivers from the intel linux wireless at first works, but once i try a suspend i get an ugly kernel crash — worse: on booting it crashes as well

still, WLAN can be worked around by using a USB WLAN — so, i reboot, remove the WLAN driver from the system, apply a kernel update that just became available (2.6.26-23) and reboot…

…and am utterly and completely amazed when i call up wicd to connect to the office ethernet: apparently the latest kernel update brought with it support for the intel 5100/5300 :-)

so, the latest kubuntu 08.04.01 works like a charm on the x200.

  • kubuntu 08.10 on x200: keep away from it (in general even)
  • kubuntu 08.04.01 on X200: recommended.

  1. especially the fact that it could operate the large screen, 1600×1200 TFT display and still support openGL. 

  2. to have the installer encrypt all partitions. 

all content posted on these pages is an expression of my own mind. my employer is welcome to share these opinions but then again he might not want to.
next page »