<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0"><channel><title>Stian Husemoen - Online diary</title><link>http://www.batbelt.com/diary.html</link><description>This is my online diary. Just small things and thoughts from my
everyday life</description><item><title>Goodnews 0.9.7 is released</title><link>http://www.batbelt.com/diary.html#goodnews-0-9-7-is-released</link><description>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.

</description><content:encoded><![CDATA[ <p>So it's time again for another release of <a href="goodnews.html">Goodnews</a>, 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 <a href="/svn/goodnews/tags/goodnews-0.9.7/Changelog">changelog</a> and give it a go.</p>]]> </content:encoded><dc:date>2008-08-01</dc:date></item><item><title>A computer virus history lesson</title><link>http://www.batbelt.com/diary.html#a-computer-virus-history-lesson</link><description>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 ;)

</description><content:encoded><![CDATA[ <p>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 <a href="http://en.wikipedia.org/wiki/Computer_virus">computer virus</a>, 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.</p><p>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.</p><p>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)</p><p>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 <a href="http://www.dosbox.com/">dosbox</a> 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.</p><p>To try it out, download both the <a href="files/hello.asm">hello world program</a> and the <a href="files/virus.asm">virus</a> itself, and
compile them using <a href="http://nasm.sourceforge.net/">NASM</a>:</p><pre>[stianh@batstick ~]$ nasm virus.asm -fbin -o virus.com
[stianh@batstick ~]$ nasm hello.asm -fbin -o hello.com</pre><p>Then start up <a href="http://www.dosbox.com/">dosbox</a> 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)</p><p>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 ;)</p>]]> </content:encoded><dc:date>2008-04-24</dc:date></item><item><title>Another flash of Warhol's fifteen minutes</title><link>http://www.batbelt.com/diary.html#another-flash-of-warhol-s-fifteen-minutes</link><description>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 :)

</description><content:encoded><![CDATA[ <p>So got another taste of Andy Warhol's <a href="http://en.wikipedia.org/wiki/Fifteen_minutes_of_fame">fifteen minutes of fame</a>. 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 <a href="http://www.idg.no/computerworld/article92848.ece">interview
in Computerworld</a>
(albeit only the Norwegian edition). My parents are so proud, or so
they told me ;)</p><p>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 :)</p>]]> </content:encoded><dc:date>2008-04-05</dc:date></item><item><title>Goodnews 0.9.6 is released</title><link>http://www.batbelt.com/diary.html#goodnews-0-9-6-is-released</link><description>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.

