Debugging

Debugging can be so much fun if you just know how to entertain yourself while doing it. I’ve taken the screenshot below when I did some debugging on a stupid AV and finally found why it happens. Then I’ve added a Gexperts Debug-Statement to visualize whether I was right.

debug_fun.png

It seems, I was…. Talk about programs not knowing when it’s time to die. If only Delphi itself could tell me before it’s crashing…

(read the thing from bottom to top: 19:00 ’till 19:02 I was debugging and the app was crashing. Then I found the problem, added the debug-statement which checks for a NULL-Pointer and outputs the message if there’s indeed one of them and at 19:02:42 I ran the thing again and it warned me that it’s going to crash. At 19:05:46 it was fixed)

23rd Post

asterisk* modified the Page 23 idea a bit and came up with this:

  1. Go into your blog’s archives.
  2. Find your 23rd post (or closest to).
  3. Find the fifth sentence (or closest to).
  4. Post the text of the sentence in your blog along with these instructions.

Well… my 23rd post was about Apples X-Server and the fifth sentence (not counting one-word thingies) was:

It launches in about half a second on Richard’s Mac and launching Eterm or nedit just happens instantly without any remarkable delay.

(links added in this quote. I should have made them back then)

Back from vacation

I was away during the easter-days and now that I’m back, I had to see that my blog somehow got recognized by the various spammers around here: I’ve just deleted 10 spam entries from the comments.

Those entries are primarely made to get a better PageRank at Google, but since I’ve upgraded to MovablaType 2.665 which uses a redirector for all links, this does not get the spammer anything, so it’s just annoying and does not even bring profit to those f***ing spammers.

Why is there always someone to destroy something good?

Speed up

Maybe you have noticed that this page loads faster than before – especially faster than it did the last two weeks or so. Maybe you wonder too, why there was this downtime at the end of march.

I won’t go into many details, but gnegg.ch (and a whole lot of other stuff) is now running on a brand new server (slightly faster machine) with Gentoo Linux using a 2.6.4 Kernel.

This due to some sucker hacking into the older machine last march, installing a quite destabilizing rootkit (thanks for that… this lead me to notice the crack quite fast…), modifying a lot of html-files and php.ini so that nearly every page served contained a IFRAME utilizing a IE exploit to install some kind of dialer (the IFRAME linked to forced-action.com). The wonderful and gratifying work of this unknown and soooo cool guy caused me to return home from vacation to do some rescuing work.

This is not the usual stinking phpNuke-Exploit (we were not running any phpNuke anyway) as this would not lead to a rootkit getting installed.

Again: Many thanks for your “hard work”, dear anonymous hacker. You got me the much needed opportunity to finally install Gentoo. And not only that: You even got me a faster Server to work on (to prevent any further downtime during reinstallation of the new OS). Now that this episode finally has come to an end, I will have a look at those disk-images I took from the compromised machine. Let’s see what I find out.

Quote of the day

While reading LWN today, I stopped at the following quote as posted in this weeks PostgreSQL Weekly News:

While there was some subversive discussion about source control
programs arching through the mailing lists this week, those with an eye on
the CVS repository noticed several interesting changes come down the pike.

With the whole war going on about Subversion or arch being better, this phrase is just great.

Have a bite…

0860095.jpg

… if you still can ;-)

I found this in the online shop of one of our customers which distributes dental equipment. The device is called “Lippenexpander” and I have no idea what practical use a dentist may have for it but it’s no pleasant picture at all.

Today’s little PC-Problems

Today, I deceided to track the daily PC-problems I have to solve, just because I wondered why I generally think that PC’s suck and to learn how much time I lose just for fixing things that should work.

