Windows

When I first heard about LiveWriter I did not really see myself using it but now that a lot of bloggers on my blogroll are raving about it I thought I would give the thing a spin.

It does offer a better writing experience than working in a web page but I keep feeling so disconnected from my blog; writing from an external program. It feels somewhat like steering a radio controlled vehicle coming at you

Setting up works beautifully however.  I was able to configure my (somewhat older) WordPress installation with no problems besides me forgetting the correct password. After I few tries I found it and everything else worked like a charm.

I am missing my post categories though. It seems LiveWriter is not aware of WordPress’ categories so I will have to assign them using the WordPress admin later. This is somewhat unfortunate.

One thing that is a major show stopper for me though is the fact that I can not find a reasonable way to write up code examples. On my blog I use Amit Gupta’s excellent iG:SyntaxHiliter WordPress plugin to light up my code snippets (indicated by square bracket[sourcename] tags but I need some line breaks between those tags and LiveWriter wants to eat them up. So for now, I still have to edit my posts manually if I want some nicely formatted code in there and the extra (non-formatted) HTML and that is inserted by LiveWriter does not make things easier.

It seems LiveWriter knows about the pre tag because when I use it in the HTML view and then switch to the Web Layout view it respects it. When I switch back to HTML view my new lines are still intact so it seems this behaviour is hacked; or worked-around like some may say. This does not really help me though because I need to use square brackets to indicate the highlighting to be used by the iG:SyntaxHiliter preprocessor and pre tags will not do.

There may be ways to work around this but I would really like it if I could map some abitrary tag strings to actual tags known by LiveWriter. In this case I could easily map the block bracket tags to pre tags so that LiveWriter would at least know to leave my formatting alone.

I guess that there will be some LiveWriter plugin able to provide syntax highlighting off-line so the HTML will be properly formatted even before it is send to your blog but I am not sure if this is the best approach. To me it seems right to have the preprocessor (PHP in my case) handle this job.

Continue reading “Windows”

Binsor

Holy cow, it seems my configuration woes are over!

Ever since I have stumbled upon the Castle project, the Castle.Windsor (I love that name) container has made regular appearances in a lot of my programming projects. Heck, I even built a component based data transportation library to learn how to use it. Unfortunately though, the more we (at our shop) are using it, the more configuration files are appearing all over the place, often with duplicate configuration settings. Seperating things up in include files may get you a little further but often you still wind up with a lot of wordy configuration files.

Luckely though, Ayende Rahien shares our pain and has found a great way to relieve it. Enter Binsor – Boo configuration for Windsor – bringing the fun back to Windsor component configuration!

I downloaded the Rhino.Commons source this weekend, played with Binsor a little and I am very impressed. I was already impressed after seeing the examples on his blog but after experiencing it myself I never want to configure my container with XML again.

Binsor depends on some changes that are not yet in the Castle trunk but you can still use it if you reference the Castle.MicroKernel and Castle.Windsor assemblies packaged with Rhino.Commons.

Continue reading “Binsor”

The

The notorious and famous ToolStripMenuItem class. Although it looks great in a strip it does not always behave like you think it should. It has somewhat a mind of it’s own.

The annoying thing with this class is that even when the ToolStripMenuItem is disabled, it still light’s up when you hover your mouse over it. I searched high and low and was affraid I had to pull of some black magic to get it to behave to my whishes but fortunately there is an easier (and much prettier) way:

[csharp]public class ProperMenuItem : ToolStripMenuItem
{
public ProperMenuItem(string text, Image image, EventHandler onClick)
: this(text, image, onClick, null)
{
}

public ProperMenuItem(string text, Image image, EventHandler onClick, Keys shortcutKeys)
: base(text, image, onClick, shortcutKeys)
{
}

public override bool CanSelect
{
// without this line the items still receive
// focus even though they are clearly disabled
get { return this.Enabled; }
}
}[/csharp]

I assumed more people must have wandered into this but all I found was a lone cry for help without any responses. So I wrestled with this class for a few hours (yes, pathetic, I know) and finally (by trial and error really) found an acceptable solution. Continue reading “The”

Random

Vacation is really over now.

Got my Visa Gold Card today.

I’m currently waiting for Corona running on my laptop and trying to import 114448 rows of classification data… With every hundred rows or so it takes longer and longer…

An almost complete joint is lying here next to me; patiently waiting for me to light it up.

There is also a Heineken bottle at the other side of the monitor. It is half full (or half empty depending on your point of view).

Yesterday I was really annoyed with my neighbours’ pet pigeon (again) so I cursed (at) them through an open window really loud. It does not help but at least it relieves some of the anger… The seem to yell back nowadays…

The Calibra is scheduled for an audio make-over next saturday.

Update 21:35: I’ve lit the joint. Continue reading “Random”

Complexity

Enterprise software tends to suck. Bigtime. It even has it’s own word: enterprisey. And believe me: it’s not a good thing.

Enterprise software tends to become complicated. Fast. Why? I’m a developer myself and at this level the most common reasons why things go wrong (in no particular ordre) are below:

  • Poor developers
  • Good but lazy developers with deadlines
  • Good but numb developers
  • Good but ignorant developers

I would place myself along the “Good but numb” crowd of developers.

There are also some things that may have went wrong even before it got to the developers:

  • Unclear requirements but clear deadlines
  • Conflicting expectations
  • Miscommunication about priorities

All from real life experience.

And all those things are not even that bad. There’s one other factor that is often not explictly mentioned in the textbooks but one that is of utmost importance and that is: enterprise software is all about people. And not only the people that have to use it in the end; the often so lovingly called end users. No, it’s maybe even more about management, project leaders, consultants, experts, developers, team leaders and just about every which person involved in the project.

It’s all about prestige and even at the point where the application is not considered to be useful anymore by its own developers because of all the conflicting requirements, there’s still a lot of prestige to be gained for the rest of the people involved by just delivering the seven figure baby and forgetting all about it.

I was to include it here but I am too far gone right now so I will blog about the wrong tools for the wrong job another time even though it is also a major factor to the failure of enterprise software. Continue reading “Complexity”

Mag-Lite

My old 6D Mag-Lite shines like never before. With some great help of Sven who not only got me a bitching krypton bulb but also took some time to print me a Mag-Lite design schema. Without it, it would’ve taken me considerably longer to realize I wasn’t missing the lamp retainer at all…

I immediately took the chance tonight and went out at dark to blast some light into the neighbours’ windows. I hope they can appreciate it. Continue reading “Mag-Lite”

Squeak,

It took a little bit of fiddling but Seaside2.6b1 and the latest Magma now seem to be running in harmony on my local Squeak image. Mainly for my personal reference but maybe it’s useful to someone else too, here are the steps I took to get there:

  1. Install the latest bleeding edge snapshot of Seaside, available here
  2. Install the latest Magma using the Monticello browser and the MagmaTesterLoader package from the MagmaTester repository at SqueakSource
  3. Again, using the Monticello browser, install the Magma seaside package from the same repository

At this point, I could see the Magma configuration panel in Seaside but everytime I tried to use a WAMagmaConfiguration I got “message not understood” errors from the WARenderCanvas. It turns out that the Magma-Seaside integration expects to find a Magma repository in a “magma” directory in your Squeak folder.

My Squeak is placed in C:\Squeak and I had created my repository at C:\Magma. However, a WAMagmaConfiguration calls MagmaLocalLocation default to obtain the default magma directory (this, in turn calls FileDirectory default fullNameFor: 'magma' which points to <squeakdir>\magma). So I just moved the C:\Magma directory to C:\Squeak\Magma and now everything is working perfectly. Continue reading “Squeak,”

2006:

Here at the geek house, 2006 has been officially declared as the “coaster season” so me and my brother bought season passes for three parks (so far) which together enable us to visit and park for free an unlimited times in about a dozen parks in Europe including:

I’m mostly interrested in coasters (as some of the newer thrill rides are a little too thrilling for me at the moment). Me and my brother are planning on getting as much coaster action as we can this season and I’m planning to post a detailed report on each and every park and coaster we visit. So far, we have been at least eight times to De Efteling, 3 times to Walibi World and 1 time to Bobbejaanland. Next weekend we’re going to Movie Park Germany and probably to one of the other parks I mentioned. We are also seriously planning to visit Europa Park, Port Aventura and Alton Towers as well as some smaller parks here in the neighbourhood including Toverland with the world’s first motor bike coaster “Booster Bike” (by Vekoma of course) and of course the somewhat infamous Disneyland Resort Paris (man is it hard to get a decent url for this place; try googling for it, you’ll see).

Just for kicks I listed all the coasters we’ve visited so far and it’s already a pretty nice list. Just for my personal ego-trip I’m including it with links to the Roller Coaster Database below:

Update 22-06-2006:

Update 29-06-2006:

Last weekend we went to Phantasialand (again) and also did the Winjas this time.

There’s another bunch of coasters that I’ve been on in my younger years but I’m not counting those as it has been almost a decade since I’ve been on one of those things. I’m only counting those that I’ve visited since April 2006, the start of this year’s season.

Update 25-07-06:
Well our vacation is over and it’s back to work. We did not make it to most of the further parks due to bad planning on our side. However, we did manage to pick up some more coasters… Nothing really spectacular but still – coasters:

  • Vampire (Vekoma)
  • Booster Bike(Vekoma)
  • Boomerang (Vekoma)
  • Mad Manor (Mack)
  • Speedy Bob (Mack)

Continue reading “2006:”

PowerShell

Msh, Mush and Microsoft Command Shell are no more. Monad has a new “Marquee” name and we all have the Microsoft marketing department to thank for it. Please say hello to the awfully named PowerShell and please try not to mess-up the carpet while you get sick looking at the changes.

Bah.

“Msh” or “Microsoft Command Shell” already did it for me; “PowerShell” just sounds too cheap and easy for me. I guess I’ll just have to keep calling it “Monad”. I can only hope Jeffrey and his team we’re as appalled as I was when I heared the news.

By the way, PowerShell is already a terminal emulator for X11. Continue reading “PowerShell”