Hello happy or not so happy people!
This is another one of those posts where you'll read about some bullshit story happening in some bullshit town.
The company party that I told you about in the previous post went very well, it was quite big and organized in a typical for Germany way as a beer fest. They had hired a band to play which had a Bon Jovi-like lead singer and backup singer looking like Tia Carrere, in case you're wondering who is Tia Carrere please stop reading my blog post and go in IMDB to look her up.
A week after that there was a funfair type of thing in the little town where we are residing currently, which had all sorts of rides (bumping cars, Ferris wheel [?!], and other shit like that). All in all it was again organized in their beer fest style, and in the beginning I thought it was very poorly organized, but after a while I started getting used to the way these things work and it doesn't bother me anymore. I liked the beer there very much, it had a strange taste and I really don't know its type, also a good impression was that they poured it in liter porcelain glasses. So you get a liter if you want it or not :-)
All in all I started to adjust to the strange German environment and their habits some of which (closing early, no credit cards etc.) are really annoying.
But as I'm writing this it is my last day in Deutschland and hopefully I won't have to come here any time soon.
I admit that I was a little harsh in the beginning and a little more critical as usual but now I understand their way of life better, and still I prefer the UK way, even in spite of the recent events with the riots and all.
Oh and after I thought the Internet couldn't get any worse, they changed the way of providing it. They removed the proxy and now just SNAT the addresses (which is way better), BUT every 20 minutes you get disconnected from everything you're doing and sent to a captive portal to enter your username and password AGAIN. If they keep this up, I guess the next step would be to queue our web requests and wait a day or two for them to be executed, then a day or two to get the results back and in the end of the week you might open the web site you were looking for.
On the technical front I am happy with myself this week because I was able to develop a library needed for a long time. It is called IOlib as the name suggests it provides my software with general I/O interface which is really easy to use and also very fine tuned. Currently it supports: IPv4 TCP/UDP, IPv6 TCP/UDP, FILE I/O, UNIX Sockets, BPF Sockets. Also it has its own write buffer management subsystem, so you only have to configure it. It will work under Linux, *BSD and most Unix variants (supporting kqueue, epoll, poll and select).
The TODO list includes:
Timers (implemented as I/O events)
Multi-threading (it is done with this in mind, probably a thread per protocol used)
Dynamic loading of new protocols (almost done)
Preliminary tests show very good results, I was able to implement a new daemon with simple protocol and a client for it in few lines and they communicate without any issues. The library will be released as open source too because it will be used to replace the current networking code in all my other software.
Also I'm in the middle of writing ROMFS implementation for FreeBSD (not only user-land tool, but kernel too). I may release it too after a while.
Here's an interesting fact in the past few months 2 keyboards were flooded with beer (1 standard and 1 in laptop) and both have the same problems with 1 key presses 2 or more other keys. I think production quality has gone way down, I have an old keyboard which has been flooded many times with different drinks and still works well after a clean up.
Oh and another one I found an error in "Linear Algebra" book by Georgi Shilov (translation in English and published by Dover). The error consists in them calculating the determinant of a matrix with wrong terms, having 2 entries from the same row in a single term. I have written to them to fix it for future prints, hopefully they read their emails :-) Other than that the book is very well written and I like the contents, it goes very smoothly from undergraduate material to postgraduate material.
Oh I forgot to write about my farewell to Germany, with over 7 different types of beer, hot salsa dip and tortilla chips :-) These guys have good beer that's for sure. My trip home will include the following route: Arnstorf (by taxi, because buses don't work on Bank holiday Monday of course!) -> Landau (by train) -> Munich (by train) -> Frankfurt (by plane) -> Sofia. All in all I will go out on the 15th and arrive in Bulgaria on the 16th.
For the ones wondering the title of this post is from the cult movie Aliens (1986).
And a goodbye quote which I like:
"kqueue is older than epoll. I think Linux should simply have implemented
the kqueue API instead of inventing epoll, but the Linux people insist on doing
all the mistakes of the other people again. For example, the epoll guy initially
thought he could get away without level triggering."
- Felix von Leitner in Scalable Network Programming (http://bulk.fefe.de/scalable-networking.pdf)