September 2005 Archives

Debugging LoadPackage

| No Comments
Well this one is a complete pain in the ass. I've been trying to debug plugins in Delphi. It looks like the use of LoadPackage isn't allowing us to debug the plugin. This is really annoying; it makes work difficult.

Annoying installations

| No Comments
This one is a real pain in the ass.
For some reason the installation of the Visual Fox Pro 8 SP1 OLEDB provider left all the registry keys installed were not readable by ordinary users, so when I tried to execute my application as an ordinary user didn't work as the 'provider wasn't installed', whereas it's just permissions.
Registry Keys that needed permission changes:
HKCR\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}
HKCR\CLSID\{50BAEEDA-ED25-11D2-B97B-000000000000}
HKCR\CLSID\{50BAEEDB-ED25-11D2-B97B-000000000000}
HKCR\VFPOLEDB
HKCR\VFPOLEDB.1
HKCR\Vfpoledb.ConnectionPage
HKCR\Vfpoledb.ConnectionPage.1
HKCR\VFPOLEDB.ConnectionPage
HKCR\VFPOLEDB.ConnectionPage.1
and the SOB still won't work. Permissions on the files in OLDEB directory seem OK. Then I had to copy registry information into the user's environment:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes]

[HKEY_CURRENT_USER\Software\Classes\CLSID]

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}]
"OLEDB_SERVICES"=dword:ffffffff
@="VFPOLEDB"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\ExtendedErrors]
@="Extended Error Service"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\ExtendedErrors\{50BAEEDA-ED25-11D2-B97B-000000000000}]
@="VFPOLEDB Error Lookup"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\Implemented Categories]

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\Implemented Categories\{D267E19A-0B97-11D2-BB1C-00C04FC9B532}]
@=""

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\InprocServer32]
"ThreadingModel"="Both"
@="C:\\Program Files\\Common Files\\System\\ole db\\vfpoledb.dll"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\OLE DB Provider]
@="Microsoft OLE DB Provider for Visual FoxPro"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\ProgID]
@="VFPOLEDB.1"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\TypeLib]
@="{50BAEECA-ED25-11D2-B97B-000000000000}"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEED9-ED25-11D2-B97B-000000000000}\VersionIndependentProgID]
@="VFPOLEDB"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDA-ED25-11D2-B97B-000000000000}]
@="VFPOLEDB Error Lookup"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDA-ED25-11D2-B97B-000000000000}\InprocServer32]
"ThreadingModel"="both"
@="C:\\Program Files\\Common Files\\System\\ole db\\vfpoledb.dll"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDA-ED25-11D2-B97B-000000000000}\ProgID]
@="VFPOLEDB.ErrorLookup.1"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDA-ED25-11D2-B97B-000000000000}\VersionIndependentProgID]
@="VFPOLEDB.ErrorLookup"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDB-ED25-11D2-B97B-000000000000}]
@="VfpOLEDBConnectionPage Class"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDB-ED25-11D2-B97B-000000000000}\InprocServer32]
"ThreadingModel"="Both"
@="C:\\Program Files\\Common Files\\System\\ole db\\vfpoledb.dll"

[HKEY_CURRENT_USER\Software\Classes\CLSID\{50BAEEDB-ED25-11D2-B97B-000000000000}\Programmable]
@=""

[HKEY_CURRENT_USER\Software\Classes\TypeLib]

[HKEY_CURRENT_USER\Software\Classes\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}]

[HKEY_CURRENT_USER\Software\Classes\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0]
@="Microsoft OLE DB Provider for Visual FoxPro 7.0 Type Library"

[HKEY_CURRENT_USER\Software\Classes\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\0]

[HKEY_CURRENT_USER\Software\Classes\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\0\win32]
@="C:\\Program Files\\Common Files\\System\\ole db\\vfpoledb.dll"

[HKEY_CURRENT_USER\Software\Classes\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\FLAGS]
@="0"

[HKEY_CURRENT_USER\Software\Classes\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\HELPDIR]
@="C:\\Program Files\\Common Files\\System\\ole db\\"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB]
@="Microsoft OLE DB Provider for Visual FoxPro"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB\CLSID]
@="{50BAEED9-ED25-11D2-B97B-000000000000}"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB\CurVer]
@="VFPOLEDB.1"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB.1]
@="Microsoft OLE DB Provider for Visual FoxPro"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB.1\CLSID]
@="{50BAEED9-ED25-11D2-B97B-000000000000}"

