Archive for June, 2005

Office Space

Monday, June 27th, 2005

Today was the first day at work and it turned out a bit low. I havent got an office yet and neither have I any computer so I spent most of the day reading documentation. I’ll be working on formalizing the deliveryprocess and hacking up a database for supporting the staff in the delivery and technology depertement. What I did get however was a cellular phone.. my three years of radio silence is broken. I will however only be using it for work so I guess I can live with it. Tomorrow will hopefully be more eventful after this slow start.

Unix::Processors OpenBSD Support

Monday, June 27th, 2005

Since I for the first time in quite long time had a fresh OpenBSD installation around I decided to hack up support for the Unix::Processors Perl module. A trivial patch against the 2.031 version can be found here. It will probably be merged with the main distribution soon as well.

Involuntary Overachiever

Sunday, June 26th, 2005

Still more work has been made on the RTOS during the midsummer weekend but a few bugs are left to sort out until its done. The assignment was dimensioned for groups of five people but due to the lecture scheduling we ended up being three in my group.. now we are two (at best) left that are actively working on it. What am I doing wrong? Since I’ve ended up doing more than my share (sometimes even everyones share) in every non-trivial assignment to date I must be doing something wrong. Perhaps I’m too boring to work with?.. All I know is that all this work for others benefit is draining my temper and selfconfidence.. and it sucks.

An interesting thing happened when attempting to compile the application for which the RTOS is targeted, I got a problem when linking since ld couldnt find memcpy(3).. uhmm.. since the resulting binary is a statically linked operating system without libc that really didnt surpris me. What did surprise me was that I neither used memcpy(3) nor linked against anything using it, GCC just though it would be fun to optimize a for-loop. Usually I would’ve agreed but when compiling a freestanding binary with -ffreestanding and not using any optimization flags I really dont like this optimization. About as fun was it too find that -mno-memcpy only is defined for the MIPS architecture.. perhaps I’m missing something but I couldnt find any solution but to implement memcpy(3) in my minimal I/O library.. having to work around stupid compiler behavior is frustrating.

Tomorrow is the first day at my new job, keep your fingers crossed on it not being mindmubingly boring ..

Watching my past on TV

Tuesday, June 21st, 2005

I received the BBS Documentary in the mail today and it was all that and then some. I cant even begin to imagine the amount of work that has been put into making this. Watching it brings up a lot of nice memories from back when the BBS scene was more or less my life, being bullied in school I took refuge in this paralell world made up of modems and a neverending pool of phonelines. This was probably a few of the best years of my life to date. It would be worth it to get a TV-set for this DVD box alone. Another fun thing was that the box was signed by the director. My DVD collection now consist of WarGames and The BBS Documentary, do we see a pattern here?

Yesterday when looking at how to enlist at the unemployment agency I got a call from the ISP where I was interviewed a few weeks ago. They offered me a job and of course I accepted although the pay isn’t all that great, I guess it’s ok considering the work I’ll be doing though. The really good thing about this is that I can work there for the entire duration until I leave for Melbourne.. so it’s back in the rat-race starting monday morning. Now I just need to wrap up the RTOS assignment until then so that it wont be a dragged out process. We hacked up the realtime primitives yesterday for semaphores and event variables and today I’ll try to design a clean message passing subsystem.

Keeping Time

Monday, June 20th, 2005

A bit more RTOS hacking today, besides helping to debug the idleprocess (still not done though) I hacked up a small driver for the RTC hardware clock. Currently it doesn’t handle leapyears at all but thats not of much importance since the only use we have for calendartime is to seed the random number generator. When we get the idleprocess bug sorted out we’re pretty much closing in on the end of the assignment. Getting this over and done with will be pleasing, it will mark the absolute end of my B.Sc studies.

Besides the above hacking I had another boring day.. hating to do stuff alone and not having someone to hang out with renders into a poor equation.. another complimentary ticket expired unused today, the second time just this month.. spent the day mostly reading and wandering around in the nice weather. I finished up The Forever War by Joe Haldeman which I consider to be among the top 5 science fiction novels I’ve read to date, review to come shortly.

