My own thoughts and experiences with people, things and situations. As I'm interested in random stuff - expect random stuff to appear here. Focus will be on IT/Software development and travel.
Monday, November 29, 2010
Out of this world - Wonders of the Solar System
Wednesday, November 24, 2010
Public Transport the only alternative?!
Today I decided to go by car and that is really wasting valuable life time. A lot of small traffic jams all over the place - although everything went reasonable smooth. But still - this time was really wasted. For sure, I could have listen to my favorite music, audio book, you name it, but that actually does not really work if you have so much commuting time. At a certain point of time your favorite music just works at the time you want it not at the time you could enjoy it. Everything beyond listening to something is way out of my reach - being a male I can not really do anything in parallel to the main task being executed. What about the main task? Yep right: Driving a Car. The Prototype of Individualism in our modern civilization. You can decide where to go, which way you take and at which speed you are traveling - Total Bullshit! In first approximation - and I think that is quite valid in this case - it is just about maintaining the minimal distance to the car driving - or rather waiting - in front of you. Pretty stupid but kind of takes pretty much all of your attention.
Pretty much, but not all. So let have a look around. Wow - I couldn't remember a single car - at least of the private ones (which are 99%) - which was stuffed by more than on person. OK - can't be the case. So let's assume that only 10% of the cars are taking two persons and neglect the ones which are actually convey more than two persons. In an average car 4 persons would fit. So over all the efficiency factor is something like 30% (actually less) - insane.
So all together, I will stick to public transport. Although it is pretty crowded in there I still think it would make perfectly sense to get more people on this - given that the infrastructure is improved. Would be a valid opportunity to make individual commuting more expensive and use the money to improve and extend public transport. As there are still areas and time frames where you simply can't rely on public transport like for me today. I have a business dinner tonight and can' go back home after 21:30 with public transport anymore. That's pretty crap - next time I will try to combine public transport and taxi though ...
Sunday, November 21, 2010
Dortmund Zoo
Friday, November 19, 2010
A Darwinian theory of beauty
We find beauty in Something made well.Hand axes as the first art works which help the artist's tribe to survive sexual selection.
Does it explain everything and is self-consistent - Not necessary. But anyway interesting approach and definitely well presented.
Check it out!
Sunday, November 14, 2010
Woihinkelche
In fact it is hessian dialect and it is one of the German Lego words. The first part "Woi" translates to "Wein" (wine) while the second one "Hinkelche" means "Hänchen" (henchmen).
We have been inspired by a recipe from "Culinaria - Deutsche Spezialitäten"- like always we didn't managed - actually didn't want to - follow the recipe one by one. The main ingredients are:
- Broiler
- Butter
- Shallot
- Garlic
- Grapes
- White mushrooms
- Brandy
- Rheingauer Riesling
- Cream
- chervil
Friday, November 12, 2010
Android Market - Downloads stalling and market crashes constantly on cancel
Now after some internet search I found a working solution for this problem. Steps:
- clear market cache: Settings > Applications > Manage Applications > All > Market > Clear Cache
- clear market data: Settings > Applications > Manage Applications > All > Market > Clear Data
- force market close: Settings > Applications > Manage Applications > All > Market > Force Stop
Source of this instruction is here.
Thursday, November 11, 2010
Wednesday, November 10, 2010
Devil has arrived
Only the Sub woofer is really huge - did I mention that it is really huge?! . Still looks good but not the greatest WAF. Let's see how the discussion goes with home government for this one ;-)
Looking forward to listen to the set - not just watching it.
Thursday, November 4, 2010
In memories of the father of redpoint climbing
German TV BR broad-casted a 30 minutes portrait of Kurt. I will be online for 7 days. Make sure that you check it out in time - Fascinating person who had a fabulous life style and sense of humor. For the non-native German speakers this one is a opportunity to practice German ;-)
"Vom Teufel geritten" - driven by the devil
Now - just more or less finished the movement into the new Flat - Teufel dropped their prizes for some of 5.1 speaker sets. Perfect timing.
Looking forward to get my set delivered soon-ish - together with 50 m of cable. That will be fun ...
Sunday, October 31, 2010
Oberhausen Miniaturwelt - Ruhrgebiet as a miniature
Clearly works best if you are either a model railway enthusiast or interested in the "Ruhrgebiet itself". Basically the current exhibition provides you a view on the post 2nd world war "Ruhrgebiet" - as coal mining and iron ore processing ruled the industry in the area.
Friday, October 1, 2010
Ubuntu Update mess up: udevadm trigger is not permitted while udev is unconfigured
Most likely this has been caused by not finishing the kernel installation completely. Likely to happen if you run from meeting to meeting and you host system tends to crash from time to time (See update on this one below).
Anyway - like always, I asked Google and here we go. Steps to recover are:
- Grab some boot-able Linux iso and boot a Live System
- Mount relevant hard disk partition read-writable
- Bind parts of the life file system to the new mounted hard disk partition
- Chang the file system root.
- Fix udev configuration for the new installed kernel.
For Step 1 I decided to download a preview version of Ubuntu 10.10 - which looks great btw. Just boot it with the "try it" option and create a terminal window.
Step 2 is easy as well. Only two things to remember. You need to know which device (e.g. something like /dev/sda holds the relevant system folders and you need to make sure that you really mount the file system read-writeable - default is read-only. So issue something along the lines of "sudo mount -rw -v /dev/
Step 3 requires to bind /dev, /proc and /sys from the life system into the just mounted hard disk partition. This can be done by:
sudo mount --bind /mnt/dev
sudo mount --bind /mnt/proc
sudo mount --bind /mnt/sys
Finally for step 5 you need to navigate to the folder which holds your installed kernels (usually /boot), figure out which kernel is the current one and issue
command.
That did the trick for me. After rebooting the machine everything was fine again. I hope I remember my blog post next time this happen to me ;-). Input for the resolution is taken from here and here.
Update: And yes indeed - the update not properly finished. Next time I tried to start the packet manager, it forces me to run sudo dpkg --configure -a command and among others
Setting up python-aptdaemon (0.11+bzr345-0ubuntu4.1) ...
Setting up sudo (1.7.2p1-1ubuntu5.2) ...
Setting up ubufox (0.9~rc2-0ubuntu2.1) ...
Processing triggers for menu ...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-24-generic
the update-initramfs has been triggered. Next time I will focus a little more on the running update to have it finishing properly :-)
Thursday, September 23, 2010
Installation of Diaspora - Open Source Social Network Implementation
The installation on a Ubuntu 10.04 system is pretty much straight forward. After cloning the git repository you find the installation script ubuntu-setup.bash which you can run on your machine. It makes sure that all dependencies like required build tools, gems, db, ... are properly installed on the system. I did run into some slight issues:
- The sudo permission detection within the script did not work for me. So I just commented out this line form the script..
- At the end of the script it tries to start the server which failed with the following message: "http://github.com/BadMinus/devise.git (at master) is not checked out. Please run `bundle install` ". That one can be fixed by issuing a "sudo bundle install devise.git" like e.g. explained in http://www.jimmyhasablog.com/2010/09/17/geekspora-diaspora-install/ . Once this is done the server can be started with "bundle exec thin start" and is listening on port 3000.
Thursday, May 13, 2010
Picasa Face Recognition
Long time I did not bother to give any later version a try on Linux but this weekend while I wanted to sort some holiday pictures - I started Picasa while my wifi connection was down. Looking into the empty local folder which usually is mounted with the pictures from the NAS Picasa decided to drop all it's knowledge about the pictures. One connection was up again it started scanning all over the pictures again - ARGHHH. That seemed to be a good point in time to change something in the setup.
Up to know I'm still not aware of a good alternative to Picasa which overcomes the major issue with Picasa - namely not supporting multiuser/single repository setup and being a windows application. Suggestions are welcome. So I just gave the current Windows version - which is 3.6 - a try. As the official Linux version comes with an embedded wine, it should be possible to get the current windows version running under wine as well. And Bingo - both under Ubuntu 9,10 and 10.04 the standard wine package is good to run Picasa without any hassle. That was easy although some of the nice feature - namely geo-tagging is not working. I decided it to run Picasa now on the NAS itself (Atom 330 based) to circumvent the network /multi-user issues by just having a shared account on the machine. Performance of Picasa - which still tends to sleep now and then for a while - is comparable to the earlier setup. It seems that network latency and smaller computation power balance themselves.
It took roughly 2 days to scan our complete picture collection. Once in a while we dropped into the process and started to create persons and match face groups to persons. Went quite well. I must say that our picture collection for sure contains quite some challenges - like uncounted picture of the 4 first years of my Son's life. Surely a challenge. We ended up with having a lot of distinct face groups for the same persons, but this is manageable. The amount of false positives is quite low. In the end we still have more than 5000 faces which are not matched yet. Quite some work but most of them are faces of unknown people somewhere in the crowd. Really working nice. We also got some quite funny detections like recognizing the face of a Playmobil puppet as a face or detecting my son's face on a picture which only contains the Christmas tree in the living room - on the first glance but there is also a small picture of my son in the living room.
Once we have finished the job, I really want to work on extracting the information from the Picasa database/files and get them into the pictures itself to prevent vendor lock-in. There seems to be a tool for this purpose - AvPicFaceXmpTagger. Will give it a try once the face recognition process is finished.
There is no free lunch. Picture data becoming more and more structured is great if you want to manage your stuff but you might still not want to provide all this structure once you upload the picture e.g. to a website. So there is still a task for removing the structured information again form the pictures.
Sunday, May 2, 2010
Dance on the Vulcano - Being off-line
Have you spotted the issue on the picture above?! Me neither. I decided to be really off-line during the holidays. No Internet, no TV, no news papers and rarely radio news. Worked out quite well. In the beginning I felt some time a need to check my emails and social networking pages but this was going away fast and in the end I felt superior than the guys which spent a significant time in front of their facebook pages in the Internet kiosk of the hotel. Being off-line is really relaxing - a luxury these days!
On the other hand being off-line has also some disadvantage in out on-line world. We checked our flight back in the file folder of our travel agency at the hotel the night before we wanted to fly back. Everything fine. The other day as we checked out from the hotel - there was a surprise waiting for us. We should be really happy that we can leave suggested the woman at the reception. "No - we are not " I said as I really could have stayed a little bit longer on this beautiful island. Than we figured out what the whole on-line world did know already for 24 hours at least. All airports are closed, no flights, big chaos in Europe as Eyjafjallajökull - a vulcano in Iceland erupted.
Nice surprise - you could imagine worse situations than being forced to stay longer on holiday. True and we also had booked package tour - no worries the travel agency will manage it. So no worries? A few phone calls later - with the travel agency in Germany, the local travel guide and the airline - the situation changed a bit. Travel agency annulled he contract because of act of nature beyond control. They would still support us but there would be nothing they could do for us. As our flights are with Ryanair, this would be special anyway - just sit and wait.
Nice advice - we would be still there if we would have followed this. In the end we prolonged our hotel, kept luggage there and drove to the airport to speak face two face to some people from the airline and this was the key to get home. In the queue in front of the desk we got first information. Airline offers to rebook the flights to later flights but direct flight back home would be only available in 10 days time. That will be a quite expensive holidays and will create some trouble at work I thought. In the end we got some flights via Madrid in 6 days time. After prolonging the hotel for the whole time, extending the rent of the car and passing the message to home and company we tried to enjoy the time as holidays as good as possible - but now on-line.
My take away from this. Organizing holidays on my own is definitely a proven alternative. Booking a packaged tour I would next time spent more effort to select a different agency. The one we selected - urlaubstours.de - was a completed fail in this situation. Looks like that low cost airlines does not fit well into the concept of packaged tours but they are still an alternative for self-organized travels. Let's see if and what cost we could claim back from airline or travel agency.
Saturday, May 1, 2010
PCTV Diversity Stick Solo running on linux
Being a absolute newbie to the topic DVB-T on Linux, I was really surprised how it went on our Ubuntu 9.10 system. After connecting the stick to the HTPC dmesg | grep dvb shows right away that the stick has been recognized and everything seems to be green. After installing kaffeine media player - and it's dependencies as I didn't had much kde stuff on it before - and running a service scan it was there: our first DVB-T channel is presented on the screen. Easy piece of cake.
Kaffeine showed two DVB-T devices, so I think both receivers can be used under Linux, but i don't think that diversity modus is supported (using both receivers to result in one single improved input signal).
Next step is to get yaVDR running as I want the topic TV to be handled from within the XBMC software we are using anyway. Real benchmark would be time-shift recording of "Tatort" on Sunday - I can't think of the last time we managed to watch this ...
Tuesday, April 27, 2010
Personenschaden - Great problem management by DB/PEG
Yesterday it went perfectly different. Right after I checked alternative routes on the VRR website and informed home government they I'll be _really_ late, they announced taxi transport between the directly affected stations. So, get a group of four passengers and jump into the next taxi - paid by the DB.
Great - got only 20 minutes delay. Happy to be surprised by problem management of DB more often in this positive manner in general - obviously I would be even more happy if we could arrive to a point where less people choose to use "Personenschaden" as final exit strategy.
Tuesday, April 6, 2010
Easter fire
Easter fire is a quite common tradition in Germany. Beside the religious meaning it is a nice opportunity to meet some - old - friend and the kids have fun anyway.
We had quite a good time - luckily the weather did not kill the whole thing. We got three times really light drizzle but never got really wet ...
Check out the background details on the easter fire tradition at wikipedia. We had "our" easter fire at Hof Holz. Hof Holz is a farm where disabled are integrated in work and life. The farm provides rich opportunities for visitors, e.g. playground and animals for the kids and great home-baked cakes and bread.
Wednesday, March 31, 2010
A nice day in the Zoo
As you can see in the picture above the Asia theme park consists of a outdoor area - which was not populated with animals except few great apes with were fixing the last things within the area - and a big indoor area. The latter provides a jungle hall and a big indoor playground for the kids.
After having a rest at the central snack point we explored the Alaska theme. As a picture can say more than thousands words:
The Zoo is a modern zoo which provides the animals with a recent amount of space. You do not find any small cages build from iron bars but rather big areas which are bounded by nature emphasized borders, like rocks and water. Works nice - not only for the animals but also for the visitors as this gives a much more natural impression than in the old fashioned zoos. Glass windows in the different enclosure give you the opportunity of a 5 meter-distance eye in eye contact with e.g. a pole bear. Drawback of this is that the visitor needs to be more patient to really spot all of the animals as some of them use the available space to hide from the visitor. So take your time and bring you Zoom lens with you...
For the kids the zoo provides great opportunities not only to experience all the animals but also to refresh their capacity for animal experiences on the various playground. Even within the theme parks they find - nicely integrated in the theme - a couple of slides which keep the kids happy.
As we got a free visit as part of the Ruhrtop-Card it was more than OK just to spent half a day in the Zoo. Anyway if you aim to see all parts of the Zoo you should definitely spent a whole day in the Zoo. More than enough attractions to see and nice opportunities for a break. I think a nice alternative to the central snack area - which provides a huge playground for the kids - would be to aim for one of the snack points within the theme parks. Those are much smaller and provide some park theme related atmosphere and food.
We are looking forward to our next visit - even quite willing to spent some money for this.
Wednesday, March 10, 2010
Simon says done / Benchmark
Beside playing a little bit more with the puzzles, I will know dig a little bit deeper into the thrift piece. For the time being I found a interesting benchmark of different object (de-)serialization solutions including Thrift, protobuf and many more. Interesting ...
Saturday, March 6, 2010
Getting in touch with Thrift - Get the turial example running
This tutorial is known to be woefully incomplete, and is a work in progress. This skeleton is illustrative of what is being worked on and will soon be available. [thrift webpage]
Sounds not that promising and indeed there have been some minor obstacles in my way. Prerequisits for the tutorial is the availability of
jars in the classpath of the system. Instead of building from the provided build file, I decided to create a eclipse project. After setting the scenes, I still got some compile errors in JavaServer.java. Seven occasions like:
[javac] /home/stefan/thriftest/tutorial/java/src/JavaServer.java:57: an enum switch case label must be the unqualified name of an enumeration constant
[javac] case Operation.ADD:
which simply can be solved by replacing case Operation.ADD by case ADD. And two more problems:
[javac] /home/stefan/thriftest/tutorial/java/src/JavaServer.java:69: incompatible types
[javac] found : tutorial.Operation
[javac] required: int
[javac] io.what = work.op;
[javac] ^
[javac] /home/stefan/thriftest/tutorial/java/src/JavaServer.java:77: incompatible types
[javac] found : tutorial.Operation
[javac] required: int
[javac] io.what = work.op;
I omitted those by commenting those lines as they anyway don't add to the functionality of the server.
After this manual changes the tutorial seems to be running fine. Ready for Simon says puzzle.
Friday, March 5, 2010
Getting in touch with Thrift - Simon says
Let's see how to get Thrift working on my Ubuntu 9.10 system. First of all I downloaded the current snapshot from the Facebook Developer Pages ( in my case thrift-20090330.tar.gz). After unpacking a run of the ./configure script unveils a unsatisfied dependency on boost libraries. Synaptic comes with a couple of boost packages. I gave it a try with libboost-dev package (incl dependencies). With that the configure script was happy but the make command produces this nice error:
make[3]: Betrete Verzeichnis '/home/stefan/thrift-instant-r760184/compiler/cpp'
g++ -DHAVE_CONFIG_H -I. -I../.. -Wall -I./src -I/usr/include -g -O2 -MT thrift-thriftl.o -MD -MP -MF .deps/thrift-thriftl.Tpo -c -o thrift-thriftl.o `test -f 'thriftl.cc' || echo './'`thriftl.cc
In file included from ./src/parse/t_const.h:10,
from ./src/main.h:11,
from thriftl.ll:20:
./src/parse/t_type.h:88: error: ISO C++ forbids declaration of ‘uint8_t’ with no type
./src/parse/t_type.h:88: error: expected ‘;’ before ‘*’ token
./src/parse/t_type.h:92: error: expected ‘;’ before ‘std’
./src/parse/t_type.h:110: error: ‘uint8_t’ has not been declared
./src/parse/t_type.h:149: error: ‘uint8_t’ does not name a type
./src/parse/t_type.h: In member function ‘virtual void t_type::generate_fingerprint()’:
./src/parse/t_type.h:76: error: ‘fingerprint_’ was not declared in this scope
./src/parse/t_type.h: In member function ‘bool t_type::has_fingerprint() const’:
./src/parse/t_type.h:81: error: ‘fingerprint_’ was not declared in this scope
./src/parse/t_type.h: In member function ‘std::string t_type::get_ascii_fingerprint() const’:
./src/parse/t_type.h:94: error: expected initializer before ‘*’ token
./src/parse/t_type.h:96: error: ‘fp’ was not declared in this scope
./src/parse/t_type.h: In constructor ‘t_type::t_type()’:
./src/parse/t_type.h:123: error: ‘fingerprint_’ was not declared in this scope
./src/parse/t_type.h: In constructor ‘t_type::t_type(t_program*)’:
./src/parse/t_type.h:129: error: ‘fingerprint_’ was not declared in this scope
./src/parse/t_type.h: In constructor ‘t_type::t_type(t_program*, std::string)’:
./src/parse/t_type.h:136: error: ‘fingerprint_’ was not declared in this scope
./src/parse/t_type.h: In constructor ‘t_type::t_type(std::string)’:
./src/parse/t_type.h:143: error: ‘fingerprint_’ was not declared in this scope
thriftl.cc: In function ‘int yylex()’:
thriftl.cc:1449: warning: label ‘find_rule’ defined but not used
thriftl.cc: In function ‘int yy_get_next_buffer()’:
thriftl.cc:2389: warning: comparison between signed and unsigned integer expressions
thriftl.cc: At global scope:
thriftl.cc:2483: warning: ‘void yyunput(int, char*)’ defined but not used
thriftl.cc:3138: warning: ‘int yy_flex_strlen(const char*)’ defined but not used
make[3]: *** [thrift-thriftl.o] Fehler 1
I played a little bit with different versions of flex, bison and such a like, but I couldn't get this one running. While I was browsing for help, I found this nice blog entry from Robert J Berger which talks you through the installation of Thrift on a Ubuntu system. However mine still does not work.
As a x-check I downloaded the 0.2 Thrift release from the project homepage and tried to compile this. And this worked without any visible errors (note that you need to execute ./bootstrap.sh before running ./configure. Next step will be to test this installation and than keep fingers crossed that this one works for the Facebook Puzzles as well.
Thursday, March 4, 2010
Facebook puzzles
Those puzzles are programming exercises. Facebook provides couple of those puzzles in different difficulty levels. Each of them consists of a problem description, sample input and expected output data. Solution are excepted in a range of different programming languages like Java, C, C++, Ruby, Erlang (.. really long list ...). You submit your solution as an email which is processed by a bot which compiles and runs the submission against an input which is not known by us. Result of this run is provided as an email which provides a binary success / failure indication.
As far as I looked at those problems they are restricted variants of hard problems. Only the tiny restrictions make them solvable in polynomial time. So quite some thoughts on finding a proper algorithm is needed for this one which makes this stuff pretty interesting. Another dimension is that your solution will be run on large/difficult test data. Therefore you really need to spent some time to optimize your solution in runtime and space. That makes it even more interesting. The more advanced puzzle involve the usage of the Thrift framework and elements of distributed computing. Nice :-)
Facebook provides quite some ground for a vivid developer community around the puzzles. There is a fan page, quite some discussion threads and even stuff outside Facebook (like this FAQ) which deal with that topic. There is a Facebook application which allows you to share the glory of solved puzzles on your Facebook profile and there are public pages which show High-Scores like thriftpuzzle server. Everything set for a good competition ;-).
Facebook places the puzzle as a recruiting tool - showing guys which solved puzzles and have been hired. Definitely this is a good tool for a company to get smart developers into your orbit.
Some of my colleagues started solving those puzzles some time ago and I was trying to keep myself out of this one as this definitely would impact my family life. High risk of addiction ;-). Now it happened, but I try to keep my involvement low. Personally it is a nice opportunity to
- solve some nice algorithmic challenges
- learn/compare programming languages on valuable problems
- get in touch with the Thrift framework - on my list anyway.
Tuesday, February 23, 2010
Problems updating GAE SDK 1.3.0 - 1.3.1
Since quite a while my Google App Engine Development server keeps complaining that there is a new SDK version out there which I should utilize. Nice hint but actually I'm wondering why I need to care about this one as I'm using the SDK within the Eclipse plug-in which seems to be configured to check for update. But neither the Plug-in nor the Eclipse update manager found the new SDK.
Only solution so far it to download the current version of the SDK from download page, unpack it at convenient place to live and add it to the App Engine Plug-in in Eclipse (Navigate to Window-Preferences-Google-App-Engine and add it there - make sure that it is marked as default SDK).
Seems to be working pretty well and I'm looking forward to try the new features like Query Cursors which are indicated to come as part of the new release (release notes). Will keep you posted on this.
Tuesday, February 16, 2010
First Geocaching experience
Last time we met, he reported on his new hobby - geocaching. Pretty much the same thing like the "Schnitzeljagd" we are used to play a kids. Someone hides something which all the other try to find. Our days the location of the secret is posted on a dedicated website (see www.geocaching.com) and the whole community can try to find the secret. As a reward the happy finder of the secret get the honour of success by leaving a line in the logbook and reporting back the found in the community website. More detailed description can be found at wikipedia.
Sounds like a great opportunity to kill time and have a reason to explore areas you would never touch without a reason. As I'm not the proud owner of such a GPS navigation device - beside the car navigation which comes a little bit bulky. But in our days almost all the nice mobile phones come with a build-in GPS. I took my Vodafone H1 and pimped it with the vlkgps application. A little bit brittle and not that straight forward to use, but working. Might well be depending on the combinaten of the device and application.
All together it was great fun and we made a nice snow walk, but we think of improving the tooling. I'm thinking of getting a Android Phone anyway. This might be working better ....
Wednesday, February 10, 2010
Sharepoint Wiki to Media Wiki
Still struggling on how to do that. Open Office offers some export to MediaWiki functionality which might well be usable for the initial import. Only I'm missing the ability to export e.g. word-format from sharepoint wiki. Any hints?!
Thursday, February 4, 2010
Warning Strike - Opportunity for a refreshing walk
Should have taken a picture. Instead of cabs queuing in front of the main station, we had a queue of people which were desperately waiting for a taxi.
Tuesday, February 2, 2010
Hello World
Friday, January 1, 2010
Hello Blogger World!
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello Blogger World!"); } }