</description><content:encoded><![CDATA[ <p>So a new year demands a new release of <a href="goodnews.html">Goodnews</a>, and boy this time
it's a good one ;) There is a lot great of <a href="/svn/goodnews/tags/goodnews-0.9.6/Changelog">changes</a>, 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 <a href="goodnews.html">Goodnews</a>, and lots of and lots of bug-fixes.</p>]]> </content:encoded><dc:date>2008-01-27</dc:date></item><item><title>The sound of a new gadget</title><link>http://www.batbelt.com/diary.html#the-sound-of-a-new-gadget</link><description>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.

</description><content:encoded><![CDATA[ <a href="bilder/H41.jpg"><img src="bilder/H41.jpg" align="right" alt="The Zoom H4" height="" width="150"  /></a><p>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 <a href="http://en.wikipedia.org/wiki/Zoom_H4">Zoom H4</a>. This little baby is truly
amazing. It has two built-in high quality condenser microphones, set in
a <a href="http://en.wikipedia.org/wiki/Stereo#X-Y_technique:_intensity_stereophony">X-Y setup</a>
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 <strong>with
phantom power</strong> 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 <strong>an
external USB sound card</strong> which shows up automatically even in Linux. The
recordings sound great, just listen to this <a href="files/gone_home_blues.ogg">short improvised jam</a> 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.</p>]]> </content:encoded><dc:date>2008-01-25</dc:date></item><item><title>Old hardware makes new toys</title><link>http://www.batbelt.com/diary.html#old-hardware-makes-new-toys</link><description>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.

</description><content:encoded><![CDATA[ <a href="bilder/xbox.jpg"><img src="bilder/xbox.jpg" align="right" alt="The Original Xbox" height="" width="150"  /></a><p>I have really wanted to build a <a href="http://en.wikipedia.org/wiki/htpc">HTPC</a> 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 <a href="http://www.xboxmediacenter.com/">XBMC</a> 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.</p>]]> </content:encoded><dc:date>2007-11-16</dc:date></item><item><title>Goodnews 0.9.5 is released.</title><link>http://www.batbelt.com/diary.html#goodnews-0-9-5-is-released</link><description>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!

</description><content:encoded><![CDATA[ <p>I've just made a new release of <a href="goodnews.html">Goodnews</a>. 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
<a href="goodnews.html">Goodnews</a> a whole lot easier. Enjoy!</p>]]> </content:encoded><dc:date>2007-05-18</dc:date></item><item><title>O Gadget, Where Art Thou?</title><link>http://www.batbelt.com/diary.html#o-gadget-where-art-thou</link><description>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 ;-)

</description><content:encoded><![CDATA[ <a href="bilder/deh-p55bt-large.jpeg"><img src="bilder/deh-p55bt-small.jpeg" align="right" alt="Pioneer DEH-P55BT" height="" width=""  /></a><p>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 ;-)</p>]]> </content:encoded><dc:date>2006-09-15</dc:date></item><item><title>One, Two, and oh yes.. Three Fscking Nil!!!</title><link>http://www.batbelt.com/diary.html#one-two-and-oh-yes-three-fscking-nil</link><description>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!

</description><content:encoded><![CDATA[ <a href="bilder/three_nil.jpg"><img src="bilder/three_nil.jpg" align="right" alt="Andrew Johnson scores 3-0" height="" width="150"  /></a><p>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!</p>]]> </content:encoded><dc:date>2006-09-10</dc:date></item><item><title>Planet's gains and losses</title><link>http://www.batbelt.com/diary.html#planet-s-gains-and-losses</link><description>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  ;-) 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 :-)

</description><content:encoded><![CDATA[ <p>So, someone added me to a planet: Pluto's dead, long live <a href="http://planet.lilug.no/">Planet
LiLUG</a>. A very nice gesture, but the
problem was my <a href="http://www.batbelt.org/diary.rss">rss feed</a> 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.</p><p>You see all these planets that keep popping up rely on HTML in the RSS
feed, so you can add <a href="http://localhost">links</a>, or nice bullet lists:</p><ul><li>one <a href="http://localhost">link</a></li><li>two</li><li>three</li></ul><p>or even a nice image:</p><img src="bilder/hackergotchi_stianh.png" align="" alt="Hackergotchi" height="" width=""  /><p>But as you (should) know there is no room for HMTL is RSS, and
certainly <strong>I just don't do HTML</strong>, I use <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> ;-) 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.</p><p>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 :-)</p>]]> </content:encoded><dc:date>2006-08-26</dc:date></item><item><title>The compiling of a summer</title><link>http://www.batbelt.com/diary.html#the-compiling-of-a-summer</link><description>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.
</description><content:encoded><![CDATA[ <p>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:</p><ul><li>Python is quick and easy to develop in and let you have something
working very fast.</li><li>It has a effective runtime system that does much of the things that
Simula's runtime also must handle giving you much for free.</li><li>Python is so dynamically that even language specific things in Simula
can be expresses in a similar manner in Python</li><li>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.</li><li>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.</li><li>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..</li><li>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.</li></ul>]]> </content:encoded><dc:date>2006-08-03</dc:date></item><item><title>Private founders, public Keepers</title><link>http://www.batbelt.com/diary.html#private-founders-public-keepers</link><description>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 ;-).

</description><content:encoded><![CDATA[ <p>During Easter there was an <a href="http://www.dn.no/karriere/article761330.ece">article</a> 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 <a href="http://money.cnn.com/2006/04/05/magazines/fortune/founders_f500_fortune_041706/">Fortune
Magazine</a>
and refer to <a href="http://fisher.osu.edu/~fahlenbrach_1/research_files/founders08012005.pdf">work</a>
done by <a href="http://fisher.osu.edu/~fahlenbrach_1/">Rüdiger Fahlenbrach</a> 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.</p><p>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 <strong>customer</strong> 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 <strong>must</strong> 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
<strong>never</strong> 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).</p><p>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.</p><p>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 ;-).</p>]]> </content:encoded><dc:date>2006-04-18</dc:date></item><item><title>A rub of green and royal blue</title><link>http://www.batbelt.com/diary.html#a-rub-of-green-and-royal-blue</link><description>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.

</description><content:encoded><![CDATA[ <p>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.</p>]]> </content:encoded><dc:date>2006-03-21</dc:date></item><item><title>A fuel cell changing experience</title><link>http://www.batbelt.com/diary.html#a-fuel-cell-changing-experience</link><description>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 ;-)

</description><content:encoded><![CDATA[ <a href="bilder/fuel_cell.jpeg"><img src="bilder/fuel_cell.jpeg" align="right" alt="Fuel cell backup power" height="200" width=""  /></a><p>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 <a href="bilder/hydrogen.jpeg">hyrogen
cylinders</a>, 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.</p><p>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 ;-)</p>]]> </content:encoded><dc:date>2006-03-15</dc:date></item><item><title>Hacking Series60 with Python</title><link>http://www.batbelt.com/diary.html#hacking-series60-with-python</link><description>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:

&gt;&gt;&gt;