Press Any Key

Sunday, June 19th, 2005

Finally got the keyboard driver wrapped up and comitted tonight. The remaining parts on the operating system assignment is mostly the RTOS primitives and adopting the final application from simpleOS to our environment. Perhaps it can all be finished up this weekend, which would be incredibly nice. This weekend (and the week prior to it) has been shitty as never before, getting a positive result for a change would be a lifesaver. I could use a break to clear up the sky a bit, it has grown awfully cloudy lately..

I got myself a new watch yesterday since not having a wristwatch for some five years or so. It will take a lot of time getting used to, it feels totally awkward typing with it on..

Just in Timer

Friday, June 17th, 2005

Quite a productive day today schoolwise. I helped getting the last knits in the timercode sorted out, we can now sleep processes and hook them back into the scheduling when the correct amount of time has passed. Getting this diff into the tree helped us find quite a few bugs in the parts of the code which prevously had been pretty untested. Later in the evening I got a keyboard driver frameowork running, just need to add a buffer and blocking read functionality now. Perhaps we can have this operating system assignment wrapped up by the beginning of next week?

When browsing one of my favourite blogplanets a few days ago I came across this really nice videolectures by Abelson and Sussman on Structure and Interpretation of Computer Programs. SICP is a must-read and now a must-see as well!

Scheduler Hacking

Wednesday, June 15th, 2005

A first iteration of the scheduler abstraction layer was finished and comitted today. I’ve designed so that we can add hooks to callbacks from the entire kernel from relevant methods scheduler-wise. As a proof of concept I also added a new scheduler based on our priority scheduler but implementing the priority inheritance protocol as well. After a long break for pizza I resumed hacking and started on a keyboard device driver. Hopefully I can put down a full days work tomorrow finishing up not only the driver but also starting on the rtos primitives.

Hooks and Callbacks

Tuesday, June 14th, 2005

After a lot of slacking we’ve finally pulled ourselves together to wrap up the project assignment in the hardwarelevel programming class. The assignment is to implement a complete RTOS running standalone on an ia32 box. As a result, I’ve started implementing an abstraction layer for the scheduling so that we can implement multiple schedulers with hooks in the entire codebase without kludging it with alot of compiletime ifdefs. Looks like we’ll be shipping it with a standard priority based scheduler, a modified version of the former with priority inheritance protocol to avoid priority inversion and lastly a lotterybased scheduler. The latter is mostly included as a fun hack though.

I was woken up this morning by the telephone with somewhat good news about the job I was interviewed for. They are moving on to the next step calling my references and will let me know by wednesday whether or not it will materialize into a job or not. Having something to do until I head off south would be extremely nice, not to mention getting a paycheck.

Post-study stress disorder

Sunday, June 12th, 2005

After getting around 12 hours of sleep I woke up feeling like pure crap and spent the entire day in that fashion. The only thing I got done was to hook up me new TFT screen and reorganize my lab a bit. Having been used to shitty resolutions in 75hz running 1280×1024 on a TFT is pure gold.

About 6 months ago an old acquaintance wanted me to look into a problem of his, he needed to synchronize (not replicate) a relational database using GPRS quite often with high precision. This pose a few problems given the technical limitations involved; (i) Storage is limited and volatile in embedded appliances, (ii) GPRS is not only slow but quite unreliable and very pricy so any transfer must be optimal in size while still offering high reliability. I didnt have the time back then to further research a solution but I did formulate some schemes that might work. Since I now have nothing to do this could be a good exercise so I picked up my line of though tonight where I left off early in January. Time to read some papers..

Two times Bachelor

Friday, June 10th, 2005

At around noon today I gave the presentation of my examination essay which went fairly well. Defending the essay was quite easy, the professor was the only one with technical questions and the rest of the opposition consisted merely of further explanations on the contents but they were all fairly small. In less than an hour I was approved which concludes my Bachelor of Science in Software Engineer. That makes a bachelor with a bachelor..

