Archive for April, 2005

Open Source Ranting

Friday, April 29th, 2005

About 3 years ago I escaped the IT industry and returned to the academic world, leaving a quite successful career behind (at least I think so). At the time I was labelled as insane to give up my well-fed paycheck for governemnt loans at the university but I’ve never looked back. The problem with the industry is that it’s an extremely technology intense operation being run by marketing people and other obscure creatures wearing ties believing that they know high-tech since they can use Windows Update without dialling the helpdesk. A big portion of these so called experts are the ‘analysts’.. now where the hell do they come from? There must be some form of factory churning out analysts around the clock complete with tie and a bogus area of expertize. Since I get Computer Sweden, a business IT magazine, more or less daily I get to read the FUD being spewn out by these selfproclaimed experts. There are two problems with their reports, they are (i) Payed for by a company which have something gain from a positive report and (ii) People actually trust this bullshit to be the truth.. Amazing.. So much for business academy.. These reports are as trustworthy as a benchmark, which is not at all! Today in Computer Sweden was an article on Linux (Open Source really, the analyst didnt even grasp the fact that Linux is opensource but opensource isnt’t Linux) adoption on the desktop. The idea was of course shot down with the usual arguments and as usual the arguments doesnt hold for shit.. I’ll address two of them below:

  • Document Problems :: Now this is a goodie, opensource products cant be deployed since they probably will cause problems when using proprietary fileformats. This is so stupid my eyes begin to water. If the fileformat is so evil, the why the hell insist on using it? The problem isnt that an opensource solution doesnt exists but rather the fact that you obviously have been lured into a trap by your supplier locking you into depending on them, congratulations. This is the way proprietary software companies make money, by making any transition so difficult or expensive that you’ll stick to their crappy software no matter what. In the case of Microsofts DOC format, this is the main cause of viruses and trojans and not even MS-Office is compatible with it, every new major version of Office will break compatability forcing costly upgrades. If you instead had been using open standards for saving your data, not only would you be free to choose whatever software (that implements the standard) you like but you would also OWN YOUR DATA.. If you’re locked into a vendor dependency on your data, you dont own it anymore but your vendor does. This hardly sounds like sane business to me. The big difference between opensource and proprietary software when dealing with fileformats is that with opensource you always know that YOU have the power to make the decision to support format A or feature B if the author break compatability, with proprietary software you not only lack this choice but can also trust the vendor to deliberately break compatability for the sake of revenues.. The choice isnt hard for me to make.
  • Costly Education :: Another favourite of mine, adopting opensource is too expensive because you have to reeducute all users.. yeah right. I’ve been out there, I’ve seen these users.. there’s no problem believe me. There are only two sort of users out there, the ones that learn stuff by themselves because they experiment and actually like to learn and the clueluess nimwitz that press any OK button displayed without ever bothering reading the error message. The first category hardly need more than a few pointers and some time to get used to a new wordprocessor, ecucating them on the underying operatingsystem is pointless (when will any analyst get that?) and the second category.. well, they dont know anything about Windows either.. the problem with them isnt that education in opensource products is needed but that education at all is needed no matter what product they run. So the arguemnt just isnt valid because it is universal regardless of platform.

.. and the rest of arguments all follow the same template, they all describe a problem which exist with each and every proprietary software product aswell. Migrations to UNIX/Linux/OpenSource-foo are no doubt quite costly in many cases, but have you ever seen a report which details the cost of sticking to vendordependency? Didnt think so.. The opensource movement is clearly showing that large parts of the IT industry is totally and utterly worthless and the IT industry is responding by not getting the clue at all confirming every doubt.. When will the ties learn to harness the power instead of pretending that they know better when they so clearly know shit?

As a side note, I implemented global indata variables and reworked the outdata handling on AutoRacer today aswell as fixed a few bugs. A new release will probably be out tomorrow to play with.

AutoRacer 0.1 Released

Thursday, April 28th, 2005