[HKEY_CURRENT_USER\Software\Classes\Vfpoledb.ConnectionPage]
@="VfpOLEDBConnectionPage Class"

[HKEY_CURRENT_USER\Software\Classes\Vfpoledb.ConnectionPage\CLSID]
@="{50BAEEDB-ED25-11D2-B97B-000000000000}"

[HKEY_CURRENT_USER\Software\Classes\Vfpoledb.ConnectionPage\CurVer]
@="vfpOLEDBDLink.ConnectionPage.1"

[HKEY_CURRENT_USER\Software\Classes\Vfpoledb.ConnectionPage.1]
@="VfpOLEDBConnectionPage Class"

[HKEY_CURRENT_USER\Software\Classes\Vfpoledb.ConnectionPage.1\CLSID]
@="{50BAEEDB-ED25-11D2-B97B-000000000000}"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB.ErrorLookup]
@="VFPOLEDB Error Lookup"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB.ErrorLookup\CLSID]
@="{50BAEEDA-ED25-11D2-B97B-000000000000}"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB.ErrorLookup.1]
@="VFPOLEDB Error Lookup"

[HKEY_CURRENT_USER\Software\Classes\VFPOLEDB.ErrorLookup.1\CLSID]
@="{50BAEEDA-ED25-11D2-B97B-000000000000}"

Of course, if you've installed it somewhere else then you should not use the C: prefix, but whatever the installation drive is (e.g. j:).

Softie

| 1 Comment
I like movies. I like violent movies like Sin City. Old boy - disturbing, but just wow, what a story. Starship Troopers - people really need to figure out what it was all about, and dammit it was a wonderful telling of the book.
There I am tonight watching Sweet Home Alabama. Intially I didn't think much of it. The problem is that I've developed a liking for the romantic comedy/dramas, and tonight was one of the many times.
We've got other flicks too. Office Space, which is a romantic comedy dressed up as a work sucks flick.
Then there's my love of Japanese animation. I'm not a big fan of the giant robot genre, but I do have the essentials - Neon Genesis Evangelion. But what I really like are the ones that have just a touch of mysticism in them. A series which I picked up last Christmas when I was in New Zealand was Haibane Renmei, which is truly beautiful. It's the tale of a girl with charcoal feathers, and tells a wonderful tale. More recently I've got the series Air, which is subtitled only, and I love it. It's a story told over the course of a Summer. It has characters that you just fall in love with.
Ahh, zombie movies. Tonight I'm watching the Romero 'Dawn of the Dead'. I love the original version for the slow zombies and their inexhorable march after the humans.
I wonder how Rob and Edie are doing?

Cheap shot

| No Comments
snake
it looks like someone else noticed the Snake grows up. Mind you, the comment in the comic it's a bit dodgy considering the person it's coming from :)

It's really not C++, is it?

| No Comments
If I want to find out about anything in Windows, you have to go through one of the bazillion Enum functions. These creatures take a callback function which they invoke with information on what is being enumerated, along with a variable (typically a void *) that contains data where you can put the results of the information (for example putting it on a list).
Interestingly, there are a few exceptions to the rule. File I/O tends to be of a different character - FindFirstFile(Ex), FindNextFile, FindClose. Of course the person writing the API could have added the word 'File' to the end of 'FindClose'. That way they would all have a matching function style. But there's no accounting for taste.
We wander over to the C++ (or practically all OO languages) and the design immediately changes to an enumerator. For C++ it's the iterator, You get an enumerator in Java (and C#). The Enumerator doesn't look like the old create another stub function to implement this handler trick, the handling code is inside a set of braces ({}).
I presume it's the vagaries of the different teams working on the solutions to the problem and the fact that at the time people were designing the solutions they didn't think there was a better way. With the enumerator, the caller keeps the state of the enumeration to themselves, they pass the current item and a pointer to the handling function. When the enumeration is finished you are guaranteed that there is no remaining state left over and that all the handles are cleaned up before you return to the caller.
It seems to be more of a caller vs. callee cleanup exercise. Nowadays we have scoped destruction of objects and garbage collection to deal with the state destruction. What's more it means that you still aren't depending on the potential binary instability of the oo function call definition. The typical OO implementation uses an implied this parameter passed to methods to carry the object information. It allows clever developers to create functions that mimic OO methods without actually being functions of the objects themselves.
If you're clever, you can replace VMT entries with functions of your own creation that can be written in C. Convenient that.
An annoyance of programming Windows is that WinMain must be a static function. If you want to have a WinMain method, you need to perform trickery. One of the most regular methods of doing this is to use SetWindowLongPtr and store the address of the object in the private window information. This has the potential of being quite expensive. Every time you invoke the method you have to issue a GetWindowLongPtr call to extract the pointer, and then indirectly invoke the object's implementation of WinMain.
There is a more evil mechanism that uses self rewriting code. But that's for another time.

