s e m i s t a b l e . c o m



22.02.2015: downtime is the new uptime
after the ancient device was excavated from the layers of debris it was covered under, a mere touch of the PWR glyph and a reassuring message appeared...

16.01.2015: tremble in fear, puny sidewalk
not sure what, but that pavement got something terrible coming it's way!

28.02.2014: dimpl
this here is the first version of DIMPL, a C++11 dependency injection framework purely written in template metaprogramming! check it out!

03.02.2014: finally some rower pics
took me ages, but I finally managed to find the pictures of my DIY rowing machine again!
here you go

29.10.2013: way to go dave!
and another time david cameron clearly demonstrates
his very personal understanding of democracy. this is even better than threatening the unions when they want to go on strike!

07.08.2013: new box
after about 8 years my old box has finally been replaced. and what a replacement! supermicro x10sae mobo, e3-1245v3 cpu, 16GB ECC ram @ 1.35V, intel 520 series SSD. awesome box, boots quicker than my netbook comes out of hibernate... thanks to ivy bridge there is *zero* fucking around with xorg drivers. and the coolest thing: the CPU has hradware transactional memory, which i bet is going to keep me occupied for quite a while...
update: "hradware" above is *not* a typo! ;)

30.01.2013: evil UEFI
just one more reason not to mess with UEFI, shims, bootloaders, signatures and all that crap. just switch it off in the bios. UEFI is a total anti-feature anyway...

23.01.2013: david cameron's EU speech
today mr cameron talked about the european union and britain's future in it. early in
his speech, mr cameron says:
But today the main, over-riding purpose of the European Union is different: not to win peace, but to secure prosperity.

mr cameron, you are greatly mistaken and i believe this mistake explains a lot of other things you say! the EU's original and primary goal and reason of existence is exactly to secure peace in europe. the common market is a tool towards that goal, prosperity may be windfall profit.

10.11.2012: best raspberry pi case ever
all over people are struggling to find the perfect raspberry pi enclosure. the ones that can annoyingly laser-cut theirs out of alloy sheets. some are slightly less blessed and need to make do with water-jet cut acrylic. of course the nerds just 3d-print one. the steampunks wittle them out of rosewood. but they got it all wrong! if you pay attention, you will notice that it actually comes with a perfect case!

15.05.2012: uk finally behin basel iii
took a while, but the uk is finally
not blocking basel iii anymore, so with some luck we will have the first effects within a year! excuse my cautious optimism, but that *is* good news...

13.05.2012: eu comission on the financial transaction tax
this the eu comission takes an even more positive stance on the financial transaction tax than in the past. if only people would listen!

09.04.2012: the madness of XML
XML is one of these *big* standards where you initially think this has all been thought through really well. then you start to look at the details. just found another marvel in how you declare namespaces, an example right from the spec:
<book xmlns='urn:loc.gov:books'
    <title>Cheaper by the Dozen</title>
looks good initially, but these namespace declarations are just normal attributes with QNames. so "xmlns:isbn" means local_name "isbn" in the namespace that the prefix "xmlns" resolves to ("http://www.w3.org/2000/xmlns/"). the other declaration however means local_name "xmlns" in the namespace of this element, which happens to be the one declared by this very declaration ("urn:loc.gov:books"). so any QName from the "xmlns" namespace can act as a namespace declaration, as well as an attribute with local_name "xmlns" from *any other* namespace. is that what namespaces are for? that declaring a specific fact (the domain of the namespace) is done *both* within that namespace *and* in *every other* one?

06.03.2012: working place ergonomics
best monitor stand *ever*:

05.12.2011: yesss!
yes please, I want
one of these. And while you're at it, do some sabretooth tigers as well!

05.09.2011: arghhh
you got to be kidding!

21.07.2011: last flight of the atlantis
ok, so this is it for the space shuttles. not that the shuttle is the most brilliant space program possible, but still worrying: will the shift to private sector space industry work? it might, but perhaps virgin and other will just find out that it is not worth the effort. perhaps the result is that space tech will have to take a back seat, then gets stepped down another notch with the odd global financial crisis, the eternal war on terror or peak oil being in the way. by the time that gets sorted out, the ISS might have dropped out of orbit and another incentive is gone. gloomy vision: in 25 years mankind's capabilities are reduced to replacing telecom and spy satelites in low orbit as they burn up, nothing more.

07.03.2011: when will they learn?
if it wasn't so damn sad then it would be damn funny:
US politicians push to arm Libya's rebels.

20.02.2011: hope at last
after decades of bickering, kicking and whining my .vimrc now ends with a bold
set tabstop=4
set shiftwidth=4
set expandtab
set shiftround
if that much change is possible, might there be hope for world peace yet?

04.12.2010: wikileaks mirror
some people seem to be so terrbly unhappy about the latest wikileaks publications that they DOS it as well as lean on the cloud and DNS providers to take the servers offline. idiotic really. fortunately there are private mirrors, e.g.

01.09.2010: munmap(0, 0) harmfull on armel, ugly everywhere else
i have seen this in many other places and done it myself quit often: init a pointer to NULL, eventually mmap() it (or not), then just munmap() with that pointer later. This works because munmap is safe if there is no actual mapping in the memory range specified. i thought. as it turns out you of course can't really rely on there not being a mapping at address 0, which e.g. is the case on armel! lazyness just doesn't pay, this took *hours* to debug!

© robert lemmen