A few hours of hacking today at school payed off and I wrapped up the first iteration of the AutoRacer testharness compiler for PostgreSQL. This first version is quite rough around the edges and still lacks a few of the features I have planned but I will no doubt continue to hack on until it is the ultimate database logic testharness. Testing and feedback is most welcome, download and documentation is available on the code page if you want to play with it. Now I desperately need to sleep but I know that I’ll spend too much time reading Hackers and Painters.. keeping interesting books too close to the bed is treacherous when you really need to sleep..

Book Review Update

Wednesday, April 27th, 2005

Today was kind of a slow day with not much happening. On the semi-creative side I finished The Gods Themselves and wrote up a small review on it and I started to implement the lock-free linked list as described by Fomitchev et al. In school I fixed a few bugs in my database testharness which I plan on releasing tomorrow (later today actually.. gee the time..) here on the site. I have some features planned which I believe will be handy when debugging and testing complex database logic. Since I was unable to find any existing implementations it would be fun if my hack would attract some attention, clearly there must be a huge need for an easy way to create testcases. More on database testing tomorrow (I hope).

Hacking Frenzy

Monday, April 25th, 2005

Sorry for the lack of updates during the weekend, I havent really come to the point where blogging is a daily routine although perhaps I should. Writing up and summarizing the day is a good practice even if noone is interested in reading the ramblings.

I’ve spent the last days hacking on school-work which really has payed off. The theoretical portion of my essay is now near finished and I’m quite pleased with the outcome. I am going to present it to my supervisor tomorrow and hopefully I wont get shot down. The realization that a singly-linked list will suffice combined with the discovery of a very interesting lock-free linked list implementation by Fomitchev et al. really solved a whole lot. I’ll put a preliminary work-in-progress version up here on the site as soon as I’ve had a chance to discuss it with my supervisor. Finger crossing please!

I also managed to hack up a rulebased SQL test suite for the database project at school. We needed a way to assert that our extremely complex database not only return correct values but also handle malformed queries and malignant attacks at causing inconsistency. Doing some research the results were clear, the consensus among the articles I found was roll your own.. sigh.. To achieve my testing goals I’ve designed an SQL rulebased testharness that given a specification on the possible indata for a given query and the relation between outdata and indata creates an arbitrary number of both correct and incorrect queries and wrap them up in a Perl script using the Test::More module. The result is that database testing can be reduced from specifying testcases that you think may break the database (and miss 50% of the critical ones in the process) to specifying the logic of the database. A few small bugs remain that will be resolved in the beginning of the week and then I’ll post it here.

Upcoming Reading

Thursday, April 21st, 2005

I picked up some new books I had ordered from AdLibris yesterday so my readinglist is now filled with exciting titles. I got two books from each of my two favourite genres, science fiction and techy/geeky computer related. The science fiction titles are The Left Hand of Darkness by Ursula K. Le Guin and The Forever War by Joe Haldeman, both Nebula prize winners. The other two books are Hackers and Painters by Paul Graham and Crypto by Steven Levy. I’ve wanted to read Hackers and Painters for quite a long time since it seems incredibly interesting and have gotten rave reviews, the book by Steven Levy is more of a hip-shot although it has gotten sensational reviews aswell. Since reading Hackers by him about 10 years ago, I would buy any of his book without any doubt, his writing is outstanding and his topics always exciting (for a nerd like me at least). Expect reviews of these in a near future.

Correct Examplecode is Incorrect

Wednesday, April 20th, 2005

I was taught a lesson the hard way today. When building the API for using my description driven information storage I put in example code on how to use the functions thinking I was doing The Right Thing. Wrong. Today I was told there was a bug in my code causing the wrong templates to be used when rendering the HTML output. Since I had tested it quite thoroughly and was quite certain that it worked I began by looking at the code that using my API allegedly triggered the bug. It immediately became obvious that the ‘’bug'’ really was my example code cut-and-pasted right in without changing the hardcoded testdata I used to illustrate how to use it.. sigh.. I wonder how it could happen that an industry as young as the computer industry in so short a time managed to not only forget but disrespect the most valuable practices in programming.. most programmers schooled in recent years are uttetly incapable of the basic task of reading code.. amazing. The morale of the story (rant), Always break example code so that it NEVER compiles when copied and pasted in plain vanilla..

Spring has Arrived!

Monday, April 18th, 2005

