Access Menu

Site Navigation

Computers and stuff

December 16, 2007

Scaling storage

Dealing with a really large database and keeping your web-based service scalable can be quite a challenge.

One thing you might want to consider in order to improve performance is to prevent Unix from updating atime (last access time) at every read/write.

This is done by adding the noatime flag when mounting the file system associated with the database and/or files being accessed alot.

Adding this flag will give you a tremendous boost in read and write capacity, so why not give it a try and see what happens?

Reference: Building Scalable Web Sites by Cal Henderson.

thingie

Posted at 10:48 AM | Permalink | Comments (0)

November 18, 2007

Laptop fixed

The fine folks at Computer Clinic were able to repair my busted laptop, so I am a happy computer geek once again.

As it turns out, they had to take the machine completely apart, re-solder some pins on the mother board, re-connect the voltage outlet, put everything back together again, and reset the power supply.

Nice folks there, and it only cost me 65 euros, which is much much cheaper than having to buy a new laptop (even if the one I have is almost four years old it works just fine for now, although subconsciously I'm hoping for some excuse to purchase another one).

thingie

Posted at 11:21 AM | Permalink | Comments (0)

November 10, 2007

Laptop busted

My trusty Dell Inspiron 8200 laptop is busted. If I press the power switch, nothing happens.

I took it to Computer Clinic and sure hope that they can fix it.

thingie

Posted at 5:37 PM | Permalink | Comments (0)

November 3, 2007

Spring in action

This week I was pleasantly surprised by the arrival from Amazon of the latest Spring in Action book.

First two chapters alright, the chapters after that getting a bit too heavy duty for me.

Since it's been awhile since I did any really serious Java programming, I'm a bit rusty in this area and need to refresh some more in order to appreciate this book much better.

thingie

Posted at 5:42 PM | Permalink | Comments (0)

November 2, 2007

Still a rock star

So if Mick Jagger can still remain a Rock hero after he turns sixty, I guess there is still several years left for me to become a software developer hero.

thingie

Posted at 5:33 PM | Permalink | Comments (0)

July 27, 2007

Reflected reality

I just discovered this interesting insight when I woke up this morning and gazed at the reflection of a pile of computer books in the mirror.

When reflected XML looks like JMX.

At first I felt like it was a dream, but as my mind slowly became more aware I realized that this was quite real.

thingie

Posted at 11:02 AM | Permalink | Comments (0)

July 4, 2007

Complex project

Let's take the average complex development project nowadays.

Think about the best way to figure out what it is exactly that the customer 'really' wants us to implement.

His mind, his perceptions and expectations, all those technical documents, the actual reality of the situation. That which is promoted at the end of the first release. The so-called roadmap to the final release.

You have to be a psychologist, philosopher, technologist, information analyst, paranormal guru and expert on general relativity at the same time in order to understand these things.

I'm sure glad I fit this demanding profile.

thingie

Posted at 7:05 PM | Permalink | Comments (0)

April 15, 2007

Only three years old

After only three years since I purchased my wonderful Dell Inspiron 8200 laptop (back then truly state-of-the-art), it seems to be giving way to old age. To be more specific, with all those random rows and columns of mis-colored pixelations moving across my LCD screen, it is apparent that my graphics card is suffering a slow and painful death.

I need a replacement ATI Mobility Radeon 9000 M9 64MD graphics card (part number 4U284), please. Can someone help me?

Googling all over the Internet in frustration, it seems that this specific video card is difficult if not impossible to find, unless of course I am willing to fork out four hundred forty-five euros for an out-of-the-box new card for a laptop worth half as much. Thanks alot Dell!

I called a couple places who claim to be computer experts, and when I tried to explain my predicament, the reply was always the same: "How old is your laptop? Oh, three years! Then you can pretty much forget about it..."

Who would have ever thought that after three years my state-of-the-art laptop would be end-of-life? Back in the good old days (when I was little) when we bought a technology product like a new television, it would last for fifteen years, at least.

Hopefully I can find a second-hand computer store which happens to have one in the back storage room.

Time for a new laptop? Could be.

thingie

Posted at 5:20 PM | Permalink | Comments (0)

March 30, 2007

Exit status

A small integer value returned to the parent process when a child process completes. It is an 8-bit value that, for historical reasons, is further limited to the range 0 through 125, with values 126 through 255 assigned special meaning for abnormal process completion. Conventionally, a zero exit status means success, and a non-zero value, some sort of failure.

thingie

Posted at 9:37 PM | Permalink | Comments (0)

March 9, 2007

Tux droid

I ordered my very own Tux Droid and cannot wait to be the first person on my block to own one.

This nice gadget will give me a good excuse to learn Python better in a creative and fun way.

thingie

Posted at 6:07 PM | Permalink | Comments (0)

February 25, 2007

Second day FOSDEM

To be honest, and I do not quite know why, but I think I enjoyed the second day better than the first. Indeed it was an intense series of wonderful presentations and I enjoyed pretty much every second of it.

Here is a list of the interesting presentations I attended:

All of this so-called community related activities reminds me somewhat of the Haight Ashbury hippie period in modern form. What with computers and advanced technology combined with political attitudes and the noble pursuit of human rights.


A simple sign pointed the way to the entrance.

thingie

Posted at 10:10 PM | Permalink | Comments (0)

February 24, 2007

First day FOSDEM

After having recovered well from the traditional Friday evening beer bash, I woke up bright and early Saturday morning and enjoyed a fun and relaxing breakfast at the Ibis Brussels Centre Gare du Midi. The drive to FOSDEM was short and I arrived early enough to make my donation of 100 euro, qualifying me for an official FOSDEM T-shirt, two books (Programming Python and Linux Desktop Pocket Guide) and a chance to win some nice prizes (in the end naught). Succumbing to the great discounts available, at then end of the day I bought another book: Classic Shell Scripting.

Here is a list of the interesting presentations I attended:

  • Software patents in Europe
  • One laptop per child (OLPC)
  • Liberating Java
  • X.org
  • Introduction to Fedora
  • Tux Droid, a Python-fueled robot
  • LinuxKernel
  • Django

I tried to squeeze into the Hacker Room to look at my email but it was too jam-packed. Tomorrow I'll bring along my laptop and tap into the free Wifi network so I too can look like I am one of the many nerds, but slightly older. I wasn't quite the oldest person there, as there was one grey-haired man of around seventy-five and another bald person with a beard, so that makes me third I guess.

thingie

Posted at 7:54 PM | Permalink | Comments (0)

February 22, 2007

FOSDEM 2007

This weekend FOSDEM 2007 will be taking place in Brussels. It should prove to be an informative and fun time for me. A nice and relaxing break away from the real world where I can become more familiar with the open source community, meet new people and appreciate a nice cold Trappiste once in awhile.

thingie

Posted at 12:48 PM | Permalink | Comments (0)

September 29, 2006

Very last paragraph

The tar pit of software engineering will continue to be sticky for a long time to come. One can expect the human race to continue attempting systems just within or just beyond our reach; and software systems are perhaps the most intricate of man's handiworks. This complex craft will demand our continual development of the discipline, our learning to compose in larger units, our best use of new tools, our best adaptation of proven engineering management methods, liberal application of common sense, and a God-given humility to recognize our fallibility and limitations.

-- The Mythical Man-Month, by Fred Brooks (the very last paragraph).

thingie

Posted at 8:35 PM | Permalink | Comments (0) | TrackBack

September 23, 2006

CORBA basics

Now is the time to learn more about CORBA, an interesting technology that has had its heyday already but a technology which my development team still uses extensively -- so I better acquire deeper insights while I can.

In case you were wondering, CORBA is the acronym for Common Object Request Broker Architecture

thingie

Posted at 11:18 AM | Permalink | Comments (0) | TrackBack

September 5, 2006

White plastic connector

No wonder I haven't been able to get my TDM400 card working after all these months of struggling.

You see, I had installed it in a vacant spot without Inserting the four-pin 12-volt connector into the white plastic slot on the rear of the TDM400P card.

(Dumb, but that's life)

So in order to celebrate this fantastic achievement I implemented a state-of-the-art (not really) dialplan. When you dial 611, you are connected to a sexy female voice that says 'hello world' and then hangs up.

The wonders of modern technology, you might say.

thingie

Posted at 6:31 PM | Permalink | Comments (0) | TrackBack

July 29, 2006

Yet another programming language

Alright so I decided to learn yet another programming language, namely one called Python.

This advanced object-oriented scripting language provides a powerful tool which is used extensively at my work.

Therefore, it makes good sense for me to become more familiar with this scripting language so that I can better understand what my team members are doing.

I will start with the online tutorial and see how far I get this weekend.

thingie

Posted at 10:04 AM | Permalink | Comments (0) | TrackBack

June 23, 2006

Nothing new

"An opportunity exists for businesses to adopt non-intrusive methods of integration, saving both time and money while also improving the flow of information..."

I've heard that more than once in the past. So what else is new?

thingie

Posted at 4:53 PM | Permalink | Comments (0) | TrackBack

March 12, 2006

Next big thing

Ten years from now, who knows what the next so-called 'Big Thing' in technology will be.

That's why it is very important now to keep your eyes and ears open, just in case.

Let this be a warning: success is a myth and only leads to hubris which further results in complacency.

Bad news so watch out.

thingie

Posted at 4:33 PM | Permalink | Comments (0) | TrackBack

March 11, 2006

Computer glasses

Finally everything on my computer screen looks perfectly sharp even when I am reclining back in my chair.

Takes a bit of getting used to, aiming my eyes in exactly the right direction while those objects at the periphery of my vision look slightly distorted.

My coffee cup for example which is oblong like wet clay which has not had enough time to dry and has been squished ever so slightly from side to side.

thingie

Posted at 3:00 PM | Permalink | Comments (0) | TrackBack

March 10, 2006

Small miracles every day

This is by far the best job description for software developer that I have ever seen:

"Programming is a craft. At its simplest, it comes down to getting a computer to do what you want it to do (or what your user wants it to do). As a programmer, you are part listener, part advisor, part interpreter, and part dictator. You try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice. You try to document your work so that others can understand it, and you try to engineer your work so that others can build on it. What's more, you try to do all this against the relentless ticking of the project clock. You work small miracles every day."

- The Pragmatic Programmer, Andrew Hunt and David Thomas.

thingie

Posted at 9:14 PM | Permalink | Comments (0) | TrackBack

January 9, 2006

Available or not

Although 99.999% availability sounds quite impressive, one wonders if such a high number is good enough. Let's make a simple calculation and find out.

This simple excercise is based on a critical network component that is expected to provide year-round service without a single glitch. Even the slightest hick in service becomes costly, as we shall see.

Every single second that this particular system is down means a revenue loss of 500 messages per second times netto ten dollar cents a message which equals 50 dollars per second.

Further, in a single year there are 60 x 60 x 24 x 365 equals 31,536,000 seconds. Take 0.00001% of that total and you get: 315 seconds.

Damages for this slight glitch are: 315 x 50 equals $15,750.

Of course this calculation is based merely on an average, but if we have bad luck and it is happening to a multi-node system during a critical traffic peak, or even worse when these messages are responsible for business transactions involving thousands of dollars per request, then the losses are going to be quite significant.

Direct revenue losses are caused by the inability to process messages, but there are also indirect costs: immediate costs meaning for example tons of extra calls to customer support etc, and long-term costs being a seriously blemished brand-name due to this negative publicity and more.

Now the same question again: is this acceptable? If not, then what are we going to do about it?

I guess we could either raise this availability by: improving the technology or mobilizing available resource to offer efficient and immediate support to ease the pain.

Best of all would be a healthy balance of the two depending on the type of organization involved.

Good luck, keep your fingers crossed, and be prepared.

thingie

Posted at 11:38 AM | Permalink | Comments (0) | TrackBack

January 7, 2006

Recursion is recursive

So how on earth do you even attempt to explain what recursion is to someone who just can't get it?

The first time I struggled with this concept, I just had to accept it as is. By groping around endlessly in the dark, I just hoped that if I used it often enough I would figure it out some day.

Believe it or not that day did come. All of a sudden the last piece of the puzzle fell nicely in place and it all made perfect sense.

Truly elegant, that is if you can figure it out.

thingie

Posted at 7:14 PM | Permalink | Comments (5) | TrackBack

January 3, 2006

Friendship considered

Another property of friendships is that they are not transitive: The friend of a friend is not considered to be a friend unless explicitly specified.

This is very similar to real life you could say, not just part of some abstract reasoning behind some computer programming language.

Multiple inheritance is a whole other ballgame which should only be attempted after a period of meditation and other mental exercises.

References:
- Friendship and inheritance.
- Accelerated C++.

thingie

Posted at 11:32 AM | Permalink | Comments (0) | TrackBack

December 8, 2005

Lots of music but black as night

I cannot run Civilization IV for some reason. A real bummer...

The game 'seems' to start alright, but in the end I just get a black screen with the civ-cursor floating there in empty space, and the intro-music playing along happily as if nothing is wrong. No matter how I move and click and whatever, nothing happens. I've also tried alt-tabbing in and out and back again, but that doesn't help either. Drats.

I have a Dell Inspiron 8200 laptop 2GHz Pentium IV with 1024 MB and a Radeon Mobility 9000 graphics card. I've downloaded and installed the latest drivers from ATI. I've played enough of the latest new-fangled games on this system, and never had problems, so I'm fairly confident it is not a limitation of my configuration. Looks like the kind folks at Firaxis didn't test it sufficiently with ATI-cards I suspect.

What gives? I'm truly desparate to play the latest Civilization while on the move but to no avail - very frustrating for a enthusiastic though unfortunate Civ-addict like myself.

Would appreciate any help anyone can give, thanks alot in advance.

thingie

Posted at 5:47 PM | Permalink | Comments (2) | TrackBack

November 26, 2005

Faster and faster

So I decided to splurge (again) in order to try to make myself feel better after a somewhat lousy week.

Like a little boy dashing off to the toy store to buy another model tank, I went to the computer clinic and upgraded my Dell Inspiron 8200 laptop from 512 / 266MHz to 1024 / 333MHz megabytes memory.

Also did an addiitonal low-level defrag using diskeeper to speed things up just a tad more.

Now my wonderful laptop has been reborn as a truly powerful, screaming machine, and that makes me pretty happy.

It would sure be nice if when we die we could bring our laptops with us. I don't know how I could survive without it.

thingie

Posted at 2:04 PM | Permalink | Comments (0) | TrackBack

November 25, 2005

Pipe frenzy

By far the most addictive game I have ever played on my Palm Tungsten T3 is something called Pipe Frenzy. Last night I went early to bed figuring that I could finally sleep a bit more. But first a few challenging games to see if perhaps I could finally beat my world record. When I looked at the alarm clock it was already ten past one! And still no record, not even close.

thingie

Posted at 4:56 PM | Permalink | Comments (0) | TrackBack

November 23, 2005

Scrolling your life away

How much does the average person scroll per day? This is exactly what I happened to be wondering early this morning. As if there is nothing better to do, when in fact it is indeed an interesting question to pose, one whose proper calculated answer has certain unexpected implications on the way we manage our daily lives.

If we assume that one computer screenfull represents about half a page, and a good reading speed is a couple hundred pages a day, then we have about four hundred scrolls.

However, reading a computer display is definitely something completely different from reading a book, because most of the time is spent skimming around quickly and clicking randomly. We scroll while not reading, as the eyes are easily averted to this and that.

No one reads anymore like we learned way back in elementary school. Sit down and casually read a book chapter, a quiet park bench in front of the lake? You must be kidding.

Take two. Now I will use myself as an experimental humanoid performing forefinger gymnastics on the mouse wheel. Roll, roll, roll, click, roll. Within one minute, I have moved through cyberspace with the mouse nearly twenty times, each poke of the wheel scrolling down ten lines or so. That's 200 lines per minute, or assuming an average of 40 lines per view, around five pages. Doesn't seem like that much to me.

However, spread this over a whole day. Five pages a minute equals three hundred pages an hour equals two thousand four hundred computer pages per working day. Then we go home and use up all our free time on the computer surfing the Internet. Another thousand computer pages easy.

Imagine taking that same distance and having to crawl it on your hands and knees.

So this experiment has been pretty much completed. The conclusion is simple yet powerful. We scroll through roughly thirty-five hundred pages per day, which is thirty-five hundred multiplied by twenty-five centimeters per vertical screen, which comes to 87,500 centimeters. In other words, a little over half a mile.

I am not sure how accurately this reflects reality, but that is not the point. The point is that each and every one of us is scrolling our lives away without even realizing it.

thingie

Posted at 6:02 PM | Permalink | Comments (0) | TrackBack

November 14, 2005

New civilization

Great stuff, my favorite addictive strategy game of all time came out and it's called Civilization IV.

When the original version came out way back in 1991, I fell in love with it right away, spending many nights moving through one century to the next, trying to be the first one to get to Alpha Centauri.

Now this game has improved immensely and offers an amazing new world in which to immerse yourself completely. Technology, religion, diplomacy, cultural breakthroughs, wonders, prophets, mechanized armor, trade, catapults, and much much more.

Hope I survive.

thingie

Posted at 8:54 PM | Permalink | Comments (0) | TrackBack

October 19, 2005

What to measure

Having spent more than a year and a half struggling on my own as an independant IT-consultant specializing in web analytics (I was reseller for this product), it never ceased to amaze me how poorly the innocent and brainwashed folks understood this wonderful world of measuring things.

So much magical hocus-pocus really. Ironically enough, if only you could truly understand what it all 'really' meant, you would fork in alot more profit than you ever thought was possible.

For awhile folks believed that just by collecting tons and tons of irrelevant information from megabytes of web logs, they could somehow make far-reaching conclusions based on magnificent graphs that were made on the fly.

Nothing could be further from the truth. It is all very personal really, a correlation of trends and how these reflect your ongoing business ups-and-downs.

You can collect data, generate a series of standard and often complicated graphs, see how (you think) the oscillating curves match your expectations, ad infinitum.

Sorry sir, mister CEO sir, but this is completely backwards!

The correct methodology is to decide 'first' how your business success can best be measured, meaning that the relevant metrics are defined 'before' the analysis is to take place. Using these carefully thought-out metrics, one can then properly filter through and collect the correct data which provides the most meaningful information.

For example, what is more important: total number of hits or page visits? Do you know the difference? Is it more important to have visitors meandering around your site or should they be spending more time in certain areas? Are visitors migrating to the correct regions of your web site, and how long is it expected for them to get there? How do you define a visitor? Is it more important to have more visitors hitting landing page or are you more concerned with the conversion rates? What is a conversion rate?

You might not care at all about the quality of the visitors or how long they stay, only the bare numbers that came and went during a given period. For example, when deciding how effective a given advertisement campaign was.

Then again, it may be more important that (potential) customers reacting to a given special offering enter via the correct landing page and progress in an orderly fashion from point A to point B and create an order by hitting the ok-button. So why is there such an increase in the fall-out rate between steps 3 and 4 resulting in much fewer conversions than hoped for?

Those are just a bunch of questions not all of which have one correct answer.

What is web analytics?

thingie

Posted at 8:52 PM | Permalink | Comments (1) | TrackBack

June 25, 2005

Other way around

You would think that the older you got the less interested you became in the wonderful world of computer programming, not the other way around.

The usual career path in this business is dictated from the moment the unknowing soul finishes his university degree in computer science: junior programmer, software engineer, senior developer, project leader, team leader, project manager, team manager, and onwards and upwards the ladder of so-called success.

However, in my heart I remain a hardcore developer who still loves just to hack around on the computer trying new ideas out and creating amazing feats of programming skills (that no one else is interested in except myself).

There is nothing wrong with that, because in the end that is what I enjoy the most.

Isn't that what life is all about?

thingie

Posted at 2:06 PM | Permalink | Comments (0)

May 13, 2005

Unified modelling language

"The Unified Modelling Language provides significant benefits in helping to build rigorous, traceable models of software systems in a consistent manner. Enterprise Architect supports this process in an easy to use, fast and flexible environment."

You'd think that by now I would have learned enough about computers and stuff that I wouldn't have to keep on filling my brain with newer and newer information.

thingie

Posted at 9:52 AM | Permalink | Comments (0)

April 15, 2005

Life as a cyborg

Can you believe this?

thingie

Posted at 5:21 PM | Permalink | Comments (0)

March 15, 2005

What they said

They always told us that modern technology was invented in order to save time and generally to make life more efficient.

This is not always the case. In fact, one may claim that this is more often not true than it is true.

The experience of getting there is still what matters.

thingie

Posted at 9:34 PM | Permalink | Comments (0)

September 20, 2004

Which Linux

So please tell me what is the best Linux I should be using?

How about Gentoo?

thingie

Posted at 9:23 PM | Permalink | Comments (2)

July 31, 2004

Pieces and puzzles

First of all you have to figure out where all of the bits and pieces can be found: over there, around that corner, behind that giant boulder, under that tree, up there just beyond your reach.

Then you attempt to collect all of the bits and pieces together, categorize them, arrange and re-arrange them, until things start to make some kind of sense: not perfect sense, maybe not even that sensible at all yet, but good enough.

Now you can start putting the pieces of the puzzle together. Be careful and concentrate.

Of course, the picture you create from all these jumbled pieces will never agree one hundred per cent with the true situation, but it will nonetheless approximate a model which is quite useful in finally getting started.

The tricky part is to know when you have enough of the pieces and mustering up the courage to say: okay this is it so let's get going with what we have.

There is a fine line between just not having enough information and leading everyone into a bottomless pit and just having sufficient knowledge in order to make it happen.

The momentum builds up and things take off with more energy than you originally put into it.

That's what creative energy combined with courage is all about.

thingie

Posted at 4:58 PM | Permalink | Comments (0)

July 3, 2004

Balancing act

The creative challenge of balancing a multi-project environment is nothing more than using your common-sense, planning in a clear and structured way, getting the facts down on paper, and allowing your heart to help make the right decisions when required.

Not everything in the big bad world of project planning can be reduced to resources, timescales, milestones and deadlines.

Gut-feeling is darned important, especially during the clinch.

thingie

Posted at 10:02 AM | Permalink | Comments (0)

June 18, 2004

Fish tycoon

Alright so I decide to purchase this game called Fish Tycoon for my new PDA in order to help pass my time while sitting in the train.

The only problem is that I cannot figure it out. But I am not that dumb I thought.

Why are my fish dying? How come the pregnant fish never give birth? Why isn't anyone buying my fish?

Just a few questions I will have to figure out in the coming days.

thingie

Posted at 10:19 AM | Permalink | Comments (54)

April 19, 2004

NIHS

More often than not, the not invented here symptom can cripple even the best among us. I believe that it is not so much the blind conviction that what we made in-house is so perfect as it is an innate fear of the unknown. Kind of like a subtle form of xenophobia that developers have for foreign software methods and/or approaches.

Balancing a sense of perfection while fostering the pursuit of the middle path is probably the best down-to-earth approach having the highest chances of success.

The creative challenge is getting others to leap across that pretty narrow chasm over there before you do.

In the end, trying to cure yourself is ten times more difficult than curing others.

thingie

Posted at 7:49 PM | Permalink | Comments (0)

April 6, 2004

Reality testing

Testing the reality of the situation for something which you have been planning for some time is more than just an endlessly moving target, over there.

During the design, certain assumptions are made which only during the actual implementation come to light. The design has to be redesigned and the implementation re-implemented. The process is a cyclical one with each and every phase influencing the one before and the one next.

Mutual exclusion and reintegration, a reforming of expectations so that the following steps move onwards like they were supposed to in the first place.

Then it is time to do the test. More problems and unseen pitfalls raise their ugly faces and then it is back to the good old drawing board.

I guess the best approach would be to do proper visualization from the very beginning, and then foster the realization of an expected future to the very end.

There must be a better more scientific way to all of this. If not, then what?

thingie

Posted at 8:24 PM | Permalink | Comments (0)

January 23, 2004

Integers and strings

For the last day or so I have been suffering an extreme bout of intense debugging you-know-what #$@! frustrations of the higher aggravating kind.

A very very bothersome bug in my program has been hiding deeply somewhere in my code. For some weird reason, the value of a certain parameter is popping up as a "01" string variable, rather that the expected value '1' as in a normal down-to-earth good ol' integer.

What is going wrong?! Drats.

This may seem like something unbelievably trite, but it is messing up my web analysis reporting tool, meaning that duplicate entries are appearing all over the place (one with the value of "01" and the other with a value of '1') when they should be adding up to one and the very same thing.

Some weird idiosyncrasy the way the Perl handles the concatenation of strings and integers I believe.

I am getting closer and closer, and I am almost there. Too bad it is taking me forever to figure this out when there are so many other more important matters I need to tackle before next week.

thingie

Posted at 2:37 PM | Permalink | Comments (2)

May 26, 2003

Commify text

Here's a little Perl snippet which will place commas in any number string right where they belong:

sub commify
{
    my $text = reverse $_[0];
    $text =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g;
    return scalar reverse $text;
}

So for example, by calling commify("13245766") the value "13,245,766" will be returned.

All the little commas right exactly at the correct positions using a simple regular expression. Pretty amazing language that Perl is. Does it make sense?

thingie

Posted at 9:47 AM | Permalink | Comments (2)

December 26, 2002

Home networks mess you up

So what does a good father do the day after Christmas? You are absolutely right, he fixes the home network so that the PCs can once again communicate flawlessly with each other, share each others files and use the same printer. Sound easy? Well, it's not. For a long time this was not working at all. I have been putting off this boring chore for about six months now, but it has to be done. Either the one computer could see the other, or the other could see only part of the first, or none at all or they just crashed, etc. So I did a big cleanup, removing all the network stuff from the older Windows 98SE computer and reinstalling it. I also reconfigured the Windows XP computer using the good old home network wizard. I was just about ready to give up when I discovered quite by accident that the stupid Windows XP firewall was enabled. Watch out for that bugger! Start » Control Panel » Network Connections » Local Area Connection Properties » Advanced » Internet Connection Firewall. Make sure that this is unchecked unless you really know how to configure this monster. My day is made, I have accomplished much, and as a reward I will put on my running outfit, go downstairs and stretch with the kids, and at last go jogging as fast as I can. Need to work off some of that excess Christmas dessert I munched out on yesterday.

thingie

Posted at 3:21 PM | Permalink | Comments (0)

December 17, 2002

Lack of patience

When it comes down to trying to explain something about the computer to a poor soul who is completely in the dark about the whole thing, I am a lousy and impatient teacher. Maybe I am also a little insecure, but when someone does not understand what I am explaining, rather than trying to rethink thinks and take a different more obvious approach, I tend to think to myself that I am dealing with a complete ignoramus. I get frustrated and tend to assume a tone of voice which can be easily interpreted as critical and degrading. Especially early in the morning when my usual attitude is way below satisfactory. You would think that by now they would know how to do it. It all seems so obvious, don't you think? How is it possible in this modern day and age there are still folks out there who cannot figure out even the most basic actions? Double-clicking on a link when one click is sufficient, selecting text and then wondering where it all went when typing in the next letter, looking at a web site and freezing in terror not knowing how to find what you are looking for, etc. To me it is all so obvious and part of adapting to new technologies. But I should also realize that such flexibility is not really inherent in the human condition, and that often enough there are huge psychological obstacles to be overcome. Shame on me for thinking that I am above all of this.

thingie

Posted at 11:52 AM | Permalink | Comments (0)

December 10, 2002

The Poetry of Programming

"Writing software should be treated as a creative activity..." says Richard Gabriel, who is a Distinguished Engineer at Sun Microsystems. In the article The Poetry of Programming, he discusses the finer points of writing good software and how the latest methodologies have influenced the way we look at the fine art of programming. Richard believes that a better way to train computer programmers is to train them like poets and other artists are trained. Creating while reflecting. In fact, he is currently working on developing an educational program that is probably going to be called something like a Master of Software Arts.

"Writing code certainly feels very similar to writing poetry. When I'm writing poetry, it feels like the center of my thinking is in a particular place, and when I'm writing code the center of my thinking feels in the same kind of place. It's the same kind of concentration. So, I'm thinking up possibilities, I'm thinking about, well, so how do I reinvent the code, gee, you know, what's the simplest way to do this."
-- Richard Gabriel.

We both went to Stanford around the same time, but I do not remember seeing him in the Quad when I was cycling to my classes. Back then they started this experimental class called "Computer Science" of all things. Sounded just too esoteric and weird for me, and all I remember is a bunch of nerds sitting behind glass, eating donuts and pounding on the keyboard the whole day. Or did they have keyboards back in those days. What a shame that I missed the boat then, so close and yet so far.

I am always glad to see members of the older generation (still young at heart though) playing an influential role in the development of the art of programming, the Internet, etc. Sometimes I lose heart sitting around just programming and doing all kinds of computer stuff, when my friends and neighbors keep telling me to get a hold of my life and do something more commercial (worthwhile) with my life.

You might also want to visit his website called Dreamsongs where one can find an extensive collection of essays, poetry and other really good stuff. Richard, if you happen to read this, thanks alot and keep up the great work!

thingie

Posted at 9:43 AM | Permalink | Comments (0)

November 25, 2002

Gaming keeps me sane

Lately I have been dividing my time between four major activities (not counting the default father and husband roles): job hunting, learning Java, following a strict fitness program and playing Medieval Total War. Now to be perfectly honest with you, the last (gaming) activity has gotten me addicted completely. What an amazing game this is, very complicated with millions of statistics and rules to figure out. To think that here is this so-called grown man, and what is he doing with his life? You guessed it. No less than conquering Europe in the Middle Ages, pretending to be the ruler of the Almohads, a Muslim faction situated in Northern Africa and part of the Spanish Peninsula. I made the following screen-shot while in campaign mode in order to give you kind folks a better idea of my fantastic escapades and other digital adventures:

This is the wonderful world of Medieval Total War!
Click to enlarge.

As you can see, I have successfully expanded my empire from a measly hodge-podge of ragged provinces starting in 1087 to an impressive collection of countries forking out thousands of florins every year. In addition, I have cleverly established a number of important trading routes around the Mediterranean which increases my annual revenue greatly. While I might not be the most powerful faction in terms of military might, I am by far the richest and most cherished by my citizens. In fact, I bask in the adoration of my subjects, and there is no one else who has such dedicated support from the populace. This is true entertainment at its very best, and this simple computer game offers me a pleasant escape from the less than optimal situation in which I now find myself. Even if it is some inanimate software program with pseudo-intelligence giving me the impression that I have traveled back in time in order to redeem myself. There is nothing wrong with that is there?

thingie

Posted at 12:04 PM | Permalink | Comments (4)

October 30, 2002

Simulated reality

So who am I trying to kid these days? Last weekend I was feeling a little sorry for myself, and I decided to go out and splurge the few euros I have left over. I purchased the newest computer game called Medieval Total War, probably about the most complicated simulation strategy game I have ever seen in my life. This is an innovative new war simulation where you can reenact amazingly huge medieval battles in full three dimensions. Here's a full description which I am taking the liberty to quote:

"Massive in scope, but intuitive in implementation, Medieval: Total War allows players to take control of one of twelve world powers as they attempt to rewrite history through a mixture of trade, diplomacy, resource management and wars of conquest. Featuring an incredibly powerful 3D engine, the game supports real-time 3D battles of more than 10,000 troops and more than 100 unique unit types, including knights, infantry and siege engines, in terrain as varied as deserts, forest, plains and mountains. Players will utilize authentic battle strategies and tactics as they unleash their forces against medieval castles and mighty fortresses with an arsenal of battle-field weapons including long-bows, muskets, cannons and catapults which can pound castle walls and buildings to rubble."
Am I really expected to be able to figure this thing out? Or am I just getting too old for this kind of stuff? Like I have unlimited time, energy and patience to figure out how NOT to have my faction killed off within the first generation (even in "easy" mode). So far all of my battles have resulted in the generals galloping away and most of my peasants getting slaughtered. Very very frustrating at times, if you know what I mean. A number of gaming sites like Avault and Gamers Europe gave great reviews so I could not resist. Something to keep me occupied and still productive for the coming days and weeks. Cannot be expected to be a house father, do fitness, send out job applications, and learn Java with JBuilder all of the time.

thingie

Posted at 11:13 AM | Permalink | Comments (6)

September 8, 2002

Blue screen blues

So it happened. All of a sudden the much feared blue screen with the simple message that drive C: could not be found. The smell of something burning and a few wafts of chemical smoke rising from the front panel. What?! Rebooted the computer just in case, seemed to start up alright until it boomed out with the contrite yet powerfully straight-forward message:

Cannot find operating system.
Oh dear, something is wrong, terribly wrong. Probably the hard disk has died. Take control of my life you lousy piece of hard- and software. Time to call up the fine folks at Dell technical support. But gotta wait until tomorrow (could only happen in Europe - customer support being closed the whole weekend). Fortunately we have the another (newer) computer, so I will be able to survive today.

In the meantime, I decided to open up my computer and investigate what was happening. Turns out that the motherboard was just fine as I can normally boot up into the BIOS setup screen. Further diagnostics indicate that there is no hard-disk in there responding. Drats, looks like it has deceased and no longer functions, poor thing.

I opened up the primary drive bay and pulled out the hard-drive. Smelled kind of funny, like burnt chemicals coming out. I flipped the drive over, and on the circuit board I could see it clearly. Looks like some thin hair or wire or something threadlike (razor-thin about seven millimeters long) fell on the surface of some chip component, burning a nice sharp crevice on the black square circuitry. One quick and deadly slice across a vital artery. Bummer, but that's life.

The fun part is that I got to order a new replacement drive Maxtor/Quantum DiamondMax Plus D740X (40GB 7200 rps) through Internet, and it is supposed to arrive within 24 hours they claim. Too bad I have to reinstall everything all over again. But at least it will be a pure and unadulterated system again.

thingie

Posted at 10:38 AM | Permalink | Comments (3)

July 11, 2002

Smudges on the screen

One thing that drives me completely and absolutely crazy is when my computer screen gets filled with smudges. This is caused by the many (usually dirty and/or pretty greasy) fingers of my children which they use to point at various items of interest. I must have told them a million times not to touch the screen. Do NOT touch the screen! Often enough I catch them red-handed, in the process of holding their forefinger so that it (almost) makes solid contact with the moving animation. Stop or else. Do not touch the screen. How many times do I have to tell you guys?! I grab the Glass-ex and cloth and go to work on the smudges until the screen is as clean as it could ever be. Maybe even cleaner than when it was delivered to my doorstep. My kids reaction is predictable: c'mon quit exaggerating, you are always doing that! I figure that if I spray the Glass-ex on the screen at precisely the wrong moment when they are in an important multi-player shoot out or when there is only two more seconds to make a move, obscuring their view with the rubbing rag which completely covers the screen, that by getting them mad enough they would remember. Now if they would be careful and NOT touch the screen like I have told them a million times, then their old man would not pop up at exactly the wrong moment for these cleaning shenanigans. But then again, they never learn, never care to remember. There are more important things in life at that age than becoming fixated by smudges. Perhaps there must be some kind of compromise. I could be exaggerating by getting so overly upset by a couple of tiny smudges that the normal human eye could barely make out unless it inspects that corner more closely. Ah there it is that bugger! But it bothers me, so there. I spray another layer of Glass-ex just in case I might have missed another invisible smudge. You never know what you might happen to discover upon closer inspection. Or even miss altogether and not see for some reason, so just eradicate all potential smudge areas just in case.

thingie

Posted at 8:51 PM | Permalink | Comments (6)

June 29, 2002

More memory

The box came in the mail just a couple of days. That was sure fast. I made the order through Crucial Technology on Sunday and within two days it had arrived.

Ran upstairs, cranked open the computer, carefully pushed in the new DIMM, closed the computer and replaced all the cables, plugged it in and turned my beautiful Dell on. Now it literally screams, screams and is super fast. When I click on [Control Panel>>System>>General] I see 1.00 GB of RAM. This should last me a couple years I hope.

This is the explanation as given by the kind folks at Crucial:

"A dual inline memory module (DIMM) consists of a number of memory components (usually black) that are attached to a printed circuit board (usually green). The gold or tin pins on the bottom of the DIMM provide a connection between the module and a socket on a larger printed circuit board. The pins on the front and back of a DIMM are not connected, providing two lines of communication paths between the module and the system."

"184-pin DIMMs are used to provide DDR SDRAM memory for desktop computers. Each 184-pin DIMM provides a 64-bit data path, so they are installed singly in 64-bit systems. 184-pin DIMMs are available in PC2100 DDR SDRAM or PC2700 DDR SDRAM. To use DDR memory, your system motherboard must have 184-pin DIMM slots and a DDR-enabled chipset. A DDR SDRAM DIMM will not fit into a standard SDRAM DIMM socket. (Information on which memory technology is used by your system is included in the Memory Selector.)"

"The number of black components on a 184-pin DIMM may vary, but they always have 92 pins on the front and 92 pins on the back for a total of 184. 184-pin DIMMs are approximately 5.375" long and 1.25" high, though the heights may vary. While 184-pin DIMMs and 168-pin DIMMs are approximately the same size, 184-pin DIMMs have only one notch within the row of pins."

In case any of the computer nerds were interested I just thought I would mention it here.

thingie

Posted at 7:09 PM | Permalink | Comments (0)

April 3, 2002

Don't jump or else

When worse comes to worse, it is sometimes better to admit that you have failed badly, go back to the drawing board and start all over again from scratch. At least for me, it is very hard to admit that you have been wrong or that you have not been able to solve a problem using brute intellect. After more than four days trying to get my home network up and running, being creative on just about every imaginable dimension of insight, that is exactly what I decided to do. It was either that or jump out of the window.

Choosing for life (even though the window is only on the second floor and I probably would not have injured myself too badly except for at most a broken ankle), I gave up, turned away from the tempting window, walked gently towards the computer that would not work, put down the axe I was about to use on it, paused and took a deep breath of surrender. It felt good to surrender somehow. I gave up and decided to reinstall Windows 98SE on my other computer which wasn't working.


You will not believe it, but that was the answer to my problems! All of a sudden my home network was fine and both the computers could communicate with each other via a hub as well as access the Internet via my ADSL modem which I have configured as a gateway. My conclusion is that the TCP/IP stack on the other computer had gotten all messed up, which prevented it from seeing the network. I am so very happy, and relieved that I did not have to jump out of the window. But let's not get too overly confident now. It all "seems" to be working fine, and I will keep my fingers crossed.

My life has been saved in the NIC of time. Get it?

...Several hours later. I discovered the culprit of my problems. Turns out to be my ZoneAlarm firewall. How do I know this for sure? Well, after I had a clean system reinstalled, I started adding the original programs one by one. All went fine, until I installed ZoneAlarm again. Bye bye and the network settings were destroyed. Fortunately I could rewind the settings at that point because I knew the source. I was wrong for blaming my kids for having installed Kazaa which I had unjustly blamed. Bad father, bad bad father. I think the kids will forgive me now because they can go on the computer. For the time being I have had an overdose of computers so I will take a breather now for a week or so. Maybe give up computers altogether now.

thingie

Posted at 2:06 PM | Permalink | Comments (4)

March 30, 2002

A fun easter weekend

So tell me then, how does your normal everyday person take it easy and enjoy himself on a long four-day Eastern weekend? Trying to get a home network up and running, that's right. You see, last week I installed it so that my Windows 98SE and Windows XP Pro were hooked up to the ADSL modem just fine via the hub. I used the Alcatel Fun site as a reference so I could do a little low-level twiddling. I felt like a super star technical guru type of person. Not only could both computers access the Internet without a single problem when I was done, but they could also see each other. I have really bad experience with network trouble-shooting, so you can imagine how surprised I was that it was working. Well, much to my dismay this perfect of all worlds was short-lived. My kids decided to install some kind of illegal software on the older PC so they could download music for free. I had told them never ever never ever download anything without my permission, and if they wanted something then I would be more than happy to assist them (if it was legal and not pornography, of course). Since this was illegal stuff, and they figured that it didn't matter anyway because Dad had his new PC now and didn't care, they did it behind my back. As if that is not bad enough, the program messed up the network settings on PC1 completely, obliterating all the required TCP/IP parameters and timers and whatever else into thin air. The wonderful result was that it could not find the Internet anymore. The main reason for me to get a second PC was because the others had to bug me all the time if they could check out their email, chat with their school friends, ad infinitum. The second machine gave them another spot to do their stuff on and leave me be in peace with my new pc. So one can imagine how pissed I was, so much so but I kept my cool. I have an explosive character but am able to restrain this pressure unpredictably, That was two whole days ago, and I have been toiling away ever since. Either PC2 works while PC1 does not work, or vice versa. Once both PC1 and PC2 somehow started working again at the same time, and I was ecstatic. For one brief, fleeting moment. When I then tried reinstalling ZoneAlarm Pro that I had uninstalled along with a bunch of other software for pinpointing the cause of the problem, PC1 stopped working again. Who ever said that the computer age would make our lives easier and free us up for the more enjoyable parts of life? HELP! I do not know what to do, and I am ready to throw myself out the window (don't worry, it is only one floor up). I am using an Alcatel SpeedTouch (ADSL/Ethernet) modem that I upgraded to a router. HELP! What am I going to do? I am afraid I have been hacking around too many operating system parameters in pure panic mode, resetting and reinstalling an infinite number of components, and nothing has improved since two days ago when I started. All the kids care about is chatting and emailing and surfing for fun, and they are getting desperate like addicts trying to kick a cyber habit. Time to take a break and read a book before I get even crazier than I am now.

thingie

Posted at 9:47 PM | Permalink | Comments (0)

March 25, 2002

Hooking up computers

This weekend was certainly a busy one. A very, very busy one. I had promised myself and everyone else that I would finally set up the computers in the new so-called "entertainment room" and that is what I did. I had expected it to be alot of work, but in no time I had the home network up and running in no time. I could not believe it. However, one small trivial thing did not work, and I would not be happy until it was fixed. You see, while I configured my ADSL modem so that it was now a router and had hooked up the computers so each had a separate dedicated line direct to the Internet, they could not see (communicate with) each other. Drats. Perhaps I should have left it for another day, but I just had to get this problem fixed. Fixation, here we come again. Perfection to the extreme, no patience. Do not let it be. So it turned out to be yet another day trying all kinds of things, but it still did not help. You see, I had to connect the computers together for two reasons: 1) so that I could transfer my personal documents and other files from the old computer to the new one, and 2) so that the kids could play games against each other across the LAN. Of course you can imagine that the second reason is by far the most important, and the kids kept dropping by the room every ten minutes asking if they could play on the computer yet. Alright, alright, get this fixed or else. Well, late Sunday afternoon it finally worked. I was tired and had had enough of all the spaghetti wires all over the place, but it worked. Took a long run to shake things off and felt much better. Rewarded the whole family with McDonalds, and during the evening tennis match, I pulled off a last second point to pull off the win. I have to admit that it was an amazing shot, pounded down just between the two opponents, with a fine touch of true strength and sports ability. Capped off in style the good results of a long-and-winding weekend. Life goes on.