Since having neglected sleeping for the entire week, the four horsemen of insomnia is coming down hard on me at the moment and I’m off some (hopefully) uninterrupted sleep..

Off the Board

Friday, June 10th, 2005

The annual meeting in the tenants-owners association, in which I’ve for the past three years been a member of board, went down tonight. My plan for the evening was to resign from my seat since I’m utterly tired of it and much to my surprise it went quite smoothly. Another weight off my shoulders.. The remainder of the evening was spent polishing on my presentation of my essay for tomorrow. I’m a bit worried of not making the 25 minute timeframe but I hope I can keep it somewhere close to that. This presentation will mark the end of my three years of studies towards my bachelor degree, it’s seems like yesterday I enrolled.. (insert random cliché here)

Interesting day

Thursday, June 9th, 2005

Today became an interesting day with positive results for once. I was off in the morning on the employment interview I mentioned a few days ago at a fairly large ISP. The interview went OK and the assignments will surely become a challenge although they are totally unrelated to programming. I will get notice on if they decide to hire me in a few days but things look good. Getting a job for my remaining time in sweden would really improve my economic situation and being a non programming job, it may give my freedom to study computer science on my own more efficiently. When I came back from the interview I found that the thesis of Håkan Sundell had arrived in the mail. This will indeed be interesting to read, lock-free is the way to go.

I went on to a meeting with the head of my education program to discuss my course credits. He allowed me to include a course on moral philosophy in my examniation and thereby completing my exam. This means that by noon on friday I will have completed my bachelor of science in software engineering. Freshness! While at the university I talked to a few of my teachers and it seems that my presentation and work on the dynamic database has attracted some attention, it will be interesting to see what comes out of this.

In the evening an old friend came by and delivered my new monitor, an 17-inch TFT screen, to replace my aging 17-inch CRT which has served its purpose a long time ago. I have yet to hook it up but it seems to be be able to cope with multiple inputsources which woule enable me to have both my ia32 as well as my sparc64 workstation available at just the press of an input selector button. My lab will indeed get a much needed boost.

Tomorrow wont be equally nice though, we have the annual meeting of the tenants-owners association in the evening and things can get nasty there.. at least I will get to resign from the board which will be extremely nice, I’m tired to working for no appreciation and getting crap thrown at me for it.

All at once

Tuesday, June 7th, 2005

As usual when riding the sinuswave of life, when things decide to happen they all come charging down at the same time. This coming week will indeed be quite an intense experience like I said yesterday. A small update to my schedule is that the jobinterview got scheduled for wednesday which is extremely nice. The place I’m being interviewed at is a major ISP which is positive to hiring me for my remaining time in Sweden before I head off to Australia for my mastersdegree. I guess there wont be any programming involved but at least its a good oppurtunity to brush up on my networking skills. Keep your fingers crossed on them wanting me. The fun part of it is that I didnt apply for it, they called me.. this is getting to be a habit, why cant other parts of life be equally easy?

Didn’t get around to doing much schoolwork this weekend but finishing up the opposition report for the seminar next friday. My presentation slides are coming along too but as usual I’m progressing slowly working out the oral presentation in my head as I go along. It’s too bad I’ve only got 25 minutes..

Slow Starter

Sunday, June 5th, 2005

My todo-list is growing like crazy but I’m having difficulties getting started on anything.. I’m so utterly bored with everything.. Trying to rouse the energy to get started on the RTOS assignment for school, I got frustrated by a bug in mICQ which caused it to dump core when loading my locale. I ended up fixing that instead. Tomorrow is RTOS-day!

The coming week is full of excitement, I’ll be presenting my essay on friday and on thursday evening we’ll have the annual meeting of the tenants-owners association on which I’ll finally resign from the board. Two large commitments ending within 24 hours and perhaps a new one beginning, I’ve been contacted about a job which I will be interviewed for sometime next week too. I’ll post more information on that when things are a bit more certain but it looks promising.