Spring has finally settled in and decided to hang around bringing nice temperatures, smells, green plants and a general freshness in the air that truly is one of a kind. The passed weekend brought some creativity which was used to study for the upcoming seminar in the Linear Algebra class and do some hacking on the description-driven system. In order to allow an artifact (table) to contain an arbitrary number of images I had to abstract the image datatype in the third layer (these layers will be described in my paper when I get it done, for now just consider an abstraction layer a metadata description on a data representation). The Right Thing according to me was to implement the image storage as an array in a single column. Since postgreSQL doesnt support arrays of composite types I had to implement a new basetype which was suprisingly easy, postgreSQL really blows the roof off everything else I’ve seen when it comes to databases (I used to work with publishing databases and CMS systems).. amazing. I now have a not-too-large changeset containing a basetype that construct thumbnail representations of images stored.

Nothing much happened since I spent most of saturday and sunday studing math (much needed) but all in all a pretty nice weekend..

Back on the Grid

Friday, April 15th, 2005

The network upgrade I mentioned a few days ago took place today and as usual when something seemingly good seem to happen to me, the natural law of bad luck cancel it out and achieve balance around suckiness. First the good news, my ISP seems to be quite incompetent at setting up networks and the 8Mbit I was to get actually turned out to be 10Mbit (downstream, only 1Mbit upstream).. not too shabby. And the bad news, ah yes. In the process of upgrading they managed to burn out my telephone line so I have neither inbound nor outbound telephone access at the moment.. indeed sucky. I used the forced downtime to upgrade the server software on rastplats.se and remove some old hardware from the machine that was left unused.

Workwise we’ve been doing some fairly good progress on the examproject these last couple of days. The worrying part is that we still havent got any automated testing envorinment set up, I guess I’ll be researching PostgreSQL testing using Perl tomorrow to get a harness off the ground. I just hope we can keep up the pace in the few remaining weeks.

Life in Slow Motion

Tuesday, April 12th, 2005

Another day that resulted in getting close to nothing done.. my recent state of restless inactivity has left me totally crippled when it comes to dealing with stuff that needs to get done.. which sucks incredidbly bad. Shit has been piling up bad lately.. I too learned that someone I care a lot about is feeling down and since I’m somewhat part of the problem, theres nothing I can do.. there seems to be a storm building up, the horizon is black..

On the slightly brighter side, I received the results from the exam on Distributed Systems on which I scored 47.5/50 and made class highscore. It was simple exam though so it sounds more impressive than it really was. In the evening I got my bike fixed up for tomorrow too so that I dont have to walk to school (a nice 50 minute walk). I wonder when that piece of crap will be beyond repairs? Sitewise, the gallery has finally been updated with the canvases and shirt from last weekend.

Dreadlock Holiday

Monday, April 11th, 2005

Weekend verdict: Pretty nice actually!. Saturday evening was spent at Paddans place celebrating his thirtieth birthday. The canvases I mentioned in my last post was my present to him and he seemed very happy about them, since he collect old arcade- and TVgames the motive was the classic Atari logotype. I’ve photographed them but havent been able to transfer them to the gallery yet, I’ll hopefully get that done later today. Meeting a lot of friends I havent seen in a long time was a blast as always when the old Loosers-Online crew get together. Sunday was spent mostly hanging out and reading.. relaxing for the coming week which will be filled with work. I didnt get too far on my article on information abstraction but at least I’ve started working on it.

Artful High

Saturday, April 9th, 2005

Tonight saw a long awaited paintsession in my makeshift studio, these sessions are clearly too far apart. The results of the evening consist of two canvases which together form a side-by-side series (20*20cm boxcanvas) and a t-shirt. I’ll try to borrow a digital camera tomorrow and post some pictures of the stuff. My apartement is currently filled with a heavy scent of paint-fumes turning my brain into a fluid state..

I wrote the last parts of the information abstracted system I’ve been talking about today, it all came down to around 1500 lines of plpgsql and plperl code. My plan is to write a small article on the subject during the weekend, we’ll see where that lands.

New Class

Wednesday, April 6th, 2005