thingie

Posted at 8:50 AM | Permalink | Comments (1)

March 16, 2002

New computer

When Thea called me up at work to say that my new computer had arrived already, my heart started beating faster and faster. Boy was I excited and could not wait to get home. Two more hours of work to kill and then I cycled home with tremendous speed, this time the wind is blowing at my back which is unusual for Holland. Threw my bike in the garage and dashed inside. There were the boxes. First things first, and before I knew it I had everything unpacked, and with the help of Lennart and his expert eye we succeeded in arranging all the required componts on the floor ready for assembly. The only problem was the empty boxes. Too much of a temptation for Maarten who was completely captivated by the boxes and all of the adventurous things you could do with them. Climb inside, close the lid, and roll around, back and forth, giggling and laughing all over the place. There is a huge expanse of newly laid carpet which is a perfect invitation for all kinds of somersaults, cartwheels and other six year old activities required for expending pent up energy. The only problem, if you can call it a problem, is that he was noisy so that we could not concentrate very well connecting all the wires and stuff. Also, by rolling around everywhere he was continuously bashing into the computer we were trying to setup. In my extreme excitement I had a really bad headache, probably all of that adrenalin streaming through my body because of the new computer. Like a little kid on his birthday, couldn't I control myself better? No of course not, there are too few pleasures in life that no one was going to stop me from enjoying this state-of-the-art super toy. Bash, bang, there goes Maarten again and he knocks of the sub-woofer. He opens the lid of the overturned cardboard box with an semi-apologetic smirk on his face, but in doing so the lid scrapes across the monitor and nearly knocks that down also. I am really proud of myself because I am restrained and do not get angry and yell. So I just give up. Stand up, turn around by 180 degrees, first place my left foot and then my right foot in front of me and head on downstairs. Maybe this weekend when I have more time (sure). Wait just one minute, I remember that it is the weekend already. Lennart continues, and gets two of his fanciest games installed: Medal of Honor and Operation Flashpoint. Realistic graphics and the sound effects are amazing, he tries to tell me above the noise of battle that is shaking the whole house.