Cable Guy

| No Comments
This one is annoying - I have to download the meter readings from the diabetic meter for my father. The connection is serial. It's using some fricking wierd ass connection (looks like a headphone jack) to connect it to the meter. The problem was it was missing. My brother, being a pharmacist has several meter connectors. Every one of them are different. Granted there is an age variation between the hardware, but it's now cheaper to make a USB connection rather than a plain serial connection and as an added bonus you can use the same connector for all of them! Think of those of us who have to keep one of each effing connection around the shop. What's worse is that some of them look similar, but don't work with the meter.
Then let's not start talking about the reporting software. It's some ancient thing. It can't print to a network printer, so I have to print to a pdf and then print the PDF. Granted, there is the if it's not broke don't fix it, but I had to rearrange the serial port configuration on the machine - the USB adaptor assigned COM18 for the serial connection, and the software goes to 4. Yes, you read correctly; 4.
Probably something written with visual basic too (cheap shot).
Let's not talk about power connectors. Most nokia chargers are compatible - but beware of chargers from other countries. Sony-Ericcson have this wierd connection which regulary does not work because of grit in the connector. Motorola change their connectors regularly. I've not seen a panasonic phone in a while, but I would not be surprised. That's just the phones. Then there's the camera, the PDA, the external hard drive, the iPod, the other PDA.

Curses: E1026

| No Comments
I keep getting this bloody error in the Delphi IDE: E1026 file not found: 'importcore.drf'
The .drf file varies depending on the project being built. It seems to work itself out after a while (I went looking for bugs).

Politics Test

| No Comments
Who'd a thunk it? I'm a socialist.
You are a Social Liberal (70% permissive)
and an... Economic Liberal (18% permissive)
You are best described as a: Socialist
You too can take The Politics Test on Ok Cupid

This has to make you laugh

| No Comments
It's time for the Fantasy League... the Indie Fantasy League. Just when you thought it was safe to get out of the house.
[Listening to: Moby - God Moving Over The Face Of The Waters - Moby (6:56)]

Solid snake grows up

| No Comments
Looking at the teaser trailer for Metal Gear Solid 4 for the PS3. Looks really impressive. I hope that it will live up to the trailer hype. I have never really been into consoles, for the simple reason that I can't easily program them, and that's part of the fun of computers.
God, but snake looks ancient in this trailer.

Notebook

| No Comments
Tonight is the night to consider changing the simulation routines. Currently they are very hard loops being performed to issue the water and power around the map. It's guaranteed to work correctly, but it's awfully slow when the map becomes densely populated.
Ermmm, it's about midnight, I'm watching 'Lost In Translation'. I don't think I'm going to get much more musings done tonight.

All Upgraded

