September 15, 2012
filed terribly early in the morning by dr_who in: hacking,linux,void
average time to read 0:25 minutes

while tweaking the spam filters on our mail server i finally took the step of adding a cron job to learn from the inbox and junk folders of each user. as we are using spamassassin as part of our spam defense this basically involves a couple of invocations of sa-learn to

  • learn the “ham” from each users inbox folder
  • learn the “spam” from each users junk folder

below is the shell script that gets invoked by cron once a day:

the while read line; do ... done bits are there so that i can nicely indent the output of sa-learn.

works rather nicely.

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.
October 19, 2009
filed around lunchtime by dr_who in: void
average time to read 0:08 minutes

sean dague forwarded me this youtube vid:

lol…

…and actually fits quite well to this register story about android going to overtake iDon’t, err, iPhone in 2012.

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.
May 24, 2009
filed in the early afternoon by dr_who in: hacking,void
average time to read 0:48 minutes

while researching the german word “wallen” i bought the universalwörterbuch from duden, a respected and well-known dictionary publisher in german speaking countries. the download page offers a debian–ubuntu package of officebib, the underlying application for a series of dictionaries from duden and other publishers. running kubuntu i naturally chose that one to install — and it worked…

…it worked but in contrast to all other applications was using pixel fonts instead of truetype fonts, rendering all text rather ugly. today i did a bit of searching around whether other folks had encountered this issue and had perhaps found a way around it. eventually i came across a post on the {} blog (sic) which recommended not to use the .deb package but instead to one of the .rpm packages:

% sudo apt-get install fakeroot alien

will install the pre-requisites. then download the SuSE .rpm package and turn it into a debian package like so:

% fakeroot alien officebib-5.0.4-1-suse.rpm

and install it:

% dpkg -i officebib_5.0.4-2_i386.deb

voila! no more ugly fonts.

now, why doesn’t duden do this instead of providing a flawed .deb package? puzzled.

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 dr_who in: hacking,linux,void
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.
October 15, 2008
filed late at night by dr_who in: void
average time to read 1:12 minutes

this morning i learnt that on monday afternoon my very good friend (and colleague) steve wright died after a motorbike accident in twyford.

to say that i’m devastated and sad is an understatement.

all day long pictures of steve keep coming up: our first project together for a UK mobile phone operator, working frantically through the night to get the demo running next morning at 9:00 … steve picking mrs d and me up at the end of our southdowns walk last year and whisking us back to bigpath farm … steve taking care of their cat bramble … steve preparing the BBQ … us having a ridiculously expensive pint of guinness at disneyland paris … seemingly endless and escalating sametime exchanges of more and more ridiculous icons that we each had found on the internet … his two words of german “moin moin” with which he would start all his sametime sessions with me … DVDs with those missed topgear or dr who episodes arriving from the UK … steve taking us on a mini-pub crawl through pubs of hampshire … URLs with links to fantasticly looking new bikes … URLs to ridiculous stuff each of us had found on the internet … our planned trip to the bike exhibition in milano in three weeks, him as the CEO of bigpath enterprise, me as the bigpath enterprise sales director germany and switzerland … his “right!” when he’d just finished something … standing in line at the coffee bar in hursley … his shed full of bikes and bike parts … his wit … his humour … having a laugh with him…

sigh.

we have lost a very good friend and i miss him terribly. our thoughts are with his family who must miss him even more.

here’s to you, steve! i hope we’ll see each other again some day!

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 3, 2008
filed in the late evening by dr_who in: exhibition,from the grid,GNU,linux,m-health,void,weirdology
average time to read 1:30 minutes

incredible as it is, GNU turns 25! unless you’ve been hibernating behind a big rock in a remote area almost off our world you must have heard about GNU — in fact, i think it’s fair to say that without GNU, without richard stallman and his vision we’d not have the internet as we know it today! not by far! software like linux, apache would not have been possible without GNU tools. even more — even if you are not aware of it, you might already be using GNU/linux in your mobile phone, your internet router, your set-top box, and so forth.

stephen fry, the “english humorist, writer, wit, actor, novelist, filmmaker and television presenter”, made a rather nice video for the occassion, entitled Freedom Fry — “Happy birthday to GNU” — see for yourself:

httpv://www.youtube.com/watch?v=hjFahtRxgd4

aside from mind-blowing software such as the GNU compiler tool chain, emacs, and lots and lots of other tools and programs, i personally think the GNU public license (GPL) is one of the most remarkable ideas that happened in software: basically it says

here is the software, here is the code, you can do with it what you want, but if you distribute it further you have to make the source available for free and if you make changes to the code you have to distribute those changes as source code for free as well

brilliant. as stephen fry puts it: that is the good science equivalent of software. we can use it, we can build on it, but so can you and you even have the right under the GPL to demand that we give you the source to our code if we distribute it ourselves.

happy birthday GNU!

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.
filed in the early evening by dr_who in: void
average time to read 0:13 minutes

…and we are live: IBM Takes Lotus Sametime into 3D with OpenSim nice to see everything coming together and going live :-) have a look yourself:

httpv://www.youtube.com/watch?v=QzuiEzTah5w

and all powered by opensim :-)

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.
May 27, 2008
filed just before lunchtime by dr_who in: from the grid,void
average time to read 1:47 minutes

similar to other virtual worlds opensim supports in-world chat (and instant messaging) so that two avatars can “talk” to one another. the code that implements that functionality is mostly contained in ChatModule, a region module.

OpenSim also supports an IRC bridge: you can tie your OpenSim grid to an IRC channel hosted by an IRC network and everything that’s being said (chatted) in any of the OpenSim regions is reported by an OpenSim IRC bot on the IRC channel — and vice versa.

until recently1 chat traffic and IRC bridging was done by one single region module, ChatModule. as we are thinking about adding an XMPP bridge that was sub-optimal and we needed to split ChatModule

…to do that i’ve basically removed the ISimChat interface through which ChatModule was being called and turned the interface into a set of events in EventManager: OpenSim basically has something that we could virtual information bus that allows region modules to register handlers for certain event types. for each event type we usually have a trigger method in EventManager which a system component can invoke and pass data into to have it distributed via the “virtual info bus” to all subscribed region modules. for the chat functionality we now have two new events:

  • ChatFromWorldEvent — which is used to distribute chat from in-world objects
  • ChatBroadcastEvent — which is used to send a broadcast chat to all logged in users

plus, of course, the corresponding TriggerOnChatFromWorld and TriggerOnChatBroadcast methods as well.

the old ChatModule now exists as ChatModule and IRCBridgeModule. the new ChatModule now only takes care of chat traffic, nothing else. IRCBridgeModule is subscribed to ChatFromWorldEvent to receive all chat traffic from in-world and is also subscribed to each user’s client object to receive all chat traffic from clients (ChatModule does this also).

using the new ChatBroadcastEvent it was now possible to implement the LSL function llOwnerSay() as normal chat instead of having instant messages pop up.

also, /me is now properly translated in both directions. typing /me sneezes in the IRC window2 causes IRC to say:

…which is then correctly rendered in OpenSim:

likewise, typing /me laughs as Dr Scofield in the secondlife™ client shows up as follows in the secondlife client:

and is correctly reported in the IRC channel:

another new thing: as you can see

IRCBridgeModule now reports more (and correct) presence information as well.


  1. roughly before subversion release 4850 or thereabouts. 

  2. i’m using pidgin for all my IRC, google talk, and sametime chats. 

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.
May 15, 2008
filed mid-afternoon by dr_who in: from the grid,hacking,void
average time to read 0:52 minutes

our lab “owns” an island on the LindenLab grid and we’ve created a “lab” avatar who is the estate owner. as the island is paid for by the lab, we need to have monthly account statements on file for the bean counters. so far, i had to remember to log in to the lab avatar’s account page, copy the account statement and mail it our friendly lady in accounting taking care of these things (yes, we are a small lab)…

…the only problem with that is that i tend to forget these things and our friendly accounting lady has to be rather patient and usually ends up sending reminder notes.

so, after another one of these notes and as it was becoming rather embarrassing that i kept forgetting, i decided to tackle it once and for all and write a python script to do this automatically. the very excellent mechanize python package turned out to be an invaluable tool.

here’s the script in all its glory:



		


it reads the avatar name, password and so forth from a configuration file:

adapt the config file to your taste and invoke as follows:

sl-account-statement --config config.cfg

voila!

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.
May 14, 2008
filed around lunchtime by dr_who in: void
average time to read 1:02 minutes

we are currently trying to figure out what the best approach for a REST “API” for regions is and would like to solicit comments :-)

currently the idea is to have a scheme as follows:

  • http://opensim.foobar.org:9000/admin/regions —
    • GET returns an array of (UUID, name, x location, y location, region’s REST URL)
    • POST would create a region
  • http://opensim.foobar.org:9000/admin/regions/4b787c46-1e3c-40ae-9494-2c924428f8e5/
    • GET would return detailed information about region
    • DELETE would delete region
    • PUT would update region information
  • http://opensim.foobar.org:9000/admin/regions/4b787c46-1e3c-40ae-9494-2c924428f8e5/name
    • GET would return name of region
    • PUT would update name of region
    • (similar for other region attributes if it makes sense)

current planning is to have this as an ApplicationPlugin level set of RestPlugins. an alternative would be to use region modules plus an ApplicationPlugin (for GET/POST on /admin/regions).

this applies to region (meta) data. the next question would be how to structure this for avatar information and also for stuff like inventory: something along the lines below?

  • http://opensim.foobar.org/admin/avatars
    • GET returns list of known avatars?
    • POST creates account?
  • http://opensim.foobar.org/admin/avatars/430f1da7-0e35-4c0f-985d-15046c077967/
    • GET returns detailed information about avatar?
    • PUT updates?
    • DELETE deletes?
  • http://opensim.foobar.org/admin/avatars/430f1da7-0e35-4c0f-985d-15046c077967/inventory/
    • GET returns inventory listing?
    • POST adds items to inventory?
    • DELETE deletes inventory items?
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 »