thingie

Posted at 9:36 AM | Permalink | Comments (1)

March 9, 2002

Another computer

Alright, I have been putting it off now for quite some time, but I have finally decided to go out and splurge. So this is what I did yesterday: I ordered a state-of-the-art Dell computer. This is because through my work I can deduct certain so-called office equipment from the taxes, a good deal which is hard to resist. Now this is what I finally ordered:

Dimension 4400 with P4 1.8GHz/256K No Sound with Floppy Drive
Dimension 4400 English Documentation and European Power Cord
512 MB266Mhz DDR RAM Memory (1*512)
80GB (7200RPM) IDE Hard Drive
24 x CDRW and 16 x DVD
SW DVD Decoder for XP
European - 17in Performance Midnight Grey (P793) Monitor
64MB Ti500 GeForce3 Video Card
Creative Labs SB Live Value Sound Card
European - Harman Kardon 395 Midnight Grey Speakers
Dutch - V.92 Data/Fax/Voice Internal PCI Modem
10/100 PCI WUOL Network Card for Dimension
Mouse Pad with Dell Logo
MS Intelli-Explorer Optical 4 btn PS/2,USB
US - Dell Quiet Key (3 Hot Key) Midnight Grey Keyboard
English - Win XP Pro with Norton Anti Virus 2002 for XP
UK- MS Works Suite 2001
Am I spoiled or what? It will take ten working days before it is delivered to my doorstep, just in time for the new entertainment room we have had built above the garage. Now we will have a grand total of no less than FOUR computers in the house. I plan to hook them all up in my own home network, if that is not too much work. Hopefully, I will finally have my "own" system to play on without having to fight with the other kids who have completely monopolized the computer with all their emailing, chatting, gaming. However, Lennart is already bugging me to use the new Dell Dimension for his latest games because of the GeForce3 video card he can increase the resolution and it looks real cool. And then we can also play against each other over the network. Real cool. Not sure what the future has in store for these children of modern technology who will have to grow up one day to become the leaders of the world and take care of you and me. Even if we all had our very own personal "wow" computer, that would probably not be enough. At least the quality of my blogs will increase exponentially, as if the type of machine makes such a big difference. Let's just be honest and say it is the person penning the words and that's it. Pen and paper should be enough, but lately it is not. But let's keep on pretending anyway.

thingie

Posted at 9:26 AM | Permalink | Comments (2)

March 5, 2002

Message from my PDA

This is a very interesting message which I composed on my Palm Vx. The sole purpose of this deeply meaningful missive is to see if this state-of-the-art manner of blogging is really possible. Did it work then? If you are reading this then I guess so.

thingie

Posted at 3:53 PM | Permalink | Comments (5)

December 20, 2001

Properties, events, and methods

"Once you have declared an object variable, you must instantiate it by assigning an object reference to it. Instantiating an object allows you to use its properties, events, and methods..."

Sometimes I feel like I have come from another planet. The plain fact that I am able to understand perfectly what this sentence means sets me apart from most normal human beings. What kind of weird foreign language is this?

Does anyone out there know what this is?

"...collection objects in an object hierarchy act as containers for groups of objects of the same type and provide another way to access objects in an object hierarchy."

Surely there must be a better way to communicate with one another.

thingie

Posted at 8:21 AM | Permalink | Comments (1)