This is my online diary. Just small things and thoughts from my everyday life. I guess this should be called a «blog» now but when I started this diary over 7 years ago that word didn't exists :-)
Contents
- 01.08.2008:
- 24.04.2008:
- 05.04.2008:
- 27.01.2008:
- 25.01.2008:
- 16.11.2007:
- 18.05.2007:
- 15.09.2006:
- 10.09.2006:
- 26.08.2006:
- 03.08.2006:
- 18.04.2006:
- 21.03.2006:
- 15.03.2006:
- 08.03.2006:
- 05.03.2006:
- 04.03.2006:
- 30.01.2006:
- 21.01.2006:
- 10.01.2006:
- 08.01.2006:
- 19.11.2005:
- 29.10.2005:
- 02.10.2005:
- 29.09.2005:
- 19.08.2005:
- 17.08.2005:
- 24.07.2005:
- 22.07.2005:
- 21.07.2005:
- 17.07.2005:
- 16.07.2005:
- 13.07.2005:
- 12.07.2005:
- 19.06.2005:
- 12.06.2005:
- 05.06.2005:
- 04.06.2005:
- 02.06.2005:
- 01.06.2005:
- 31.05.2005:
- 21.05.2005:
- 19.05.2005:
- 08.05.2005:
- 07.05.2005:
- 06.05.2005:
- 05.05.2005:
- 24.04.2005:
- 15.04.2005:
- 02.04.2005:
- 01.04.2005:
- 30.03.2005:
- 26.03.2005:
- 20.03.2005:
- 19.03.2005:
- 17.03.2005:
- 15.03.2005:
- 07.03.2005:
- 03.01.2005:
- 06.10.2004:
- 01.10.2004:
- 27.08.2004:
- 01.07.2004:
- 01.05.2004:
- 26.04.2004:
- 01.03.2004:
- 05.01.2004:
- 22.12.2003:
- 05.09.2003:
- 28.06.2003:
- 06.06.2003:
- 28.04.2003:
- 19.08.2002:
- 29.07.2002:
- 01.07.2002:
- 11.06.2002:
- 20.03.2001:
- 11.03.2001:
- 07.02.2001:
- 17.11.2000:
- 12.11.2000:
- 07.11.2000:
- 30.10.2000:
- 10.10.2000:
- 23.09.2000:
- 06.09.2000:
- 03.09.2000:
- 01.09.2000:
- 22.08.2000:
- 21.08.2000:
- 17.08.2000:
01.08.2008:
Goodnews 0.9.7 is released
So it's time again for another release of Goodnews, and as always it's the best one yet. A whole bunch of nifty new features including auto-updates, article expiry , and view pager, together with lots of bugfixes. Feel free to read the whole changelog and give it a go.
24.04.2008:
A computer virus history lesson
For the last three years I have been holding guest lectures in a course at Gjøvik University College discussing viruses and how they work. Viruses and Worms are something that's always fascinated me, and something I've always had some degree of knowledge in. The real computer virus, that infects files it's longer very wide spread, and in a very sick nostalgic way, I find it a bit sad. Because compared to most Internet worms, they are a work of art.
This year I planned to present a complete virus to the students and demonstrate how it worked and replicated itself, but for various reasons it wasn't finished on time for the guest lecture.
The virus itself isn't actually a full functioning virus, it's for educational purposes only, and wont infect more than a single file with a specific name (I want tempt fate by making a virus that has a chance to escape out to the real world, however teoricly improbable and unlikely it it, the history is full of viruses escaping the creator to wreck havoc onto the world)
The virus is an very simple DOS/COM-infecter, it's a virus from the ancient past, and wont work on any modern operating system, but it will run just fine in dosbox and give you a nice rundown of how viruses work in theory. The virus will infect only one file with the name "hello.com", but it can be easily modified to search for more files.
To try it out, download both the hello world program and the virus itself, and compile them using NASM:
[stianh@batstick ~]$ nasm virus.asm -fbin -o virus.com [stianh@batstick ~]$ nasm hello.asm -fbin -o hello.com
Then start up dosbox and run the HELLO.COM file to see that it actually prints a "Hello World!". Then run "VIRUS.COM" to infect the file, and re-run "HELLO.COM", to confirm the virus has actually been planted (it will give you a message on the screen)
Now all you need to do is to sit down with a debugger and step through the program several times to really understand what it does ;)
05.04.2008:
Another flash of Warhol's fifteen minutes
So got another taste of Andy Warhol's fifteen minutes of fame. Being the IT-manager at Gjøvik University College gives you opportunities to figure in the media from time to time, but it's not every day you get an interview in Computerworld (albeit only the Norwegian edition). My parents are so proud, or so they told me ;)
Off course it didn't go without glitches (a journalist was involved after all), and they managed to get my name wrong - not just the spelling - the name itself. They decided I looked more like a "Kai Mathisen" and used that name throughout the entire article. Very awkward, but I did get an embarrassed apology and a complete reprint of the article the following week, which suits me fine since they did manage to get the name of Gjøvik University College right and all publicity right before high school graduates decide which college to apply to, is a very Good Thing :)
27.01.2008:
Goodnews 0.9.6 is released
So a new year demands a new release of Goodnews, and boy this time it's a good one ;) There is a lot great of changes, with highlights like a new unified config file, drastically reduced start-up times, finally a fix for that stupid bug that prevented your from entering URLs beyond certain lengths, allowing for editing of feeds directly in Goodnews, and lots of and lots of bug-fixes.
25.01.2008:
The sound of a new gadget
One of my long time plans was always to build some sort of home studio. Of course a real home studio isn't cheap. One needs all kind of expensive equipment, like mixers, microphones, sound cards, and recording software. Being a "less is more"-freak ,of course, I wanted to find out whats the least amount of money and equipment you need to do decent recordings for song writing and demo use. I had almost given up, when I discovered this small gadget called the Zoom H4. This little baby is truly amazing. It has two built-in high quality condenser microphones, set in a X-Y setup giving you real stereo recordings. You can record with quality up to 96KHz 24bit (or strait to mp3 up to 320kbps) on to a standard SD-card, applying all kind of built-in effects real-time. It can also function as a 4-track studio, making it useful for quick demo recordings any where any time. The connectors is the really cool part. It has four inputs, two standard jack connections, and two "real" XLR plugs with phantom power allowing you to use any kind of external microphones. The unit also comes with an usb-connection to easily transfer your recording to the computer, and can even function as an external USB sound card which shows up automatically even in Linux. The recordings sound great, just listen to this short improvised jam of me just goofing around. Others I've spoken to tells me it's also great for recording concerts and band rehersals, and I can't wait to try it out.
16.11.2007:
Old hardware makes new toys
I have really wanted to build a HTPC for a long time, but never gotten around to it. Both because spare time is something I have very little of, and that most HTPC parts cost more that I want to spend. Then I suddenly had a revelation during a visit to some friends of mine. They had an old Xbox hooked up to their TV as a media center, and I really liked the looked and feel, and superb usability of it, so I decided this was the route to pursue. I finally got my hands on an old Xbox (even with a DVD kit addon) for free though an old friend of mine that had just upgraded to the Xbox 360. I then bought a very cheap modchip for about kr. 200,- and one of my coworkers offered to chip it for me and install XBMC on it. I now watch and listen to all kinds of media over the network in my living room on my big screen TV and Home Surround System. I have even watched a few Everton UEFA Cup games via live Internet streams on it, and it works like a charm. So people: don't throw away your old hardware, someone will always find some good use for it.
18.05.2007:
Goodnews 0.9.5 is released.
I've just made a new release of Goodnews. This release makes a small adjustment on how HTML in description-fields are handled. We now try see if there are any HTML tags, and if it is use text2html to render it. It also fixes a rare crash bug on empty description-fields. This release also comes with a distutils-script that should make installing Goodnews a whole lot easier. Enjoy!
15.09.2006:
O Gadget, Where Art Thou?
This week I ended up purchasing a new CD player for my car. Initially I was only looking for a new CD player that could blend more in to the car's dashboard than my old one, meaning it needed to be dark grey or black with red LEDs. Then by chance I stumbled into the Pioneer web site and looking at their CD tuner section I found their DEH-P55BT model not only had color configurable LCD and LEDs, read MP3/WMA discs, and options to connect iPods with additional accessories, but also a built-in Bluetooth hands-free for almost any mobile phone. Nice! You get all your phones functions on to the diplay of and control it with the player. Look up numbers in the phone book, speech commands, the works. Only down side is that it didn't support streaming audio from your phone, apparently you need to add another €300 and buy the more expensive player to get that option. Well, anyways, now I only need to get the damn thing plugged in properly ;-)
10.09.2006:
One, Two, and oh yes.. Three Fscking Nil!!!
Derby days, aren't they just great? Up yearly, nice breakfast, the whole body tingling with excitement and anticipation, off to the pub, good friends, singing, cheering, few pints, build up to kick off, Z-cars, a full Gooodison Park roaring, the Red Shites sent home packing after a real trashing in every position of the park! 3-0! The biggest Goodison derby win since 1909, the biggest derby win since 1964, what a game, what goals, what a twatting! Today I'm a very happy man (albeit a bit hung over). Come on you Blues, the School of Science is back!
26.08.2006:
Planet's gains and losses
So, someone added me to a planet: Pluto's dead, long live Planet LiLUG. A very nice gesture, but the problem was my rss feed wasn't really designed for syndication as part of a planet, as most standard compliant RSS feeds is, so this meant spending the good half of my weekend rewriting the XSLT stylesheet of my diary. Well quite fun actually.
You see all these planets that keep popping up rely on HTML in the RSS feed, so you can add links, or nice bullet lists:
- one link
- two
- three
or even a nice image:
But as you (should) know there is no room for HMTL is RSS, and certainly I just don't do HTML, I use reStructuredText ;-) One trick of course is to use the content namespace, and add "content:encoded" nodes to your feed, and keep the description nodes clean. So that's what I did, and I wrote this diary entry to test the result.
So here you have it, a shiny new nice RSS, with all the gore you eye candy junkies crave, and with plain 'ol text for the rest of us. Enjoy :-)
03.08.2006:
The compiling of a summer
I've not updated my diary for a while simply because it's been rather busy, and other things have taken more focus. Though, I've managed to take out my first real vacation in over ten years. Three whole weeks, with one week been spend going away with my family. This is in fact the very first vacation me and my wife ever been on together since we first met (how she put up with me is a mystery). However, having sooo much free time on my hands with nothing to do called for some fun project to fill it up with. Two years ago I started writing a Simula compiler that never got finished, so this summer I picked it up again. The compiler is coming along nicely and I will release as open source as soon as I think is usable for other people. The compiler is written in Python, which might sound surprising at first, but this has some obvious advantages:
- Python is quick and easy to develop in and let you have something working very fast.
- It has a effective runtime system that does much of the things that Simula's runtime also must handle giving you much for free.
- Python is so dynamically that even language specific things in Simula can be expresses in a similar manner in Python
- Even though CPython is tragically welded to the C stack, Python 2.5 now has support for co-routines through the extended yield statement, and some preliminary testing indicates it can be used to simulate Simula co-routines.
- Python is very portable, runs on almost anything, and has a vast Standard Library that's part of the language itself. So writing a compiler in Pythin let's Simula easily access Python modules giving it more tools to do real tasks with.
- The PyPY project shows that a compiler written in Python is actually very doable, and gives you an extremely flexible compiler that can be very quickly adapted and extended with no or little effort..
- The performance issue isn't that important in most cases anyway, and if it is adding a new back-end should be simple enough. Like for instance a CLI option would be a mouth watering thought.
18.04.2006:
Private founders, public Keepers
During Easter there was an article in a Norwegian financial paper discussing how privately held companies, with their founders still as CEO, consistently delivers better results than publicly held companies. The article was a pick up from Fortune Magazine and refer to work done by Rüdiger Fahlenbrach about how they not only systematically deliver better results, but also do more research, more development, invest more in their scope of operations, and make more focused mergers.
This is something I have been claiming for nearly ten years now, that publicly traded companies doesn't work properly. They spend more time trying to do want they think the stock marked want, rather than focusing on want the customer want. They trade quarterly results for the company's survival in the long run. This is because every stock marked investor is screaming at the top of their lungs at every quarterly result presentations that the next quarter must be better than the last. It's not enough that you make sound profits, the profits must increase every quarter, not in numbers, but in rates mind you, or all the day-traders and mutual fund managers will drop the stock like yesterdays newspaper. I worked at a company that had never in it's existence lost money, still we were stamped as "boring" by the stock marked because the stock never moved thus not giving stock investors any chance for quick profits. Since most CEO salaries and stock options are decided not on the company's heath, but on it's stock price, they will do anything to "please" the stock marked, usually by cutting cost (which in corporate terms always means layoffs).
Having worked for a public company myself, I've seen first hand how the quartile result race strangle all creativity, kills employee satisfaction, a ignore humane and ethical thinking, and eventually destroy the company itself. All by seemingly looking healtly and managing to holding it's stock price high by constantly laying off staff thus cashing in on the short term boost it gives to profit margins. No attempts to boost the turn-around was made, because that meant hard work and probably delivering losses a couple of quarters, so eventually shortly after I left the company it was slowly broken up in tiny pieces that where sold off or dropped.
After this I made a promise that I will think long and hard before I work for a publicly traded company again. Working for entrepreneurs and founders is fine, so is privately held companies, even government held companies might do, but if you're a recruiter from a company noted on some stock exchange, you better be carrying a very good offer to tempt me in to even consider it ;-).
21.03.2006:
A rub of green and royal blue
Another trip to Liverpool is over. Ryanair from Torp to Lennon. St. Patrick's Day in Liverpool. £1 a pint at The Richmond. Mugging. Everton trashing Aston Villa 4-1. Kids in the park. Jumpers for goal posts. Mmmm.
15.03.2006:
A fuel cell changing experience
Sitting in a sales meeting with APC talking about cooling the discussion suddenly took a surprising turn when the sales rep mention in a casual comment that APC was now pursuing fuel cell powered backup systems. This got me really exited because it suddenly dawned on me that is would revolutionize the way we do backup powering in computer rooms, and apart from laptops this must be one of the most perfect uses of fuel cell technology. No more diesel generators, no more large battery driven UPS', just one system powered by hydrogen providing long time stable AC backup power with no moving parts. Brilliant. APC has this only half way out the research labs yet, but can deliver you a system for €25,000 per 10Kw module. The system is powered by standard industrial quality hyrogen cylinders, each providing 79 minutes of run time with runtime extending linear by adding more cylinders. One cylinder cost about €25 and with three cylinders you achieve N+1 redundancy.
I'm telling you all now: this is the new way you will be doing backup power in the future. Of all my predictions; this is one I have great confidence in. Certainly, the next computer room I'm building will be with fuel cells ;-)
08.03.2006:
Hacking Series60 with Python
I finally got my hands of one of those Series60 Symbian phones, a Nokia N70. I'm really disappointed by how slow and bloated it is (I mean when a phone takes 30 seconds just to boot, something has gone horribly wrong) but on the brighter side I finally got to try out the Symbian port of Python. One cool features I discovered was that you can connect to the python shell on your phone remotely over bluetooth using a laptop computer.
First I told my box to accept incoming bluetooth connections on channel 1:
[root@batchop ~]# rfcomm listen /dev/rfcomm4 Waiting for connection on channel 1 Connection from 00:16:4E:D7:14:DA to /dev/rfcomm4 Press CTRL-C for hangup
Then I started the python bluetooth remote shell, and connected to the serial device using a simple terminal emulator like "minicom", or "cu":
[stianh@batchop ~]$ cu -l /dev/rfcomm
or alternatively:
[stianh@batchop ~]$ minicom -m
Then you get the familiar python interactive shell prompt:
>>> >>> print sys.version 2.2.2 (#0, Sep 26 2005, 11:38:57) [GCC 2.9-psion-98r2 (Symbian build 546)] >>> sys.platform 'symbian_s60' >>> dir() ['__builtins__', '__doc__', '__name__', 'appuifw', 'commands', 'exec_btconsole', 'exec_interactive', 'exit', 'init_options_menu', 'menu_action', 'my_console', 'os', 'pr', 'query_and_exec', 'quit', 'series60_console', 'sys', 'this_dir'] >>> os.listdir('c:') ['cache', 'DxDPOF.txt', 'Nokia', 'Private', 'System']
Of cource like all other python distributions batteries' included, and Nokia gives you some nice modules to play around with the phone's data. Like accessing it's calendar:
>>> import calendar >>> db = calendar.open() >>> print db.export_vcalendars((2,)) BEGIN:VCALENDAR VERSION:1.0 BEGIN:VEVENT UID:2 DESCRIPTION:Skattekort DTSTART:20060127T000000 DTEND:20060128T000000 X-EPOCAGENDAENTRYTYPE:EVENT CLASS:PUBLIC DCREATED:20060327T000000 LAST-MODIFIED:20060327T105500 PRIORITY:0 STATUS:NEEDS ACTION END:VEVENT END:VCALENDAR
05.03.2006:
Goodnews 0.9.4 is released.
So, another release of Goodnews is out there. This release adds threading (spit) when updating feeds, which makes it considerably faster. I really wanted to use asynchronous I/O but that was not trivial to add without writing my own http-client, maybe some other time.
04.03.2006:
Keeping your Windows fresh and clean
I'm a Linux and Open Source guy, GPL is my thing, but professionally I have the most fun administrating Windows and making Redmond software place nice. Most satisfying is it when I can use Open Source or freeware tools to "fix" Windows annoyances. This last few weeks I've tried out WPKG to do software distribution at work. The tool is very simple, so even though it has a few rough edges, it's easy to hack, fix, and add new features to. I've already submitted a few patches, and it does the job. One problem with WPKG though, is that it's a pull tool and dependent of users rebooting their computer every once and a while to get updates. The problem is that sometimes you need to push out changes. Maybe a security fix, a personal firewall configuration, etc. The much overrated Microsoft System Management Server can do this, but I don't like it, so I've found other means. I first used Sysinternals excellent PsExec to run commands on remote computers, but since the license is a bit restricted, I found BeyondExec that does the same thing and more. With another freeware tool Adfind you've got a pretty powerful tools-chest:
C:\>adfind -list -b ou=wpkg,dc=hig,dc=no -f "objectcategory=computer" cn > wpkg.grp C:\>beyondexec -g c:\wpkg.grp -s cscript \\higvm\wpkg\wpkg.js /install:firefox
And voilá, you push out Firefox to all computers in the wpkg OU.
30.01.2006:
Goodnews 0.9.3 is released.
I've just released a new bugfix release of Goodnews. This release fixes an embarrassing crash bug when adding more feeds than lines on the console (duh!). Also the code is cleaned up a bit, and a several bugs regarding color handling is ironed out. Also, development is now moved into a subversion repository so it should be easier to maintain several release branches at once.
21.01.2006:
As we didn't love SSH enough already
Having just recently installed Fedora Core 4 on my laptop I discovered today that both FUSE and sshfs was included in the extras repository. Now there's a great tool. I've just tried it out now for ten minutes, and I already love it. I think this can be my new favorite tool. With sshfs users can mount any remote file system as easy as using ssh. If it's accessible with a ssh account, you can mount it. This is exactly what I've been looking for a long time, a secure and easy way of mounting your file system from anywhere.
10.01.2006:
Docutils 0.4 released
Reading Freshmeat, as you do, I discovered that Docutils 0.4 has just been released with tons of nice updates. First, the website has been gives some great updates with additional documentation, but one of the nicest new addition is the rst2s5.py front-end to make nice looking S5 presentations using only good ol' reStructuredText.
08.01.2006:
Bump up your lock pick toools
This Sunday I've mostly been in bed with a hefty migraine, and used the dead time to listen up on the backlog of radio shows my computer automatically tapes for me, and reading slashdot of course. On slashdot they run a story that linked to the Hack a day website. The story itself wasn't anything to mention but, ending up reading about the other hacks on the site, I stumbled upon a short article linking to a white paper and presentation video on The Open Organisation Of Lockpickers (TOOOL) website describing a technique called "lock bumping" using a so called "bump key"
Seeing the video and reading the white paper my jaw fell to my knees. I was just gob smacked of how easy you can open so called "safe" locks without any traces of tampering. The more expensive lock, the more vulnerably it probably is.
Basically a bump key is a key with all it's cuts made at maximum depth. This is some times called a 999 key. When inserted into a lock and hit with a heavy tool while turned, it applies the principle of Newton's Cradle and the lock jumps open just like magic. This method can open most pin tumbler locks with little effort and very simple tools.
19.11.2005:
IT-forum and Tapas in Barcelona
Just back from Barcelona where I attended the Microsoft IT-Forum 2005, a conference I've been going to for years. This year it was a bit slow on the news front except for a couple of exceptions.
First, virtualisation is coming hard, and IT people should be ready. The Microsoft Virtual Server 2003 R2 looks decent, and even though it doesn't add up to the technical standard of VMWare ESX server, it blow VMWare out of the water when it comes to pricing (about 1/10 that of VMWare).
Second, the new command shell Monad. Yes, you heard it, command shell for Windows. The best part: It rocks! Microsoft has managed to come up with a whole new way of thinking in shell design. Where in Unix we usually think of everything as a file, Monad treats everything as an object. This paradigm creates a few interesting possibilities. Like access COM and .NET objects directly in the shell. Or what do think of cd'ing into your registry, grep through the keys, and pipe the result into a built in function you wrote you self?
The presentation was made by Monads designer during which he was interrupted by spontaneous applause several times. Monad is planned to ship with Microsoft Exchange 12 in 2006. The Exchange Team has adopted Monad to the extent that they've thrown out the old GUI admin tool, and built a new one on top of Monad. So everything you can do in the GUI, and more, you can now do on the command line too. Whoo hoo!
29.10.2005:
The car is dead, long live the car
I've just bought me self a new car - well it's a few years old - but it's new to me.
Since beginning work at Gjøvik University College I now have a 40 minutes commute each way and I need a car that I can trust to start every morning and get me to work on time.
My old car has been dying a slow horrible death ever since I first acquired it five years ago. The last year it has been falling apart with rust, and central pieces of the engine has been failing in turn. You can say a replacement was high due.
The new car is surprisingly well kept. It's doesn't really look used and has been taken very good care of by it's previous owner. Let's hope I can follow that example, because my car rep is not that good :-)
02.10.2005:
Ajax is no longer just for cleaning
In case you haven't noticed we're experiencing a shift of paradigms in web application development, and it comes in the form of Ajax, Asynchronous JavaScript and XML. In a very short period of time a lot of Ajax based applications have popped up, and it's popularity is picking up pace, fast.
You may have already tried Ajax applications without even realizing, Google Maps for instance is one such application, Outlook Web Access is an other.
Ajax make use of XHTML, CSS, and JavaScript to asynchronous and dynamically change the look and behavior of the web page by using XMLHTTP calls between a client (written in JavaScript and run inside your browser), and a server (usually in the form of an ASP or JSP page). The gain is that you don't have to reload the whole page on events, and consequently behave more like a "native" application.
The key to make Ajax work, is the Javascript XmlHTTPRequest object, which interestingly was originally implemented by Microsoft in 1998 for Internet Explorer 4.0 and put heavily into use by Outlook Web Access in Exchange 5.5 the same year. Microsoft inventing stuff, who knew?!? ;-)
It's important to know that Ajax not a defined standard, in reality it's just a loose term of a series of techniques and "tricks", if you will, that's been around for years. But expect to see a lot of articles, books, and presentations in the next six months misusing the term excessively. I predict much of the same hype we experienced with Java a couple of years ago. Hopefully we'll get to see a few new and exiting web applications in return for it.
29.09.2005:
Don't panic
I've been on 50% sick leave this week, and will be for another. You see; I had been feeling tired and exhausted for a few weeks, and had it down to just lack of sleep. Then one weekend I suddenly had the most frightening experience. My heartbeat was raging, I got chest pains, felt I couldn't get enough air, my hands and feet was tingling, and I was generally just paralyzed. Really scary. I went to the doctor's and as soon as I told him the symptoms, he gave me a smile and said: "That's a clear cut description of a panic attack".
Apparently they can be caused by severe stress, and since I took over as IT manager at HiG I've ignored every early warning signals my body has been trying to send me, and just continued to press on. I skipped my vacation, stopped working out, worked weekends and late nights, missing sleep, and jumped both breakfasts and lunches almost daily. Looking back it was just stupid, stupid, stupid! It was so obvious and I really should know better than this.
Well, guess I was thought a lessons or two, and now I will pay for it by needing several weeks of recuperating and rest because of it.
19.08.2005:
Hacking the Opera Mini
Opera Software ASA have, in partnership with the Norwegian broadcasting channel TV2, just released a new 'browser' for low-end mobile phones. The browser marketed aggressively through big TV ads here in Norway, and all you have to do is send a SMS to a certain number to receive and install it on your cell phone.
At first I was impressed, the downloaded j2me jar file was just 55K. Amazing I thought, how the hell did they make a browser in just 55Kb worth of compiled Java? Well, it turned out they really didn't.
One of the first things I tried was of course to point the Opera Mini towards my own site to see how it looked on a mobile phone. The first thing I noticed was that I was getting strange entries in my Apache access logs, with IPs not originating from my phone or GPRS provider, but some server hosted in Germany. This got me curious, so I decided to have a closer look.
I was able to pull out the jar file and got it running under the j2me emulator on my laptop. I then fired up ethereal as started to watch what it was sending over the wire. I also ran the class files through Jad got a general impression on how Opera Mini worked. The results the both surprising and some what disturbing.
You see, Opera hasn't really made a browser at all, they've made a small image viewer client that talks to a central proxy server that does all the handing for you. The server only sends a small stub of information back to the client describing it's complete pixel layout. This stub is what Opera call OBML - Opera Binary Markup Language, and is part of Operas patented small screen rendering.
Also, when you request a web page, the client sends the link - along with client information like; session cookies, screen size and phone number - to a central server, which act as a proxy and fetches the web pages and converts them into OBML. The server knows everything about you. Cached web pages, surfing history, website passwords, and theoreticaly - via your phone number - even your home address (because anti terrorist laws here in Norway has banned unregistered cell phone calls).
My only conclution is that Opera is trying to brake into the spyware buissness. I think this is the most sneeking attack on privacy I seen in years. The real ironic part is that the phone number you send a SMS to download the browser is 1984....
Please, please, please, do not use Opera Mini unless you know exacly what you are doing!
17.08.2005:
Battery power to the people
We discontinued a couple of old APC SmartUPS-1000s at work with broken batteries. I took one of them home, and was able to replace the battery pack using a cheap replacement I got from my uncle's car battery store. For the layout of just kr.850,- I got myself a tip top home UPS with 30 minutes of battery run time cheap as chips :-)
I connected the UPS to one of my linux boxes using a serial cable and installed apcupsd on it. This worked right out of the box without any configuration, including a neat web interface. I even added some nice mrtg graphs with just a couple of lines of bash scripting in no time. Very impressing little piece of software.
Now for the weird part; just after connecting my servers to the UPS, 11 minutes and 33 seconds to be exact and I have the logs to prove it, there was a loud thunder and all the lights flashed for a couple of seconds. Talk about "nick of time" and "real life testing" :-)
24.07.2005:
New design goes live
So after a short beta period I decided to switch the site to the new design. I'm really pleased with it and even though it uses a bit more 'advanced' CSS, it should work well in most modern browsers.
22.07.2005:
I laugh at your puny little script kiddie attempts
In the last six month my logs has been filled with failed ssh login attempts from automated scripts. Other than being annoying they're really just stupid and mostly conducted by idiot script kiddies that think they rule just because they can "hack" into a computer that someone left without a decent root password.
For a while I sent out abuse reports on the most imbecile attempts (after 2000 fail attempts just give it up already) but since most "attacks" originated from ISPs that seemingly didn't care, I wrote a script to just block these attempts out of my network.
Get it here: sshdeny.py
The script is simple enough. It tails the security-log looking for bad login attempts and drops a line into /etc/hosts.deny if they exceed five failed attempts. Just start it up with:
[root]# tail --follow=name --retry /var/log/secure | ./sshdeny.py
21.07.2005:
Antivirus makers grab your ankles, here's Microsoft
Everyones favorite software company just released their first beta of Windows OneCare, a security package for the home user. Interestingly it features, along with anti-spyware and a firewall, an anti-virus module.
If I was a CEO of an anti-virus company I would be pissing my pant. If and when Microsoft releases an anti-virus solution of their own that's in effect the end of the whole industry. You don't believe me? Fine, but ask yourself, what happened to all those word processor and spread sheet companies in the eighthes? Or those browser guys in the nineties? Compiler makers? Instant messaging? Groupware? They all vanished without a trace just around the time little Bill decided "Hey that's an interesting product, lets make one of those".
I mean even me, a linux user for over 10 years, wouldn't think twice of throwing out my anti-virus vendor if Microsoft starts offering an decent anti-virus enterprise solution of their own, because most anti-virus vendors make crap products anyway.
It's my claim that anti virus software is now the number one reason why people's computer crash. Fact is, Microsoft has cleaned up their act a lot, when it comes to stability, but since antivirii must be run with a complete access to the underlying OS, it's can crash your computer just as effective as Microsoft ever did in the old days - and they do!
It never stops to amaze me just how bad anti-virus software really is, frankly it stinks! It slows your computer down to a grinding halt, destroys vital functionality, brake your application access, deletes important files, and crashes your computer. Still: the average user have no other options if they are to access the Internet without being rooted.
I have yet to see an anti-virus solution that didn't suck! So I say: good riddance to all you proprietary anti-virus makers, may your stock options soon plummet to a near zero value. The sooner the better! I would never in a million years think I ever say this but: Go Microsoft!
17.07.2005:
Oh wonderful stylesheets
CSS is a wonderful tool. For years I brushed it off as something bad because it wasn't compatible with older and simpler browsers, but in later years, after working with Plone and reStructuredText, I've come to realize it's strengths. Most importantly it draws a clear line between the presentation layer and contents so designers, programmers, and writers can step on each other toes a bit less.
As I rewrote this whole site in reStructuredText a while back, I designed a CSS that made it look exactly like the old site, I was surprised of how easy it really was. This Sunday I was bored, so I hacked up an alternative design to the site in just a short hour. Again with very little effort.
Notice that the only difference between the to designs is the stylesheet, no changes has been done to the text, HTML, or build system. Very cool ;-)
16.07.2005:
Stupid researchers with stupid ideas
The other night I saw a re-run if a danish popular science TV show called Viden Om about some "research" being done at IT University of Copenhagen on something they called "intelligent ghost applications". Basically a computer would track your movements by picking up signals from your pda, wlan-device, mobile phone, implanted RFID whatever, and give you relevant "information" and "assistance" depentant on your location. I watched this one hour hallelujah of technology praising, containing not a single critical word about the downsides and dangers of having such systems. If you've seen Minority Report the scenes with the eye scanners and personalised bill boards, you get the idea. One "scientist" even went so far to calling this not a "Big Brother" system, but a "Big Mother" system, "It's not a system to control you but to take care of you". Holy peanut brain Batman, how retarded can you be?!? I'm really provoked by how naive some so called "researchers" and "scientists" can be. The total disregard of evil uses for their work, and the apparent wearing of horse blinkers of what the consequences their work can have to the life of the common man.
So why this rant, well today 60 years ago, July 16, 1945, the world's first nuclear bomb exploded at Trinity Site, New Mexico, it is the ultimate example of scientists effect on our lifes. I remember at the age of 11 or 12 seeing a TV interview from 1965 with Robert Oppenheimer where he was asked how he felt about his "success". His words, and face when he said them, made a lasting impression on me:
"We knew the world would not be the same. A few people laughed, a few people cried, most people were silent. I remembered the line from the Hindu scripture, the Bhagavad-Gita. Vishnu is trying to persuade the Prince that he should do his duty and to impress him takes on his multi-armed form and says, 'Now, I am become Death, the destroyer of worlds.' I suppose we all thought that, one way or another." -- J. Robert Oppenheimer
13.07.2005:
Goodnews 0.9.1 is released.
I've just released a bugfix release of Goodnews. This fixes small layout problems when showing RSS items, and it now uses the textwrap modules from the Python Standard Library to to wrap text more perty.
12.07.2005:
Com and join the org
So I'm "migrating" the domain from batbelt.com to batbelt.org, because this isn't really a commercial site is it? ;-) I'll still pay the fees for batbelt.com for a considerable amount of time yet, but gradually it will just fade away.
19.06.2005:
The choices of a GNU generation
I'm pondering the choice of Linux server distribution. I'm torn between Debian, Novell/Suse, and Redhat. Even Fedora is an option. Since we at Gjøvik University College run our servers on Dell hardware, the only official supported Linux platform for us is RHEL, which also happens to be my personal preference.
The problem is that we don't need the expensive support offering that comes with RHEL. Because of this I've been looking at CentOS, a community supported version of Redhat Enterprise Linux.
To be honest I'm divided. One part of me acknowledge the fact that Linux and all of Redhat's software is licensed under the GPL and it's perfectly within everyones right to do with it what we want, but on the other hand the community needs RedHat and their survival is dependent on them making a profit. Then again big companies, who's Redhats main source of income, are more than willing to pay for support, and feel that is the real value of the Redhat product.
Others like Duke University are using CentOS just like we want to and I've been searching news groups and mailing lists for discussions around this topic but come up short. So maybe It's just me being silly?
12.06.2005:
Dirty ol' Street
This weekend I played the Fjellhamar Street three-on-three basketball tournament in Lørenskog . The famous rap collective Dirty Oppland had entered the tournament with two teams and needed some extra players - seven actually - and asked a few of us to give them a helping hand. We managed to bring both teams through to the play-offs, and gave even teams with players from the Norwegian pro league BLNO a hard time along the way. The whole day was just pure joy, and it also seeded loose plans to arrange something similar here in Lillehammer in collaboration with Lillehammer Basketball Club and Dirty Oppland.
05.06.2005:
Gmane may be the missing link
I've been sniffing out Gmane for a while, because I'm not to happy about how reading and searching of mailing lists work for me. Gmane is a mail-to-news gateway, not in itself a new idea, but Gmane goes a very long way in getting it right. First, the gateway is bidirectional so you can post from the nntp interface even if your not a member if the list (if the list allow it of course). Second it never expire any messages so it also a good archive, even it's web interface is the best I've seen for mailing lists or news.
04.06.2005:
Feed the info junkies
I've just added a RSS feed and Live Bookmark to the diary. Now you can easily stay up to date with all the new diary entries. It also shows what you can do with good tools as reStructuredText. The feed is generated by first converting the reStructuredText document into XML, and then running it though a XSLT to create a RSS 2.0 XML. Read more on how this is done in the About section.
02.06.2005:
Entering managment
I've been asked to step in as the acting IT-manager at Gjøvik University College, after my boss rather surprisingly turned in his resignation today. I originally had no intentions of entering management this soon after leaving Accenture, but when I'm asked in such circumstances I feel a call of duty. There is still a few things that needs sorting before I can give my final answer, but I've given a initial yes for now.
01.06.2005:
Goodnews 0.9 is released.
A new version of Goodnews is released, and this one adds the *bozo* flag for badly formated feeds. Though you still see them if they are remotely parseble but the application will give you a note. Also since The description field are allowed to contain HTML, I'm using Aaron Swartz' html2text module to parse the feeds for now. I'll probably change that later. Also Python's curses modules doesn't support wide characters so I've done some fiddling to prevent it from seeing them.
31.05.2005:
I'm now my own company
I have finally received my business entity number, which means I now have my own legal company. This doesn't really mean all that much since, unlike public companies, I'm still personally responsible for all depths in the company, but it does give me right to write off expenses, and taxes when my turnover exceeds Kr.100K. My specialties are incident response, server administration configuration, and troubleshooting, smaller programming tasks, along with project management and system design.
21.05.2005:
Freshrpms and Dag Wieers, move over!
Well, not yet anyway ;-) Since I made my first RPM a couple a weeks ago I done more packaging, and it's quite fun actually. I'm slowly starting to package software I use regularly which is usually install from source. I've never been happy with keeping my custom software in /usr/local because it makes a pain when I reinstall my system. So now I'm building my own repository of packages. A subversion repository holds all the specs and the rpms live at http://dilbert.hig.no/pub/stianh/RPMS/.
19.05.2005:
Revenge Of The Star Wars Geek
I went to the Revenge of the Sith premiere which was screened at 00:03 AM. My mom was a real sweet and watched the kids even though she was going to work the day after, and we didn't get home until 3 AM. The movie was great, George finally got it right. I noticed at one point that I wasn't paying that much attention to the FXs as I did the two earlier prequels. Unlike the two earlier films, the story very much drove the movie forward. Some great scenes too, the dialog was almost bearable, and Ian McDiarmid and Ewan McGregor did some great acting at times. A special moment for me was when they entered the ship of Captain Antilles from the opening scene of A New Hope - really made me feel 10 years old again.
08.05.2005:
EVERTON ARE IN THE CHAMPIONS LEAGUE!
YES!!! Everton are in the Champions League! It's unbelievable, we're in the Champions League, I can't believe it. Next season I'll be following Everton into Europe. I don't know where I'll find the money to do so, but who cares. All the pain and misery these last 10 years are all but forgotten. Congratulations to every Evertonian around the world, you are the best! See you all in Europe next season. Thank you!
07.05.2005:
Now, put that in your repository and smoke it
As I metioned earlier we're rebuilding HiG's linux network, and part of that includes implementing a method to automaticly update software on the servers. With Fedora and AptRpm we see a lot of great apt repsitories emerging. People like Dag Wieers (http://dag.wieers.com) and Matthias Saou (http://freshrpms.net) provide services similar to what Debian users have been ranting on about for ages. Apt is truly a wonderful tool, and the decition to use is as our primary software control tool was easy. This of course made it neccesary for us to create our own local repository. Much to my suprise that was quite a simple task. Just a short hour of mirroring the fedora tree and writing a couple of scripts was all it took. Though it's not in a production state yet, you can have a look at it here: http://dilbert.hig.no/mirrors/apt/fedora/3/i386/
06.05.2005:
It's all part of the package
Well I guess it had to happen sometime but I've just made my first RPM package. Wasn't really planning on it either, it just happened. We're currently cleaning up and rebuilding the linux server network at work, and one the policies we've made is that all software packages should be in RPMs to able us to cleanly remove or upgrade them later. We're also planning some testing with Postfix and ClamAV using a small daemon called ClamSMTP. Problem was that that software wasn't available in RPM for Fedora, so I just took the Mandrake RPM spec file and ported it to Fedora. So here it is: my first real RPM: clamsmtp-1.4.1-2.fc3.hig.i386.rpm
05.05.2005:
Submission to Subversion
I've just imported batbelt.com into a Subversion repository. Mostly just to learn and test Subversion which I've had on my list for years, but Subversion looks very promising and feels much better in use than other RCSs I've tried. Like most other CS students, I was forced to use CVS at university, and this put me off RCSs for a very long time. Now I'm back with Subversion, and might I add, it's fun, simple, and easy to use - which some of you might know is very important to me ;-)
24.04.2005:
Small ears hurt the most
Eivind's just recovered from two weeks of illness. It started as a couple of sleepless nights with a creaming 8 months old baby that couldn't be calmed down no matter what we did. We knew something wasn't right, and when we brought him to the doctor's he took one quick look into his ears and said the two words every parent dread: "ear infection". Poor Eivind, he was already on antibiotics for another infection, but that didn't kill of these suckers. They were probably immune so we got a different kind of penicillin and luckily that did the trick. Soon we had our boy back smiling again.
15.04.2005:
Rant warning: XML and font madness
Someone decided that the old X font rendering was too difficult and replaced it with something worse. My Fedora Core 3 now uses GTK2 with XFT2, and can I say; what a complete pile of stinking dog droppings. Maybe from a developers viewpoint it's a good idea but for an end user it's just annoying and too difficult to grasp - and who got the brilliant idea of using XML in plain config files? It's stupid, stop it! I mean look at this piece of brain damage:
<match target="font"> <test qual="all" name="size" compare="more"> <int>8</int> </test> <test qual="all" name="size" compare="less"> <int>15</int> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
What in the name of the maker are you doing implementing if tests in XML for? This is exactly why I don't like XML. It makes things harder to understand, harder to read, write, and parse for both man and machine, but still people insists on implementing and using it in ways it was never intended. XML parsing is a waste of CPU cycles, and more important a waste of mind processing. That was today's rant, thank you!
02.04.2005:
The Sun always shines (but only until your NVRAM battery runs out)
I have a couple of Sun4/50 IPX SPARCstations (OK, so I have five :) which I saved from the dumpster at my old employer during the y2k hysteria. These «lunchbox» sized computers are way cool, and makes me very nostalgic since I used them a lot when I was attending university. The boxes have been collecting dust in my basement for a while now, but I thought I would put one of them to use as a backup server together with an old SCSI tape streamer I had lying around.
Imagine my disappointment when I tried booting one of them only to discover the NVRAM was nuked on all of them :,-( Luckily NVRAMs are still relatively easy to obtain so I've ordered a new chip from http://www.mouser.com/ for the price of $16.99 plus shipment (not all that bad really).
I will also attempt to hack one of the old NVRAMs and try to attach a new battery to it. I found a couple of instructions via Google which looks simple enough.
01.04.2005:
Goodnews 0.8 is released.
A while ago I wrote Goodnews, a simple console RSS reader that was originally meant as a quick python port of another RSS reader called Snownews. It wasn't very well written so I wrote my own RSS reader based on the same structure, but with an UI modeled after Pine.
At first I only wrote it to learn about RSS, but as the tool actually became useful to me, I replaced it's own XML parser with Universal Feed Parser, cleaned it's code a bit (it's still ugly though) and are now releasing it to the public.
To download please go to the Goodnews section.
30.03.2005:
I admit to everything..
OK, I admit it, I don't understand Pythons Unicode support. I don't get it, I'm sorry! I just can't wrap my head around it. Every f*cking time I program I fight with this problem and I'm wasting precious time, every time. If there is something wrong with me I truly apologize and if I'm the only one please do say so, but I suspect there's a lot more of us out there. If that's the case Python should fixed not us! That's today's rant, thank you!
26.03.2005:
Nobody nose the trouble I've seen..
What luck! I'm really a lucky person. I managed to get a bump on my new nose. I turned too quickly and hit someones shoulder, if you can believe it? The nose started bleeding internally and began swelling, so the doctors had to cut it open and drain the blood, and they forced two very large tampons deep into both nostrils to keep things in place. On top of it all I got a fever and got real sick, which could have been from an ordinary flu or worse, an infection. Since there was no way of being sure they put me on antibiotics just to be safe. So what should have been a quick in and out operation has now kept me off my feet for almost two weeks and ruined my whole Easter vacation. Did I mention how lucky I am?
20.03.2005:
An interesting project
A post on news:alt.lang.s-lang giving tip on how to do GUI programming in S-Lang using GTK-server got me interested. Now this is a cool project. GTK-server is a stand alone binary which talks to your program through a two way pipe. You print plain GTK calls on stdout and GTK-server send you the response on stdin. It's primarily designed for use with scripts and interpreted languages but should work with compiled languages too.
I've been looking for a simple way of doing GUIs in SIMULA, and started porting GraphApp a while ago, but I'm such a lazy person that it has taken a bit longer than planned ;-). GTK-server could be an alternative solution to my problem that needs to be tested one of these days.
19.03.2005:
A brick of book.
I love books, manuals that is, and I've just got a new one from Amazon.com: The Practice of System and Network Administration. This is not a technical manual. No, it's a manual on how to be a sysadmin in practice. I'm half way through it now, and wow! Reading this book, I'm constantly nodding my head, «yes, that's the way you do it». If you want to be a sysadmin, or want to know how it like to be a sysadmin, read this book.
It spells out things experienced sysadmins just know after years in the profession. Things we've learned by ourselves through trial and error, but never thought of formalizing on paper. Well, someone just did.
Being a sysadmin is a true profession, almost every modern business is totally dependent on them, still many treat them like shit go figure, and no schools or universities will ever tell you how to be a good sysadmin, which I find really crazy. The Practice of System and Network Administration gives a good insight of how sysadmin are more than just monitor movers or glorified janitors, as some people seem to see us.
17.03.2005:
Batbelt.com is finally home
Batbelt.com is now served from my own DSL line at home. Since it's old home wasn't that stable anyway and my DSL uptime has been quite impressive since I had it installed, I couldn't see any point of having the site «outsourced» ;-) So from now on I can see the leds blink and hear the hard disks buzz when people access the site.
15.03.2005:
You nose it make sense.
I've just had a nose job, yes that's right, a nose job. Not one of those vain exterior rhinoplasty, but a small surgery call «septoplasty» to fix the shape of the wall between the two nostrils.
I've had difficulty breathing through the nose for years and this has cause me to have a very bad sleep quality and giving me a lot of sinus problems. The surgery took just over an hour but since I was under full anesthesia I needed to spend the night at the hospital.
Right now I feel like being I've given a good beating, but I can feel the difference already, and hopefully I'll get better sleep and feel more awake during the day from now on.
07.03.2005:
Total rewrite of batbelt.com.
I've done a complete rewrite of the entire site and I'm pretty pleased with my self. You might wonder "What rewrite? Everything looks the same!?". Well, it's only the backend that's changed, not the design. The old site was pretty hackish, being generated with a Makefile through a couple of python scripts spewing out HTML from a series of templates.
This entire site is now rewritten in reStructuredText which is something I've got to know from using Plone. You see the problem with the old site was that it was too hard to change and update, which is why this diary is so loosely updated. I first thought of using Plone, but that would really be overkill, plus it would mean redesigning the whole look and feel of the site.
reStructuredText let's me just hack things down with very little effort in any old editor, spell check it easily using standard tools, all without really thinking about layout at all. Hopefully this diary will be used a bit more for now on. You can read more about the site in the "about" section.
03.01.2005:
A New Hope.
Today I begin my new job as a sysadmin at Gjøvik University College. I'm really looking forward to it. The only down side is that I now get a 35-40 minute commute, compared to the 15 minutes it took to get to my old job, but I don't think that will be a problem.
06.10.2004:
Attending Entrepreneur Course.
Reading the paper at breakfast one day I noticed the local employment service was offering a free course on how to start your own business. Having my own business has always been one of my dreams and goals in life, and I've always had it in the back of my mind. The course is centered around forming a clear business plan and finding startup finances. Jolly fun, even though I'm pretty sure this is not the right time for me to be starting up a business with a brand new job, two small children, and an unemployed wife :-)
01.10.2004:
Leaving Accenture.
As of today I've informed Accenture of my resignation and entered a three months notice period. Just over the new year I start a new career at Gjøvik University College.
Ever since Accenture acquired parts of EDB Telekom AS in May, I've been considering my future. Because things would change so much anyway (I would probably had been transfered into a consultant group) I could just as well see what my options was.
I've had seven wonderful years at EDB Telekom AS (now Accenture) but these last three years have been tough, all the uncertainties, downsizing, and threats of outsourcing. Problem was you never got to just get on with your job. Everything was just maintaining status quo waiting for some decision to happen, and the lack of professional challenges really took it's toll. Work suddenly stopped being fun, and then you just have to make some changes.
I now really look forward to begin work at HiG, and finally just focus on making better IT-solutions again.
27.08.2004:
Luke, I am your father!
Eivind was born just before seven o'clock on 17 Aug. 2004. 51cm and 3700g. The whole thing went as a breeze, but two days later we got a real scare. Eivind had caught an infection and the doctors had to treat him with antibiotics. Luckily he recovered quickly and he's back home with us healthy as a horse.
01.07.2004:
A goal set: achieved...
I now weigh 84kg. Four years ago I weighed in at 99.5kg and decided I would do anything to prevent it turning the 100kg mark. Though I'm a former athlete (basketball) I stopped all physical activity when I started work at Telenor 4tel AS in October of 1998. Too many company paid pizzas and too many pints of lager - all while sitting on my ass in font of a computer (or some bar counter) - made me gain over 15kg in just over a year. Since I'm only 180cm tall I shouldn't weigh above 85kg, so I set my goal at 84. First I started jogging. My personal best 10km (as a 20 year old) was 40m35sec, and now I couldn't even run 3km without pauses heaving for my breath. The first year the goal was just competing a 10km without pauses. Now four later later I run 10km in just 35m40sec. I'm in better shape than I ever was, and goes to show it's never too late to turn things around.
01.05.2004:
New employer.
The company I work for just got acquired by Accenture, so now I've got a new employer. The whole thing went really fast though we had known something was going on for a while now. Of course things will change for me personally - as a sysadmin in a highly centralised company - but I'll just play the waiting game for a while before making any decisions.
26.04.2004:
If you know your history...
So, back from another Liverpool trip. Really nice one this time though Everton was really shite as usual. Meet some absolute crazy but wonderful people after the game. Jimbo and Bobby showed us the local pubs and introduced us to the wonderful world that is Walton. Never thought I could feel so at home with thieves, thugs, drug dealers, fags, and red noses. Just a fantastic, though surreal, night. Apart from the two heavy armed copper twats at Manchester Airport on our return trip, this was truly a week to remember - even the weather was fantastic, warm and sunny, if we hadn't known any better we could think we'd come to the wrong city :-)
01.03.2004:
The comeback kid..
I finally did it. I put on my basketball shoes and turned up for practice. The club I helped found over ten years ago is still going strong, though not as big as it used to be. Maybe it's because I'm turning 30 soon, or just the love of the game, but I really felt like playing again. Now I can't stop, shooting hoops at every opportunity and even planning my own basketball court when we dig up our driveway this summer.
05.01.2004:
A New Year.
Back to work after a rather long Christmas vacation - two weeks. Started very slow by reading my email and planning the next few weeks. Then I read an very interesting article by Paul Graham posted on Slashdot which really hit me.
22.12.2003:
I'm going to be a dad again.
In a rather pleasant surprise we discovered Magnus will be a big brother i August. We were planning more children but didn't think it would be this soon. Very welcome news though.
05.09.2003:
..and now he brews beer too
OK here's what happened; I was planning to build a pub in my basement, and I started thinking about how cool it would be when it was finished. Then I realized I needed a beer tap and - beer - as well. But where to buy beer on kegs? Then it struck me; why not brew my own. A little googling, mailing and reading and I've gained a new hobby (as if I needed one :-)
28.06.2003:
The book worm strikes again
Maybe this management thing is getting to me, but I'm actually reading my first non technical books in years (not counting Lord Of The Rings of course). One is about project management which is very useful in my current job situation, and the other handles how to become better at communication which is funny because according to this book it turns out I'm not as bad at it as I thought.
06.06.2003:
batbelt.com is up and going again... and again
Well this time I lost my name service .. It's now temporary running on the DNS server at work. Sigh I really want a Internet line at home to take care of all this my self.
28.04.2003:
Attending management course
I've been offered a place in an internal management program here at Telesciences. Guess I've put my neck out one to many times, and people started taking notice. I'm not sure I really want to be in management (other than maybe owning my own business some day) but it's an unique opportunity that I couldn't turn down really.
19.08.2002:
batbelt.com is up and going again
So at last... Batbelt.com is up and running again. Since my service provider when belly up (not surprising considering their severe incompetence), and my university account was closed I have had no place to serve the pages. I was planning to use a server at work, but didn't really want to mix work and leisure. Then, giving after a presentation on GPL for my LUG, they offered to serve my domain on their box - many thanks guys! Real life savers.
29.07.2002:
I'm a dad!!!
At 22.15 28.07.2002 Magnus was born weighing in at 3850g. Already he can lift his own head, and is charming everyone around him. The whole thing was a bit emotional, but now I only feel relief, pride, and pure joy!
01.07.2002:
Making a Simula-to-Python compiler
Hoping to better understand how CIM (the Simula-to-C compiler) works, and how Simula is parsed and compiled, I started to code a simple compiler myself. I have often said that the feel of Python reminds me much of how it was coding with Simula. With my work on a GraphApp binding for Simula I discovered shortcoming with both the compiler and the language itself. Wishing to improve some of this I wrote a "test Simula compiler" in Python. Parsing Simula code and compiling it in to Python code. It has of course no practical use other than teaching me how Simula and compilers in general work. All types of legal declarations are implemented, but expressions and statements are still missing. I will release it late on, when and if I get it working.
11.06.2002:
SimGraphApp is coming along nicely
Discovered that the author of GraphApp was rewriting the whole library. The rewrite is much better. It's more portable, and a lot cleaner. This caused my motivations for writing bindings for Simula to get a spike. I now have 30-40% of the GUI objects implemented. I am also 'porting' the documentations and examples from C as I go along. The Simula binding for GraphApp is also supporting subclassing, but also support a 'flat' interface like C. I have also managed to get it working on Win32 - though the port of CIM to Win32 has some issues.
20.03.2001:
Making GraphApp bindings for Simula
I have rediscovered my old favorite programming language: Simula. Boy - what a fantastic language. The main reason for dropping Simula was that it lacks a nice and easy way to do GUIs.. So now I'm making Simula bindings to a small platform independent GUI API called GraphApp . The reason for choosing GraphApp is mostly accidental. But GraphApp is LGPL'ed, small, simple. easy, platform independent, and made with C - not C++. (which to me is very important wink) I reckon I should be able to make a fairly complete bindings in only 2-3000 lines off Simula and C code. Which shouldn't be that much work.
11.03.2001:
Learning Ada95
Started to look at some Ada tutorials.. and to my surprise Ada95 felt much like Simula. I also liked how well it worked together with C. I wonder why Ada95 haven't gained more popularity over road kill languages like C++ and Java?
07.02.2001:
I'm back
Well here's the thing: The people I rented server space from had a disk crash. Not really a big thing - but these morons didn't have any backups.. So now I'm back, to my old university account.. for now..
17.11.2000:
Insomnia insane(ia)
Couldn't sleep last night, this resulted in a rather silly program: Having Fun With Keyboard LEDs.
12.11.2000:
Designing a simple language
A good friend of mine is tending a course in language design this semester, and after a discussion about the pro and cons of various designs we started talking about how the perfect language would look like. The snowball started rolling, and we soon had the specification for a very small clean language. The next step is to put our theories into practice by implementing it. This could turn out to be a problem since we both have very little time to spare. We'll know more when the Christmas holidays begin.
07.11.2000:
"It's not the leaving of Liverpool..."
Last year's trip to Liverpool, was such a success-- despite catching a brutal pneumonia --that I have decided to do a journey this year too. The plan is to see Man.City-Everton in Manchester on December 9. The same day catch a concert with Saw Doctors in Liverpool. Do the pub crawl, and end the week with Everton-West Ham at Goodison on the 16th.
30.10.2000:
S-Lang frustrations
I have been missing a decent ispell function in my favorite editor JED , and after having a quick look at it's embedded language S-Lang , I though this would be an easy thing to implement. The S-Lang language itself is simple enough, but the programming environment JED offers is just a disaster. Because of it's brain damage, it's only suited to do simple tasks. I find this very frustrating, since I really like the JED editor itself.
10.10.2000:
A car, a car, my kingdom for a car
Bought a car... it is ugly, has a crap engine, and cost me way to much money. But it has four tires and a steering wheel, and gets me to work and back just fine. Therefore: I'm happy!
23.09.2000:
Back from Stockholm
Came back from a few days visit in Stockholm. I went over to see an old friend, and to attend the derby between Hammarby and AIK. Bajen lost 2-0 of course - so this is my fifth derby without Hammarby even scoring a single goal. But as always the Bajen fans won the game off the pitch.
06.09.2000:
Learning to master Regex
Bought a great O'Reilly book - Mastering Regular Expressions - I never liked regex that much, but it can be pretty useful sometimes, plus it's part of the curriculum of the course I'm attending this semester..
03.09.2000:
Began working on the new website
Began working on the new batbelt web site. Same simple interface philosophy, but with an improved design. Also this online diary was included.
01.09.2000:
New position at 4tel
Today I officially started in my new position at 4tel as a Project Manager in the Design Team. Still work in the Internal-IT department, but more with system design. This was part of my deal with 4tel after the near Teamco switch in June. Looking forward to not have to sit on helpdesk, even though I haven't done that for a while anyway.
22.08.2000:
The semester starts
First lecture today.. Going to try and follow in228 - Technical Software. It's mostly about scripting in Tcl, Perl, and Python. Maybe I can pick up some easy credits on something I do everyday anyway
21.08.2000:
Back to work
Back on work after my holiday.. First Monday is the worst! All work and no play, makes Jack a dull boy!
17.08.2000:
Back from honeymoon
Back from a rather short honeymoon. We went on a weekend cruise to Copenhagen. First class of course :-) - This was a gift from all my cousins. Great gift you guys!