Today was the first day of the class in Linear Algebra that I’m taking which also is the last course that I’ll be enrolling on prior to examination. The thought of a course without any projectassignments and solely with individual work is exhilirating. Another nice thing today was that we got the big sign of approval on our assignement in the Distributed Systems class (distributed RSA cracking). Other than that, precisely everything screwed up and ended up in a mess.. I was unable to get the textbook for the linear algebra class (which I needed yesterday), my bike got a flat-tire which resulted in me having to run from school and grab an expensive cab in order to get home in time for an important meeting.. which of course had been canceled without anyone notifying me.. oh joy.. oh and I nearly forgot, CSN sent me yet another “you’re not getting any money” letters. If my life was a solid item it would be a can of Cuitlacoche.

I wonder if bad-luck is genetically enabled or just plain self induced? My to-hell-in-a-handbag streak is starting to get ridiculous either way..

Planned Breakage

Monday, April 4th, 2005

I received notive today from my ISP that they will bump up my DSL connection from the 2.5Mbit I have today to 8Mbit.. with no extra charge. I guess most people would jump up and down at the prospect whilst I merely conclude that I will have more unused capacity. Its about time they released a true killer-broadband-app for us that dont watch movies and dont consider the telephone to be an important part of their infrastructure.. a nerd-app! The implications of this switch is however that I will be off the internet for some time since their upgrade plan include breaking my current connection (now theres a true sign of quality network engineering). If you cant reach this site then go easy on the reloadbutton and try again a day later..

Nothing creative at all got done today except for some boring paperwork for the next boardmeeting, I sincerely look forward to the day when I can resign from this comission of trust, it is by far the least appreciated work I’ve ever done. For three years I’ve spent an inordinate amount of time running this house and not at a single occasion have I ever received any gratitude. It has been a learning experience but at a very high price indeed.

Various Updates Here and There

Sunday, April 3rd, 2005

Good intentions sometimes doesnt mean shit.. I had intented to get some real work done today but my recent sewerlevel mood didnt bring any rest to my brain to allow for for it.. The extremely good weather probably helped to bring down creativity too and I ended up spending most of the day walking around the town trying not to engage in any form of intellectual activity at all.

I did however get some work done on this site and the content contained herein. The book reviews are now sorted according to what type of book they review and I wrote a review for Ringworld by Larry Niven. My compendium containing answers to some of the exercises in the book Data and Computer Communications have received quite a lot of attention since I put it online, over 200 downloads so far, so I spent some time cleaning it up and formalizing my compendium layout. A new compendium for the book Distributed Systems Concepts and Design was also added with some answers. I’ve made these compendiums since I sincerely dislike textbooks that leave out the answers. When I buy a book I expect to get the entire book and not a cutdown version without the answers. This site now contain around 20Mb of content and get over 1000 pagerequests each month.

My patch to add FreeBSD clockmethod support to the Unix::Processors Perl module was incorporated in the main distribution and uploaded as 2.030 to CPAN today, which made me realize that I had forgot to patch the documentation.. sigh.. even the things I do right I end up doing wrong..

Everything sucks at the moment.. (as usual?)

One down, One to Go

Friday, April 1st, 2005

I took the exam on Distributed Systems today which probably went fairly well, the only real surprise might be the correction of my proof based on disjoint sets regarding serially equivalent transactions. This method of proof wasn’t mentioned at all in the course (or literature) but I cant find any flaws in the reasoning so I believe its correct. To my knowledge theres only one exam remaining until I get my B.Sc in software engineering. If I passed this exam, then the worst I can end up is with a first place tie concerning passed exams in my class. To date I’m the only one that have passed every exam on the first attempt. Not that I really know why really.. good grades really only matters when applying for jobs, and working as a programmer is probably the worst possible job ever and nothing I look forward to.. which kind of sucks quite monstrous since it’s the only thing I know how to do.. the future is bright black..

Spent the evening hacking on non-school related stuff for the first time in quite a while and ended up implementing the clock related functions in the Unix::Processors Perl module for FreeBSD. I ported the module some time ago but the necessary framework (cpu_freq(3)) wasnt implemented and MFC:d to -STABLE until now. The next project will now be my malloc(3) essay which has been suffering badly lately, hopefully I’ll be able to make some progress during the weekend.