The odd bit

Once is an accident, twice is a coincidence, three times is an enemy action.

The odd bit - Once is an accident, twice is a coincidence, three times is an enemy action.

Krëfel service: een nieuw dieptepunt

Het verhaal begint op 13 oktober 2012. Toen kochten wij een koelkast bij Krëfel. Niets speciaals, een tafelmodel dat onder het keukenblad past. We hadden vooraf eens op de site gekeken, hadden een model gevonden en daarbij stond duidelijk vermeld dat de deur omkeerbaar was (vandaag 14 maart 2013 staat dat er nog steeds bij).

Eenmaal thuisgekomen met de koelkast blijkt dat de deur aan de rechterkant draait terwijl het voor ons handiger is als ze aan de linkerkant draait. Geen probleem! Ik neem de handleiding erbij en begin de deur te demonteren om ze vervolgens aan de andere kant te bevestigen.

Probleem #1: Het scharnier van de bovenkant kan niet gebruikt worden aan de linkerkant van de koelkast. Er zit namelijk een metalen pin in het scharnier en die haakt in een opening van de deur. Om het scharnier links op de schroefgaten te doen passen, moet het scharnier omgedraaid worden… waardoor de metalen pin naar boven wijst en dus niet meer in de deur kan.

Geen probleem! Ik kijk wel even in de verpakking. Daar zal wel een ander scharnier in zitten.

Probleem #2: Geen scharnier voor de linkerkant te vinden…

Dan bel ik even naar de winkel waar we de koelkast gekocht hebben.

Probleem #3: Blijkbaar moest de kant van de deur vooraf vermeld worden en dan had men de koelkast zo geleverd. De verkoper heeft ons dat toen helaas niet gevraagd en vermits ze als omkeerbaar op de website stond gingen wij ervan uit dat we dat, zoals meestal, zelf konden doen.

Na veel vijven en zessen wil men uiteindelijk het andere scharnier als wisselstuk bestellen. Een wisselstuk leveren duurt helaas minstens 20 werkdagen (!!). Ik heb medelijden met alle klanten die met een defect te maken krijgen… op die tijd kan normaal gezien iets een paar keer de wereld rond.

Probleem #4: “We bellen wel als het wisselstuk binnen is”. Als een zin begint met de woorden “We bellen wel…” is het meestal een leugen. Die stelling is in dit geval helaas ook geldig.

Na ongeveer 30 werkdagen en zelf een paar keer te bellen is er eindelijk nieuws. Het wisselstuk is eindelijk binnen. Snel naar de winkel om het wisselstuk te halen en…

Probleem #5: Ze hebben gewoon nog eens hetzelfde scharnier geleverd *zucht*. Bij nadere inspectie staat het zelfs al op de verpakking, evenwel in het Duits (“Rechte Seite”).

Terug naar de winkel, terug een bestelling van een wisselstuk dus – jawel- nog eens 20 werkdagen wachten.

Probleem #6: Deze keer krijg ik wel telefoon met de mededeling dat het gevraagde wisselstuk niet bestaat! Ik vraag me dan af hoe Krëfel dan in godsnaam een model zou kunnen leveren waar de deur links draait. Na wat over-en-weer te bellen nodigt een medewerker me uit in de winkel om exact te tonen wat het probleem is want ze begrijpen het niet.

Ik neem de tijd om nog maar eens naar de winkel te gaan en het probleem te illustreren. De medewerker begrijpt dan eindelijk wat het probleem juist is en begint vanalles uit te pluizen om na te gaan of de deur effectief omkeerbaar is. De handleiding bevestigt dat (wist ik al) en ook alle gaten zijn aanwezig om de draairichting aan te passen (wist ik ook al). De medewerker geeft dan ook toe dat de deur omkeerbaar moet zijn en probeert nogmaals het wisselstuk te bestellen met een (hopelijk) duidelijkere omschrijving. Op dat moment is het al 19 januari 2013, meer dan 3 maanden na de oorspronkelijke aankoop.

Wisselstuk bestellen, dus weer eens 20 werkdagen wachten… en wachten… en wachten op een telefoon die niet komt.

Probleem #7: Op 7 maart 2013 nemen we nogmaals contact op met de winkel. Er is nog steeds geen nieuws ivm het wisselstuk. De medewerker belooft een e-mail te sturen om meer uitleg te vragen.

Op 8 maart contacteren we de winkel nogmaals om te informeren naar het resultaat van de e-mail. Blijkt dat de e-mail nog niet vestuurd was maar de medewerker zou het dan onmiddellijk doen.

