cpbotha.net

voices in my head

cpbotha.net random header image

EuroVis 2010 [Weekly Head Voices #24]

June 19th, 2010 · science, weekly head voices, work

Welcome all to the latest edition of the Weekly Head Voices!  In a bid to get more numbers into my titles (oh who am I kidding, I’m clearly trying to slightly injure or preferably frighten two birds with a single stone, splitting infinitives as I go along), this WHV is dedicated to the EuroVis 2010 conference, which on its part is the reason I spent most of last week in Bordeaux.

Château Faugères, youngest of the chateaux. Photo by Peter Krekel.

EuroVis is definitely the most important European scientific conference on Visualisation. For detailed and complete coverage, see T.J. Jankun-Kelly’s (he was also the uncontested tweetmaster of the conference) detailed blog posts on the first, second and third days of the conference. The post you are reading now is my very own extremely biased and mostly incomplete view of the conference and of conferences in general, which can sometimes be interesting.  Or just very misleading.

Let’s start with the basics: A scientific conference is where a bunch of mostly scientists get together somewhere in the world, ostensibly to present recent results of their research to each other. Work certainly gets presented, and in some cases it’s a treat seeing a gifted orator giving a superb presentation.

However, in my mind the primary reason to go to a conference is not to discuss work that was submitted half a year ago, but to meet with colleagues and friends and to discuss important things, such as life, science in general and the research that has not yet been published or even started up yet. It is a hugely important element of the social goo that keeps a research field coherent and cooperative.

There are numerous overlapping interest and social groups that continuously split off to discuss something or just socialise, and then merge back into the larger group. The various attendees each has their own character and associated mode of operation: Some flit around, speaking to all and sundry, some stick to and act as the backbone of the subgroup that they belong to, some walk around and think, sometimes being approach by yet another type of agent. It’s interesting to watch from the corner of one’s eye whilst one is also enjoying taking part in this system. Sometimes the backyard anthropologist in me wonders how exactly the nature of this social fabric affects the performance of science. I imagine that it would be cool to put together a taxonomy of social conference types and even map their behaviour during a single conference such as this.

In any case, at EuroVis there were, the same as last year in Berlin, 190 attendees.  Three days of presentations, with a poster session and a visit to Saint-Émilion thrown in for good measure.

With regard to the presentations, I seemed to notice an ever-so-slight upwards trend in the number of papers accompanied by open source software implementations (both MotionVA and ShapeSpaceExplorer by respectively our very own Peter Krekel and Stef Busking are open source, but there were more examples). This is really a great development, as it is an important component of the whole open science idea. With the implementations available, colleagues can reproduce one’s results and thus have a greater chance of being able to improve on them. Also, new implementations can be directly compared to existing ones, something which is currently incredibly hard.

Two of my favourite presentations were the following:

  • Visual Support for Interactive Post-Interventional Assessment of Radiofrequency Ablation Therapy by Christian Rieder, Andreas Weihusen, Christian Schumann, Stephan Zidowitz, Heinz-Otto Peitgen: I really like this genre of solutions, where complex 3D problems are reduced to normalised 2D representations. A previous example is the work of Neugebauer et al. at EuroVis 2009. In this case, the authors presented “tumor maps”, a 2D map-style representation of the tumor and its surroundings which greatly facilitates the post-therapy tumor assessment. The fulltext paper will hopefully be linked on Christian’s website soon.
  • Estimation and Modeling of Actual Numerical Errors in Volume Rendering by Joel Kronander, Jonas Unger, Anders Ynnerman, Torsten Möller: Although this is not my personal favourite type of research, I think the work (and work like it) is tremendously important. The authors meticulously measure the impact of different precision and sampling strategies on the volume rendering pipeline, and, as if that wasn’t enough, derive a mathematical model with which the role of these variables can be predicted in unseen volume rendering problems. In my view, this is a great example of research towards deriving elements of that elusive visualisation theory. Just to help ram the point home, the presentation was extremely well executed.

On a slightly higher level, what I’ve also started noticing is the different styles of visualisation.  Many research groups have a distinct style of visually representing their data: One can easily recognise a Viennese design, and sometimes even notice how elements thereof have been subtly adapted by a faction of ex-Viennese scientists in Bergen.  The Bergenesque style is still quite young, but will probably soon spread to different groups.  Of course not all groups are that easy: Our own style is heterogeneous, although I’m glad to see at least the blue-to-yellow more-or-less perceptually linear colour-scale starting to permeate our work. It would still be interesting to start a kind of genealogical tree showing the various styles and also how they spread along with the persons practising them.

On the topic of Saint-Émilion: 1000 vineyards covering 95% of the available land, oldest of the vineyards 2000 years old, number of beautiful old Chateaux (castles man, castles!) each having on average 6 hectares of land. 5 different classes of wine produceds, ranging from 5 euros per bottle (hello there!) up to 7000 euros per bottle. It’s a beautiful piece of country.  In fact, it reminded me very strongly of the Western Cape in South Africa,where I grew up.

My group ended up visiting Château Faugères, by far the youngest of the chateaux, but awesomely cool nonetheless, as it was designed by a Swiss-Italian architect by the awesomely cool name of Mario Botta. We got to taste one (1) wine. This was slightly less reminiscent of the vineyards of the Western Cape in South Africa, where one can taste wines until one starts developing very entertaining coordination problems. Fortunately, this very small oversight was more than compensated for by the subsequent visit to the town of Saint-Émilion, its monolithic church and the catacombs, all narrated by an extremely gifted and humorous guide, and finally by the marvelous concluding dinner, done as only the French can.

So kids, that it was it for this week’s lecture on Further Mystifying Scientific Conferences!  I have to go, as I have to start thinking about the next Weekly Head Voices.

→ 3 CommentsTags:····

Processing + NyARToolkit + multiple marker tracking

June 5th, 2010 · howto, nerd, tech

For various reasons, I need to do multiple marker tracking in processing with NyARToolkit.  However, with the default NyAR4psg layer between these two, multiple marker tracking is downright hard, and when you get it working, it’s not quite what you expect. After a few days of Java hacking, during which I was very pleasantly surprised with eclipse, I am now pleased to present to you my modifications to the NyAR4psg that makes multiple marker tracking easy! See here:

Standard hiro and kanji markers tracked simultaneously with augmented reality sphere and cube. In the background some artwork by my daughter!

I’ve called it NyARMultiBoard, and you can use it instead of the default NyARBoard if you want to track multiple markers.

Download a ZIP file containing everything (source code, jar files) from this directory.  If you unpack this into your processing sketchbook/libraries directory, it should work out of the box.  It’s a drop-in replacement for NyAR4psg, so you don’t need to have that installed as well. There is an example to get you started in NyAR2/example/NyARMultiTest.  Note: This uses the GSVideo capturing stack as I explain here, you should easily be able to change it back to processing defaults (just change GSCapture to Capture).

Please let me know in the comments if this works (or doesn’t) for you!

I made this screencast to demonstrate the multiple marker tracking, assisted by TNR:

YouTube Preview Image

I also made this really bad screencast (old webcam + night time lighting + transcoding):

YouTube Preview Image

If you’re really into the details

I’ve just added two new classes NyARMultiBoard and NyARMultiBoardMarker to the default NyAR4psg distribution. Very importantly, NyARToolkit itself needs to be patched with one extra method in NyARDetectMarker, see the NyARMultiBoard comments.

→ 16 CommentsTags:··

Facebook Like, Share and Retweet buttons in your WordPress

June 2nd, 2010 · howto, tech

Hey man, I’m really busy at the moment, but it took me unnecessarily long to get those really hip facebook like, facebook share and retweet buttons everywhere on my blog, so I thought I’d try and save you some time by dropping a quick note on how I did it.

Adding the Facebook Like button functionality wasted the most time, because there are far too many plugins and howtos that claim to work and don’t quite. I ended up using the Like plugin (official wordpress page and plugin website), because it has the best documentation that includes details on all the ways in which things can go wrong, and there are many.  I’m using the IFRAME option, also because that seems to work most of the time.  I had a hard time finding this plugin in the built-in directory, so I downloaded and installed it manually.

For the facebook share button, I use the Facebook Share (New) Button plugin, and for the retweet button, I’m using the Topsy Retweet Button plugin.  I installed both of them from the built-in “Plugins | Add New” directory.

In all three cases, I made use of the plugin options to have the buttons placed all over my blog, instead of manually editing the theme.

I hope that you enjoy your shiny buttons, and I look forward to seeing you for the next Weekly Head Voices!

P.S. feel free to click on my buttons, right below this post.

→ 5 CommentsTags:···

Augmentation [Weekly Head Voices #23]

May 29th, 2010 · life, weekly head voices

(This edition is about babies, textbook Ph.D. defences and mind-viruses in Snow Crash, all of which can mostly be filed under backyard-philosophy(ish).)

On the theme of striving for The Next Level, my not-quite-1-month-old bundle of joy laughed out loud today for the first time! I’m sure that it was not a false alarm, as I was being my usual comedic genius self (I target the 1 to 3 month-old crowd), and the pattern of stimulus and reaction was just too well-coordinated and sustained to be coincidental.

On the theme of really cool events, on Thursday I had the privilege of being part of the Best Ph.D. Defence EVAR. Seriously people, the day that my good friend Frans Steenbrink became my good friend Dr. Frans Steenbrink will pleasantly resonate in my mind for a long time to come.

A typical scene during an average Ph.D. defence. The candidate is in the middle, surrounded by committee members on both sides. At this very moment, he is investigating two possible lines of argument.

Here in NL, a Ph.D. defence is a fantastic affair: The candidate has to defend his work against the highly-experienced offensive mental manoeuvres of a committee consisting of around 7 wise men, most of them grizzled veteran professors who have eaten many a hapless candidate FOR BREAKFAST! As if that weren’t awe-inspiring enough, the defence usually takes place in some imposing building, preferably more than a few hundred years old (in this case, it was the Academiegebouw in Leiden, almost 500 hundred years old), the committee are in full academic (read: battle) garb, and the whole affair is public, so the candidate is joined by a potentially sizeable audience. Believe me, this can be a nauseatingly stressful experience.

Of course Dr. Steenbrink handled the whole affair with elegance and, extremely unusually, a healthy dose of humour. It might be the first time that I’ve ever seen a candidate disarm his opponents not only by artfully responding to their questions, but with an ever-so-slightly irreverent injection of humour. It was beautiful.

After the successful defence, we were all picked up by a boat and taken via the Leiden canals to De Poort for the after-party, and what an after-party it was… Besides the live performance of Frédérik Steenbrink, the two electro DJs, the superb saxophonist who was able to accompany them musically (!!!), the Louis Theroux-style documentary put together by Mr Cricket, and copious amounts of free beer, it was positively life-affirming to see the Master of Good Karma (the freshly minted doctor goes by many names) being surrounded by his Karma-children, all emanating. You need to know him in order to understand this completely, but you have to trust me that it was beautiful.

On the theme of understated super-heroes, I finally got around to reading Neal Stephenson’s Snow Crash, triggered by a Cosa Nostra t-shirt shown on boingboing. I know I know, I could have lost my Cyberpunk Nerd membership card for only reading it this late in my life…

In any case, I really enjoyed the book, especially for the characters (the protagonist, called Hiro Protagonist, is naturally a half-African American half-Korean hacker / sword-fighter / pizza delivery guy), the far-out society (the world is run by private franchises, amongst others the Mafia, owner of the extremely influential Cosa Nostra pizza chain and run by the charismatic Uncle Enzo), the crazy technological artefacts (the Rat Things!) and for all the changes in society brought about by the crazy technology, not least of which the Metaverse. The Metaverse is the name Stephenson gave to his extrapolation of various phenomena present or considered in 1992: The internet, virtual reality, Gibsonian cyberspace. The protagonists spend a portion of their time not quite jacked in, but with augmented reality goggles and high-fidelity ear-phones, walking around as avatars in an artificial world with a total population of slightly less than what facebook has now, if I remember correctly.

Personally, I didn’t find Snowcrash quite as good as Gibson’s Neuromancer (see my 2003 ode here. it still gives me goose-flesh…), but somehow, very sneakily, it has still managed to manoeuvre itself into my list of all-time favourite books.

The story is built around the interesting idea of a neuro-linguistic virus, that is a certain sequence of sounds that is somehow able to get into the human deep brain, screw things up royally and spread through verbal contact with other humans. It has a cyberspace equivalent called Snow Crash: If programmers in the Metaverse see this specially coded binary image (through their AR interfaces), their brains essentially crash and they’re turned into vegetables. It’s all very complex (see this wikipedia page) and quite far fetched, but the idea of considering certain large-scale social phenomena as a kind of mind-virus, that is a potentially damaging entity that integrates at very low level with its host, is self-replicating and is able to spread to other humans, is intriguing to say the least.

Recall that Dawkins partly coined the by now well-known English term “meme” in his 1976 book, The Selfish Gene, as it turns out that the concept was more or less first written about by Semon in 1904. A meme, analogous to a gene, is an element of social information, for example the mistaken idea that going outside in cold weather increases the chances of getting a cold (in this case, not true, but still a meme). Analogous to a biological virus, a mind-virus would then be built up from various memes. Each meme would take care of a different function of the mind-virus, helping to guarantee its survival and proliferation throughout humankind, for example: Don’t question me (meme1), believe in me (meme2), spread me (meme3), be exclusively faithful to me (meme4), do this or you will be severely punished (meme5), do this and you will be greatly rewarded (meme6).

If you’re wondering what I mean by all of this, rest assured in the fact that Zombo Com has all the answers.

Kids, now go and have yourselves a fantastic week!

→ 6 CommentsTags:·······

An Even More Ultimate Boot Disk!

May 24th, 2010 · howto, nerd, tech

In this short howto, I show you how to combine the Ultimate Boot CD (UBCD) with both Knoppix 6.2.1 and Ubuntu 10.04 onto a single USB stick to create An Even More Ultimate Boot Disk (EMUBD)!

UBCD is a bootable CD image that’s fantastic if you’re trying to save grandma’s PC from a certain death, as it contains a number of different bootable utilities for testing memory, testing and low-level repair of hard drives, partition repair, antivirus and so forth. It even contains Parted Magic, a compact linux distribution for fixing partitions, amongst others.

Knoppix is the swiss knife of live linux distributions, and Ubuntu 10.04 is probably the slickest distribution out there at the moment. Both of these can be ran live from your USB disc, so they don’t have to touch your hard drive.  However, both of them are also able to install to your hard disc if you so choose.

To me it seemed logical to combine all three of these elements onto the single USB flash drive that I carry on my keychain, as I know of many grandmas with broken PCs…

Let’s go!

  1. make sure the single FAT32 partition on your USB stick is bootable (use command ‘a’ in linux fdisk) and large enough (you’ll need just a bit less than 2G).
  2. mount your flash drive on a directory, henceforth referred to as FLASH_MNT.
  3. copy all files from the ubcd5 iso into a directory, henceforth referred to as CUSTOM_UBCD5.
  4. mount the ubuntu 10.04 i386 iso on a directory, henceforth referred to as LUCID_MNT
  5. mount the knoppix iso on a directory, henceforth referred to as KNOPPIX_MNT.
  6. copy necessary boot files from the ubuntu ISO to UBCD:
    mkdir CUSTOM_UBCD5/ubcd/custom/lucid
    cp LUCID_MNT/casper/vmlinuz LUCID_MNT/casper/initrd.lz CUSTOM_UBCD5/ubcd/custom/lucid
    
  7. copy ubuntu-10.04-desktop-i386.iso to your flash disk:
    mkdir /FLASH_MNT/isos
    cp ubuntu-10.04-desktop-386.iso /FLASH_MNT/isos/
    
  8. Knoppix can’t be booted directly from its iso like Ubuntu, so we have to copy the actual contents of the ISO to your flash:
    cp -r KNOPPIX_MNT/KNOPPIX to FLASH_MNT/
    cp -r KNOPPIX_MNT/boot/isolinux to FLASH_MNT/KNOPPIX/isolinux
    
  9. replace FLASH_MNT/KNOPPIX/isolinux/isolinux.cfg with the isolinux.cfg at the bottom of this post. (It’s the same file, except that “KERNEL linux” is replaced with “KERNEL /KNOPPIX/isolinux/linux”, “initrd=minirt.gz” with “initrd=/KNOPPIX/isolinux/minirt.gz”, F1, F2, F3 and DISPLAY paths all fixed, e.g. “F2 f2″ becomes “F2 /KNOPPIX/f2″ and finally all instances of “quiet” removed)
  10. Now replace CUSTOM_UBCD5/ubcd/custom/custom.cfg with the custom.cfg at the bottom of this post.
  11. copy all files from CUSTOM_UBCD5 to your usb flash disk:
    cp -r CUSTOM_UBCD5/* FLASH_MNT/
    
  12. Finally, make the whole thing bootable with the following invocation. It’s really important that you replace /dev/sdX1 with the correct device for your flash disk. To see what this is, type “mount” and see the device associated with your FLASH_MNT.
    cd FLASH_MNT
    sudo ./ubcd/tools/linux/ubcd2usb/syslinux -s -d /boot/syslinux /dev/sdX1
    

You’re done. You should now be able to boot with your EMUBD! Knoppix and Ubuntu can be found under “User defined”.

Here are those files that you’ll need. First FLASH_MNT/KNOPPIX/isolinux/isolinux.cfg:

DEFAULT knoppix
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=0x311 initrd=/KNOPPIX/isolinux/minirt.gz nomce loglevel=0 tz=localtime
TIMEOUT 50
# TOTALTIMEOUT 20
# KBDMAP german.kbd
PROMPT 1
F1 /KNOPPIX/isolinux/boot.msg
F2 /KNOPPIX/isolinux/f2
F3 /KNOPPIX/isolinux/f3
DISPLAY /KNOPPIX/isolinux/boot.msg
LABEL adriane
KERNEL /KNOPPIX/isolinux/linux
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=0x311 initrd=/KNOPPIX/isolinux/minirt.gz nomce loglevel=0 tz=localtime adriane
LABEL knoppix
KERNEL /KNOPPIX/isolinux/linux
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=791 initrd=/KNOPPIX/isolinux/minirt.gz nomce loglevel=0 tz=localtime
LABEL fb1024x768
KERNEL /KNOPPIX/isolinux/linux
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=791 xmodule=fbdev initrd=/KNOPPIX/isolinux/minirt.gz nomce loglevel=0 tz=localtime
LABEL fb1280x1024
KERNEL /KNOPPIX/isolinux/linux
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=794 xmodule=fbdev initrd=/KNOPPIX/isolinux/minirt.gz nomce loglevel=0 tz=localtime
LABEL fb800x600
KERNEL /KNOPPIX/isolinux/linux
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 apm=power-off vga=788 xmodule=fbdev initrd=/KNOPPIX/isolinux/minirt.gz nomce loglevel=0 tz=localtime
LABEL memtest
KERNEL memtest
APPEND foo
LABEL dos
KERNEL memdisk
APPEND initrd=balder.img
LABEL failsafe
KERNEL /KNOPPIX/isolinux/linux
APPEND ramdisk_size=100000 lang=en vt.default_utf8=0 vga=normal atapicd nosound noapic nolapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce nonetwork nodhcp xmodule=vesa initrd=/KNOPPIX/isolinux/minirt.gz

… and then CUSTOM_UBCD5/ubcd/custom/custom.cfg:

MENU INCLUDE /ubcd/menus/syslinux/defaults.cfg
UI /boot/syslinux/menu.c32

# option to be able to go back to the main menu
LABEL -
MENU LABEL ..
COM32 /boot/syslinux/menu.c32
APPEND /ubcd/menus/syslinux/main.cfg

# this clause will boot directly from the ubuntu iso
LABEL ubuntulive
MENU LABEL Ubuntu 10.04 i386 Desktop LIVE
LINUX /ubcd/custom/lucid/vmlinuz
INITRD /ubcd/custom/lucid/initrd.lz
APPEND boot=casper iso-scan/filename=/isos/ubuntu-10.04-desktop-i386.iso --

# and this one will chain into the knoppix boot setup
LABEL knoppix
MENU LABEL Knoppix 6.2.1 LIVE
CONFIG /KNOPPIX/isolinux/isolinux.cfg

Post scriptum

  • The instructions in this post are derived from the UBCD linux documentation and various forum posts.  Credits to their authors!
  • If you don’t want Knoppix on your bootable USB and you have a Windows computer, you could also use MultiBootISOS to add multiple ISOs to a USB boot disk.

→ No CommentsTags:·······