| No Comments
Well we're all upgraded to MT-3.2 here. There are a few changes. There's a bug in the archive listing code - The loop counter is incremented three times, during the loop, rather than the once it should be.
I've introduced dynamic theming. The menu option is yet to come, but click the links below to see the different themes on offer.
Old Theme (Using Helvetica) Theme, Old Theme (Using Verdana) Theme, Default 3.2 Theme (Vicksburg) Theme, Beckett Theme, Folio Theme, Masala Theme Powell Street Theme
*** ContextHandlers.pm  2005-09-20 22:34:21.000000000 +0100
--- /home/petesh/.backup/ContextHandlers.pm~    2005-09-20 22:32:47.000000000 +0100
***************
*** 2162,2171 ****
              my ($next_cnt, @next_grp) = $group_iter->();
            while ((($cnt, @grp) = ($next_cnt, @next_grp)) && defined($cnt)) {
                my($start, $end) = $sec_ts->($ctx, \@grp);
-               # Changed by Pete Shanahan - too many i++'s
                  $i++;
                  ($next_cnt, @next_grp) = $group_iter->();
!                 $last = 1 if $n && $i >= $n-1;
                  $last = 1 unless $next_cnt;
                local $ctx->{current_timestamp} = $start;
                local $ctx->{current_timestamp_end} = $end;
--- 2162,2170 ----
              my ($next_cnt, @next_grp) = $group_iter->();
            while ((($cnt, @grp) = ($next_cnt, @next_grp)) && defined($cnt)) {
                my($start, $end) = $sec_ts->($ctx, \@grp);
                  $i++;
                  ($next_cnt, @next_grp) = $group_iter->();
!                 $last = 1 if $n && $i++ >= $n-1;
                  $last = 1 unless $next_cnt;
                local $ctx->{current_timestamp} = $start;
                local $ctx->{current_timestamp_end} = $end;
***************
*** 2182,2188 ****
                    return $ctx->error( $builder->errstr );
                $res .= $out;
                  $first = 0;
!               last if $n && $i >= $n-1;
            }
        } else {
            my $iter = MT::Entry->load_iter({ blog_id => $blog->id,
--- 2181,2187 ----
                    return $ctx->error( $builder->errstr );
                $res .= $out;
                  $first = 0;
!               last if $n && $i++ >= $n-1;
            }
        } else {
            my $iter = MT::Entry->load_iter({ blog_id => $blog->id,

A link for Rob

| No TrackBacks
I've been getting a few podcasts lately. I had subscribed to a few long ones, but had to give up on them - they're too much like talk radio and a lot less like entertainment. Recently, I was pointed at Spaceship radio, which is public domain radio plays from the 50's. I've only listened to three of them, and all I have to say is that they're great. I really enjoy the classic radio plays and it being science fiction really brings it into focus for me.
[Listening to: 1985 - Bowling For Soup - A Hangover You Don't Deserve (3:13)]

Upgrade duration

| No Comments | No TrackBacks
Not technically programming, but computers in general. We were upgrading from one server to another last night. Microsoft SBS 2000 -> SBS 2003. The issues were security related. Most of the shares were naïvely configured, so a tightening of the security was on order. All the accounts were changed to Domain Users, from the domain administrators that they had been before. New security groups were added to keep data separate.
The problem was the machines themselves. Currently the machines are running with the account of the login as an administrator of the computer. This should be changable to an ordinary user, as I've put the respective privileges into the registry for the BDE.
Long and short of it. The upgrade was scheduled to take 1 hour. It took 2. Reasons - machines upgraded to XP service pack 2 along the way, unforseen security issues as some files within the shares were owned by a domain admin, not by the owner of the containing folder; caused by copying files from one dorectory to another - which brings along the privilege information (NTFS->NTFS). The security is really worth it! honest!
Of course, wireless is not enabled on the network.
Handy link for the day: RunAs with Explorer.
[Listening to: Born Slippy - Underworld - Trainspotting (9:44)]

Poor Dermot

| No Comments | No TrackBacks
Looks like he's worried again. It's annoying, but these things do happen.
[Listening to: Ramende - Wes - Welenga (Universal Consciousness) (4:03)]

Mandatory trailers

| No Comments | No TrackBacks
I know, it's an old complaint. On DVD's there's a bunch of logic on the disc to prohibit you from skipping certain things - like the copyright notices in two billion languages. Disney and Warner are bad, putting trailers for movies before you get to the main menu. You can skip them by hitting the menu button, but the most painful thing I find with the trailers is that they have dates on them, like 'coming to a cinema near you in June 2004'. Software DVD players can be convinced to skip the trailers - see software like DVDidle for that.
Then there's the computer games. Big, loud, 40 second trailers, and 10 of them all in a line. One for the developer, one for the distributor, one telling you that this graphics card kicks your graphics card's ass, one for the physics engine, one for the banana maker who supplied the developers (ok, the last one was a joke, but I mean really). After launching the game 20 times or more, the only things I have to say are - effing annoying crap, cut to the game.
[Listening to: The Video Games Show #70 - 09/12/05 - Hoss, Nickel & Rich - The Video Games Show - 64 kbps (59:50)]

It's a Sin

| No Comments | No TrackBacks
My copy of Sin City arrived in the post yesterday.
It's the Chinese edition, so it's got a few extra bits and bobs with it - a little note book, and some post cards. Cute little things that i'm sure I'll make no use out of at all.
Gosh, but I'm tired.

Slow on the uptake

| No Comments | No TrackBacks
Ok. I presume other people have a similar problem to me with their iTunes. It takes about a minute to shut down. This is, of course, because it's rebuilding the music library, which it a pair of files; one XML and one binary; which contain all the information on the music I have; play counts and the likes.
Maybe it's my slow hard drive; I don't know, but it's really irritating. I only have about 22,000 songs in my library. My addition rate is about 1 album a week (there's nothing good out there). The biggest update is the play counts.
Suggestions for performance improvements. Make the binary file be a bunch of binary files. One file contains the file information, one contains the individual song information, one contains the play information, and then one per playlist. At a guess, the XML doc is being created by building a huge ass DOM and walking it off to the hard-drive. It's only a guess, but how many entries and playlists did they make for the performance testing? My iPod can't take all my music, so I've a large number of playlists. Could this be the issue? Could any of the engineers at Apple tell me? I'd be very interested to know. Act now before I get tied into another NDA :)
enough of the rantage, I need to get suited up.
[Listening to: Love Is Rare - Morcheeba - Fragments Of Freedom (4:04)]

Upgrade time

| No Comments | No TrackBacks
The time has come, I believe to upgrade my site from the 2.6 version of Movable type to the 3.2 version. I've made a few personalizations to the 2.6 code base so support my specific features. I just wonder how difficult they will be to integrate into the new code base.
Features I added were not huge - inline comments (via a bit of AJAX), and a small HasComments tag.
Why am I upgrading? I'm the only author, and the free ediiton supports that. I want to do a little more theme work, and I'd like to get my added features out there in the community - I think they would be appreciated.
Not much else to talk about. I'm expecting job offers in the post any day now :)
Strangeness. Top ten stupidest utopias. Funny and sad.
Cute bit of flash. big black pencil. Nicely animated.
[Listening to: Let It Go - Great Big Sea - Something Beautiful (3:11)]

Funeral Arrangements

| No Comments
Ok,
The arrangements for the funeral of Joan Cosgrave are as follows The removal happens at 8pm from the house in Tureengarrive (pronounced, not spelt) to the church in Ballydesmond on Tuesday, 13 September 2005.
Funeral mass will take place at 2pm at the church in Ballydesmond on Wednesday, 14 September 2005.

In Other news...

| No Comments
Joan Cosgrave passed away at about 8.15pm on the 11th September 2005. My condolences go out to her family at their time of loss.
Reading through the Sunday Business Post there's an article by David McWilliams about needing to seriously consider the use of Nuclear power in the future. Considering some of the countries with the most reliance to nuclear power - France, Germany, Sweden and Finland; they also have really good track records with, for example, not having horrible nuclear accidents. He made some good points, especially about the fact that these places are being run by responsible people who would care about how things work. I'm sorry, but I could not trust anyone in this country to run a nuclear power plant properly.
A lot of this I did not know, but now that I do it explains some of the silly things that kept happening on my brother's computer when the staff accidentally dragged the wrong thing around the screen. I accept the fact that you can way-overuse the drag and drop metaphor.
The we have the Six dumbest ideas in computer security. Funny, and true.
Of course nothing could be complete without 10 more CSS tricks you may not know, a collection of CSS tricks to work around broken browsers and do some funky retro-kitch.
The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme

habla español?

| No Comments
It turns out that ABC in the good old USA will be releasing all their new prime time shows in both the Spanish and English languages. This means a lot, as it implies that they are finally accepting the fact that there is a reasonably sized Spanish only speaking audience that they need to address.
Of course when we compare it with the muppet in Ireland who insisted that the Irish language is now a full language in the EU. This means that every document has to be translated to Irish. There must be a translator who can speak Irish in most major meetings that are being held in Brussels. As a side note, many meetings are held using only English and French, as these are the two 'base EU languages'.
Previously to this, Irish was a second-tier language, some documents were translated to Irish, and there was no need to have an Irish translator at any of the meetings.
Honestly, I think it is one of the biggest wastes of money that the EU has to go through. There will probably be no Irish job created for this as most Irish translations are performed in the lower-cost translation countries such as Spain.
Another side-effect is that all the place signs in Gaeltacht areas are only in Irish. All very fine and well you might say, the locals will know the names themselves and the tourists will be able to guesstimate the translation from their maps which are all in English. The problem is that a lot of Irish place names have no connection to the English name. The English names are colonial names, the Irish names are the real place names. Virtually every sign in the country is bilingual until you reach the Gaeltacht, then it all fades to pure Irish.

Newstalk 106's quote of the week.

From the Newstalk 106 web site.
Restaurant critic Helen Lucy Burke joins Damien Kiberd on Wednesday’s Lunchtime Show and caused a lot of listeners to nearly choke on their chicken rolls by revealing some rather disgusting facts about the production of chicken…
Damien "What kind of practices are being used in relation to the production of chickens?"
Helen Lucy "Lets start with the food they’re giving them. Now, I can’t state what every chicken raising station over here is giving them but I can tell you what the New York Times has recently exposed the American Chicken Industry as giving them. It consisted of – ‘Mad Hen’ here we come - the ground up carcasses of chickens themselves; the feathers, the beaks, the bones…"
Damien "They’re turning the chickens into cannibals basically…"
Helen Lucy "Yes. They’re also giving them the mechanically removed meat from beef carcasses. And then, just to round it off into a nice little cocktail that everybody would appreciate, it’s held together with dollops of cow dung. Cow Shite."
Damien "You’re winding us up".
Helen Lucy "No!"

A note for those who care

SATANISTS! This weekend is your last chance to conceive if you want He Who Walks Backwards' child born on 6/6/6. Any later and to be out then he'd be premature and perhaps a bit weedy.
Thanks to Ruairí for the reminder.
[Listening to: 09/08/05 Majority Report - Air America Podcasts - Majority Report - Air America Radio (1:53:20)]

Old Grey Mare

| 1 Comment
The memory ain't quite like it should be, I've got this slight problem with the protocols around the 20-25 mark. It's 20, 21 for ftp, 22 for ssh, 23 for telnet and 25 for smtp.What I'm wondering is who's on 24? Apparently this port has fallen off the protocols use list. It's been taken by the any private mail system, which I don't think exists. Considering it's one port shy of smtp, that kind of explains it just a tad. The only problem I've never encountered anything legitimate that has made use of this port.
Dodgy power supplies can cause problems with network switches. Given a choice, I'll take a level 2 over level 3 switch for local networks. The reason is quite simple - when you have a level 2 switch when the power fluctuates and the switch resets it doesn't have the annoying tendency to reset all the effing network connections on the network; whereas with the level 3 switch it has the annoying tendency to tell everything on the network that the connection has been reset. A bit like the Sun network terminal servers - the default configuration causes them to send a 'brk' to each of the connected machines if they are switched off and on. The best workaround we had when we had to move an NTS was to unplug all the machines, move the NTS and plug it back in. Because the machines weren't sent to the OK prompt, they were able to work just fine for the 45 minutes it took to move the NTS.

iTunes text artifacting

There's a small visual hiccup with the latest iTunes (version 5). I don't know if it's my use of ClearType for the display, or what, but when I retab into itunes it seems to suffer from the artifacting until a repaint is forced.
These images have been doubled in size from what's on the screen. The first one has the ghosting/artifacting.
has ghosting
The second doesn't have the ghosting.
No ghosting
It's not me, I'm certain I can see the artifacting, I'm almost completely convinced that it's cleartype, as I had a similar problem with gvim and, of all things Delphi when I used TrueType and OpenType fonts. The fix for that software was to use a fixed-face font.
Ok, that's definite then. I installed the Microsoft ClearType tuning wizard, and poked the configuration until I was happy with it and I can't see the artifacting any more. What I'd like to know is why Microsoft don't ship this in the control panel, because damn, but it makes me much happier with cleartype.
[Listening to: Cracked Actor - David Bowie - Aladdin Sane (3:01)]

New 'features' with iTunes 5

In the beginning there was the iPodService and the GearService. Along with the iPodService, there was the iTunesHelper, which in theory speeded up the launch of iTunes (yeah right), but is really to allow the 'auto start iTunes when this iPod is plugged in' option to work, along with supressing the auto-start handler for the iPod when it's plugged in. Later releases of iTunes stopped shipping with the GearService, which meant one less thing running under the hood, but now iTunes 5 ships with a new feature: 'Bonjour Service'. This is zero configuration networking in action. My problem is that it's another Network service running on my machine. I'm of the impression that every open port is another potential way in for crackers and other not-nice people. The feature of talking from one iTunes library to another was embedded into the application, but now a large piece of this feature has been handed off to this new service.
[Listening to: 09/07/05 Majority Report - Air America Podcasts - Majority Report - Air America Radio (1:53:15)]

Scariest creatures in TV

Well before the Borg, well before the Replicators there were the Daleks. These without doubt were the single scariest monsters in TV history. Over many years they unleashed their own brand of hell on the universe. These creatures were without mercy, without emotion and with one thing on their minds - the extermination of anything living thing other than themselves. They upgraded themselves constantly, but the constant for the Dalek was the shape they held, and their plunger and gun at the front.
Their creation is explained in the Dr. Who tale Genesis of the Daleks. After a thousand year war a scientist by the name of Davros created the Daleks as a container for the Kaled race, or at least what was going to become them after several million years of evolution. This scientist was not happy with the fact that the creatures were going to still possess such trivialities like emotions, so he genetically modified them to eliminate all emotion. The result was then governed by a computer program built into the machine that was a Dalek's exoskeleton.
Of course all creators get their just desserts. Given a program which only permitted the Daleks on top of the food chain, they of course decided that as Davros was inferior, he must be exterminated.
The final destruction of the Daleks was supposed to have happened at the end of the great time war, where the Daleks and the Time Lords fought for the ultimate salvation of the universe. This of course was scotched by the 2005 Dr. Who episode Dalek which tells the tale of the last of the Dalek race. If there ever was an episode that deserved an Emmy, that would be the one.
As for me, practically every time I hear the refrain 'Exterminate, exterminate' it sends a shiver down my spine, for it means that they are coming, and you'ld better pray for the Doctor.
[Listening to: Katamari Damacy - Lonely Rolling Star - - (5:44)]

Slow on the pickup

While I was nosing around the Adobe Updater software (just getting to the program), I notices that it was using the boost thread library. Boost is a collection of peer-reviewed, portable C++ libraries. They have a threads library that works for several several platforms, helping hiding some of the yuckiness of the platform specific issues (and believe me there are quite a few).
[Listening to: Comedy in Music, Part II, Requests (a-j) - Victor Borge - Live (!) (14:25)]

Softice Detection

Short, C code:
bool
IsSoftIceLoaded() {
    HANDLE fh;

    fh = CreateFileA("\\\\.\\NTICE", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    if (fh != INVALID_HANDLE_VALUE) {
        CloseHandle(fh);
        return (TRUE);
    }
    return (FALSE);
}
If you want to detect a regular debugger, then you can use IsDebuggerPresent(), it's part of the PSDK.

The 3 variable Funny Test

the Cutting Edge
(76% dark, 42% spontaneous, 10% vulgar)
your humor style:
CLEAN | SPONTANEOUS | DARK


Your humor's mostly innocent and off-the-cuff, but somehow there's something slightly menacing about you. Part of your humor is making people a little uncomfortable, even if the things you say aren't themselves confrontational. You probably have a very dry delivery, or are seriously over-the-top.

Your type is the most likely to appreciate a good insult and/or broken bone and/or very very fat person dancing.

PEOPLE LIKE YOU: David Letterman - John Belushi

cutting edge

The 3-Variable Funny Test!
- it rules -

If you're interested, try my latest: The Terrorism Test



My test tracked 3 variables How you compared to other people your age and gender:
free online datingfree online dating
You scored higher than 98% on darkness
free online datingfree online dating
You scored higher than 39% on spontaneity
free online datingfree online dating
You scored higher than 0% on vulgarity
Link: The 3 Variable Funny Test written by jason_bateman on Ok Cupid

From Fintan

| 1 Comment
Fintan pointed out that there are T-shirts for the County of Kerry. Considering the number of People's Republic of Cork T-Shirts there are I'm happy to see that there are Langer Free Kingdom of Kerry T-Shirts.
[Listening to: Want Me. - Red Delicious - Emotional Blur (04:29)]

About this Archive

This page is an archive of entries from September 2005 listed from newest to oldest.

August 2005 is the previous archive.

October 2005 is the next archive.

Find recent content on the main index or look in the archives to find all content.