Probleem #8: Op 13 maart bellen we weer eens naar de winkel. De e-mail was verstuurd maar “heeft wat vertraging opgelopen dus er is nog geen antwoord”. Die uitleg trekt nergens op en zeker niet als je zelf werkt als ICT’er.

Dus ondertussen wachten we al 5 maanden op een scharnier en meer en meer krijgen we de indruk dat we gewoon aan het lijntje worden gehouden. Ons geduld raakt stilaan op en we zullen in ieder geval twee keer nadenken voor we nog iets bij Krëfel zullen kopen.

Sitecore Web Service Pitfalls

I recently started an adventure involving Sitecore’s out-of-the-box web service. In fact, I didn’t know such a thing existed in Sitecore until I searched the web for information about accessing Sitecore from a process outside the ASP.NET runtime.

The good news is a web service exists. The bad news is the documentation barely exists. Apart from a document titled The Sitecore Web Service Reference Guide on the Sitecore Developer Network, you literally are on your own.

Thankfully, there’s no problem in getting it to work. The problem is actually using the web service.

Problem 1: Return values

The document describes – in nothing more than just a few words – all available methods. The return value is always of the type System.Xml.Linq.XElement but no part of the documentation shows what the return value actually looks like. After some debugging I found out the result always takes this form:

<sitecore>
    <status>ok|failed</status>
    <data>...</data>
</sitecore>

Problem 2: The documentation is wrong

Ouch! The documentation for the Save method tells us that it needs the XML representation of an item. A special note even points us in the right wrong direction:

You can obtain the XML representation by the GetXML method.

So you call GetXML, modify the XML to include your updates and then supply that XML to the Save method. Been there, done that and received the status ok reply. Woohoo!

… or not. Despite the OK from Sitecore I didn’t see my updated field value. Time to figure out what the Save method actually does using dotPeek. Upon inspection it seems the method expects an XML like:

<sitecore>
    <field itemid="{guid-of-item-to-update}"
           language=".."
           version=".."
           fieldid="{guid-of-field-to-update}" />
    <field ... />
</sitecore

That XML is completely different than the XML representation of an item! I changed my methods to produce the “new” XML format and… it worked :)

I really hope I don’t need to create a follow up post!

CSS: Love Hate

The slightly odd title is there for a reason. This post exists for a reason. I’ll explain both…

I’ve always struggled to remember the order in which hyperlink styles should be defined in a stylesheet. Hyperlink styles? Order? I’m talking about these (in alphabetical order):

  • :active
  • :hover
  • :link
  • :visited

They should be specified in the right order or things won’t work the way you’d expect them to. Here they are again but this time in the correct order:

  • :link
  • :visited
  • :hover
  • :active

I could go into details why this is the right order but I won’t :-) That’s not the purpose of this post.

The good news is that there’s a mnemonic to remember the order: LoVe HAte. For those not paying attention: mind the casing of the mnemonic!

So that’s the title of this post. But why? To keep me from googling each time I forget the order :P

Administrative shares in Windows 7

Those who have experience with NT-based operating systems on a network will certainly be familiar with the concept of administrative shares. If that doesn’t ring a bell, you access them like \\computername\c$. With this intro and the title of this post, you might be alarmed or enter panick mode fearing they might be gone in Microsoft’s latest OS iteration. Well don’t go into cardiac arrest because they are still there… but of course not without the odd problem.

Windows 7 still creates the administrative shares on install, but you can’t use them out of the box. First of all, you need to have File and Printer Sharing enabled. And the way to do that has once again been changed:

  1. Open the control panel.
  2. Go to Network and Internet.
  3. Go to Network and Sharing Center.
  4. In the left column, click on Change advanced sharing settings.
  5. There are two profiles. You probably don’t want this on when you’re on a public network so open Home or Work.
  6. Under the header File and Printer sharing, select the Turn on… option.

And now your administrative shares still don’t work :-P You’ve just completed step 1 which implies there’s at least a step 2 and here it is: you also need to change the registry.

  1. Click on the orb (= the round button with the Windows logo in the taskbar) and type regedit in the search box.
  2. Open the registry editor.
  3. Navigate all the way to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
  4. Right-click in the pane on the right side and add a new DWORD (32-bit).
  5. Give the new setting the name LocalAccountTokenFilterPolicy.
  6. Double click on that setting and give it a value of 1.

It’s probably wise to reboot after doing this, although it might not be needed. I’m not sure if it works straight away because I rebooted without trying.