Today’s list of software-stupidity I’ve had to learn:

  • floAt’s Mobile Agent has a feature to react when the connected BT phone comes out of range. I’ve configured fma to lock the workstation as soon as I leave it. Quite nice. Every time the BT connection now drops, the screen is locked. Unfortunatly, it does not check for the cause of the connection drop: If it’s because I’m just quitting fma, it locks the screen anyway. This stupid thing happend to me just one time too many, so I decided to post this whole entry here.
  • I’ve 1 GB of RAM in my Thinkpad which, I think should be enough for the machine to swap only very rarely. Then: Why is my system virtually unusable because of swapping if I bring Firefox in the forground after is lied in the background for an hour or so? I’m not blaming Firefox for this. I’m blaming windows for it’s less-than-optimum memory handling. Why swap if it’s not needed? Why has the system to stop responding when it’s swapping?
  • On the Exchange Server, I’ve set up a daily backup-task using Microsoft Backup. It never run and did not provide any error-message at all. Why? Because the command-line created from MS-Backup’s planning assistant was too long to be executed by windows. Why is such invalid command line created? Why is there no error message?
  • I had to support one computer where surfing to any website immediatly created a 404-error. I’ve double checked – the pages where there, the websited did in fact work. Cleaning the browser-cache (the supported person insists on using IE) helped. Why? What was the problem?

Stupid, Stupid, Stupid.

I mean: I’m writing software myself and I really check not to do such stupid things. They happen. They happen all the time when programming. Your mind is thinking completly differently when you are buried deep in program code. But then: Why don’t the people take some time to actually test theiur products? Why do such stupid things happen? Why can’t we live in a world without bugs? Without software-stupidity?

Apple, you are coming closer and closer…

dvdupgrades.ch

When I was looking for a new AV-receiver, I soon found out that my whishes cannot be pleased in common consumer-shops like Media Markt. I found my device by googling.

Where to get it? Although, I am one of those guys that like to go into a store and just take the stuff with me, this was not possible this time as said receiver is quite uncommon (newly on the market and quite expensive [but sounds very nice]), so buying online was my only way to get it.

Browsing around a bit finally lead to dvdupgrades.ch which has the most complicated user interface I’ve ever seen on a website (and runs only on IE as the JavaScript for the menues at the top is somewhat strange), but looked quite ok anyway.

They promised delivery somewhere around February, 10th, but the stuff was here already yesterday. They’ve worked fast and professional. Very nice.

If you live near switzerland and need exotic AV-stuffm especially modified consoles or DVD-players (region code, macrovision, … – they even wrote a new firmware for Pioneer Players from scratch), give them a shot!

Easier to use? Cheaper because of that? Dream on!

The Exchange Server I already had strange problems [read this and related postings there] with, today had another one of them. I had to give reading-permission to some public folder to some users (although the GUI to do that from within Outlook is really easy to use, some people rely on me doing that for them because that’s even easier).

The Exchange Server Manager threw a strange message at me whenever I tried to expand the folder-list in the tree. The text was useless as ever and nothing was posted to the event-logs – as ever. Why is there a logging-framework if it is not used? (besides, if it would have been used, the message would have been just as un-understandable as the one I was getting).

This time, I was lucky: I got an error number along with the message that was even known to the knowledgebase. The error was 80040e19 and the knowledgebase article was Q328659.

The problem was easy to fix and had something to do with some “security-tool” that got installed alongside the IIS-Lockdown tool which itself got installed alongside the common Windows-Update procedure. Nice to know that just updating the system via such an easy procedure can bring essential functions down without any warning.

Microsoft always emphasises the ease of use of their products and the better support you are getting when using their closed source solutions. Granted: The “ease of use”-thing can sometimes really be true (many things just work out-of-the box with not nearly as much work as I would have when using a common linux distribution), but when something does not work, fixing microsofts server software is much more difficult than fixing equivalent linux software as the fixes are un-obvious and the error messages are unusable.

The level of support for me is just the same as with comparable open-source software: Use google, enter the error message you get and pray someone had a fix for it posted somewhere. If not, I see virtually no solution in Microsoft land (besides paying a lot of money for support) whereas in the open-source land I would be able to fix the problem sometime later as I have readable error-messages and if that does not help I could try to understand the problem by reading the sourcecode.

That’s why I usually prefer open solutions. Or have you ever seen software working flawlessly?