&gt;&gt;&gt; print sys.version
2.2.2 (#0, Sep 26 2005, 11:38:57)
[GCC 2.9-psion-98r2 (Symbian build 546)]

&gt;&gt;&gt; sys.platform
'symbian_s60'

&gt;&gt;&gt; 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']

&gt;&gt;&gt; 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:

&gt;&gt;&gt; import calendar
&gt;&gt;&gt; db = calendar.open()
&gt;&gt;&gt; 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

</description><content:encoded><![CDATA[ <a href="bilder/n70.jpeg"><img src="bilder/n70.jpeg" align="right" alt="Nokia N70" height="200" width=""  /></a><p>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.</p><p>First I told my box to accept incoming bluetooth connections on
channel 1:</p><pre>[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</pre><p>Then I started the python bluetooth remote shell, and connected to the
serial device using a simple terminal emulator like "minicom", or "cu":</p><pre>[stianh@batchop ~]$ cu -l /dev/rfcomm</pre><p>or alternatively:</p><pre>[stianh@batchop ~]$ minicom -m</pre><p>Then you get the familiar python interactive shell prompt:</p><pre>&gt;&gt;&gt;

&gt;&gt;&gt; print sys.version
2.2.2 (#0, Sep 26 2005, 11:38:57)
[GCC 2.9-psion-98r2 (Symbian build 546)]

&gt;&gt;&gt; sys.platform
'symbian_s60'

&gt;&gt;&gt; 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']

&gt;&gt;&gt; os.listdir('c:')
['cache', 'DxDPOF.txt', 'Nokia', 'Private', 'System']</pre><p>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:</p><pre>&gt;&gt;&gt; import calendar
&gt;&gt;&gt; db = calendar.open()
&gt;&gt;&gt; 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</pre>]]> </content:encoded><dc:date>2006-03-08</dc:date></item><item><title>Goodnews 0.9.4 is released.</title><link>http://www.batbelt.com/diary.html#goodnews-0-9-4-is-released</link><description>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.

</description><content:encoded><![CDATA[ <p>So, another release of <a href="goodnews.html">Goodnews</a> 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.</p>]]> </content:encoded><dc:date>2006-03-05</dc:date></item><item><title>Keeping your Windows fresh and clean</title><link>http://www.batbelt.com/diary.html#keeping-your-windows-fresh-and-clean</link><description>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:\&gt;adfind -list -b ou=wpkg,dc=hig,dc=no -f "objectcategory=computer" cn  &gt; wpkg.grp
C:\&gt;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.

</description><content:encoded><![CDATA[ <p>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 <a href="http://www.wpkg.org">WPKG</a> 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 <a href="http://sysinternals.com">Sysinternals</a> excellent <a href="http://www.sysinternals.com/Utilities/PsExec.html">PsExec</a> to run commands
on remote computers, but since the license is a bit restricted, I
found <a href="http://www.beyondlogic.org/solutions/remoteprocess/BeyondExec.htm">BeyondExec</a>
that does the same thing and more. With another freeware tool <a href="http://www.joeware.net/win/free/tools/adfind.htm">Adfind</a> you've got a
pretty powerful tools-chest:</p><pre>C:\&gt;adfind -list -b ou=wpkg,dc=hig,dc=no -f "objectcategory=computer" cn  &gt; wpkg.grp
C:\&gt;beyondexec -g c:\wpkg.grp -s cscript \\higvm\wpkg\wpkg.js /install:firefox</pre><p>And voilá, you push out Firefox to all computers in the wpkg OU.</p>]]> </content:encoded><dc:date>2006-03-04</dc:date></item><item><title>Goodnews 0.9.3 is released.</title><link>http://www.batbelt.com/diary.html#goodnews-0-9-3-is-released</link><description>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.

</description><content:encoded><![CDATA[ <p>I've just released a new bugfix release of <a href="goodnews.html">Goodnews</a>. 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 <a href="/svn/goodnews">subversion repository</a> so it should be
easier to maintain several release branches at once.</p>]]> </content:encoded><dc:date>2006-01-30</dc:date></item><item><title>As we didn't love SSH enough already</title><link>http://www.batbelt.com/diary.html#as-we-didn-t-love-ssh-enough-already</link><description>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.

</description><content:encoded><![CDATA[ <p>Having just recently installed <a href="http://fedora.redhat.com/">Fedora Core 4</a> on my laptop I discovered today that
both <a href="http://fuse.sourceforge.net/">FUSE</a> and <a href="http://fuse.sourceforge.net/sshfs.html">sshfs</a> was included in the <a href="http://fedoraproject.org/wiki/Extras">extras
repository</a>. 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.</p>]]> </content:encoded><dc:date>2006-01-21</dc:date></item><item><title>Docutils 0.4 released</title><link>http://www.batbelt.com/diary.html#docutils-0-4-released</link><description>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' .

</description><content:encoded><![CDATA[ <p>Reading <a href="http://www.freshmeat.net">Freshmeat</a>, as you do, I discovered that <a href="http://docutils.sourceforge.net/">Docutils 0.4</a> has just been released with <a href="http://docutils.sourceforge.net/RELEASE-NOTES.html#release-0-4-2006-01-09">tons
of nice updates</a>. First,
the website has been gives some great updates with additional
documentation, but one of the nicest new addition is the <a href="http://docutils.sourceforge.net/docs/user/slide-shows.html">rst2s5.py</a>
front-end to make nice looking <a href="http://www.meyerweb.com/eric/tools/s5/">S5</a> presentations using only
good ol' <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>.</p>]]> </content:encoded><dc:date>2006-01-10</dc:date></item></channel></rss>