Anyways, if you’re lucky you will be able to access administrative shares after performing these steps. If you’re unlucky, like me, doing all these things appears to have zero effect at all. Once again don’t panick, because there’s another hint/tip/solution coming your way.

Somewhere at some point during the installation or configuration of Windows 7, you will be asked to do something with a thing called Homegroup. It’s some weird new sharing tool that looks OK but isn’t quite what you’re used to. Once you have enabled that feature, you won’t be able to use the administrative shares. So the tip is: disable the homegroup feature.

  1. Open the control panel.
  2. Go to Network and Internet.
  3. Go to HomeGroup.
  4. Click on the blue link Leave the homegroup.

The popup dialog should point out itself, but I believe I picked to first option. Once I had left the homegroup, the administrative shares started working again.

I hope this post can help anyone who experiences the same problem.

Windows Vista: Explorer opens folders in a new window

Recently, Vista started opening folders in a new window even though “Open each folder in the same window” was selected in the folder options. Obviously something had changed but I didn’t know what. There were more indications that something was wrong, including:

  • Explorer opens folders in a new window, ignoring the folder options setting.
  • The Windows flag on C: is gone.
  • DVD-drives are labelled as CD-drive.
  • Trying to access a CD/DVD results in a Format blank disc dialog box.

Searching the internet resulted in heaps of complaints about the new window issue so finding the right fix wasn’t easy. It turned out that Internet Explorer 8 was the culprit. So there you have solution #1: uninstall IE8. Actually, that’s not a solution so I wasn’t satisfied :)

Another solution that I encountered a couple of times suggested to launch IE8 as administrator. Several users reported that this method fixed the problem, but it certainly didn’t fix it for me.

Eventually, I found a comment on the IEBlog with a list of 19(!) steps to fix it. Fortunately, and as noted in the comment too, step #11 seems to be the critical one. I was able to solve all issues mentioned above by doing this:

  1. Open a command prompt as administrator (right click -> Run as Administrator)
  2. Type: regsvr32 actxprxy.dll
  3. Click OK in the popup window.
  4. Reboot

And Vista was back to its normal self. YMMV!

Counterintuitive or counterproductive?

Do you ever get that feeling where a piece of software seems to make your life as a developer harder instead of easier? Well, I do but I’m not sure whether it’s the software or me.

I’ve worked with an open source content management system written in PHP for close to 6 years. In that timeframe, I got to know the little beast inside out. I knew the strong points of the product but more importantly I also knew the weak points and how to avoid/circumvent them. Anything I do with it just works and if it doesn’t I soon enough find out it was caused by a mistake on my part.

The new content management system is some commercial software written in .NET. I haven’t figured out why, but I seem to be in a constant fight with the software. I can’t have it working perfectly for 2 days straight. I do something, it fails… I finally get it working again and less than a day later it breaks again. Perhaps it’s the software, perhaps it’s me but I’m certainly not used to working with such flaky software. All I know is that it’s pretty frustrating at the moment.

Viewing Tip: Star Trek

I have collected all Star Trek The Next Generation and Star Trek Voyager seasons on DVD over the past few years. That’s a total of 14 Trek seasons which equals to an awful lot of minutes. I’ve watched every episode as I was collecting the seasons, but now I’m at a point where I’m wondering which episodes I’d like to watch again.

Instead of putting my own mind at work I decided to let Google do all the work for me. A blink of the eyes later, I was looking at a top 50 someone compiled. It’s a top 50 that includes all series, except Enterprise I think, but that’s not an issue for me. I just filter for TNG and VOY.

Looking at the list I’ve come up with a new plan: watch all episodes again and create my own catalog with my own ratings. That would be much easier to browse through than all those little booklets. And it also has the benefit that it can finally give me some real content for my web site that’s been in the works since… well, far too long already :-)

Milk Inc: Forever

It started with Milk Inc Supersized in the Sportpaleis in Antwerp to celebrate the 10th anniversary of the most popular Belgian dance group. It was supposed to be a one-time event, but it was such a success that they decided to do 3 concerts the year after. And because they came back, I also headed to Antwerp for Milk Inc Supersized 2.

That was nearly a year ago and back then they already announced Milk Inc Supersized 3 for this year. The event has been renamed to Milk Inc Forever because that’s also the name of their latest album. I’m going this Saturday to what will be the second concert from a total of six. I’m sure it will be one hell of a party :)

PS: And the damn commercials on the radio seem to make it an even longer wait…