Category Archives: Uncategorized

2013 in review

The stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

A San Francisco cable car holds 60 people. This blog was viewed about 1,400 times in 2013. If it were a cable car, it would take about 23 trips to carry that many people.

Click here to see the complete report.


2012 in review

The stats helper monkeys prepared a 2012 annual report for this blog.

Here’s an excerpt:

600 people reached the top of Mt. Everest in 2012. This blog got about 3,000 views in 2012. If every person who reached the top of Mt. Everest viewed this blog, it would have taken 5 years to get that many views.

Click here to see the complete report.

How I Beat Repetitive Stress Injury (RSI) with a Few Minor Adjustments – from ‘Henrik Warne’s blog’

Early in 2005 the muscles in my forearms started to hurt. In the beginning it was only a slight irritation, but over the course of about six months it gradually got worse, until it was so bad I actually thought I would have to switch careers  and stop programming altogether. I realized fairly quickly that I had RSI – Repetitive Stress Injury. Fortunately, through a combination of actions, I managed to get rid of the pain, and I am now completely recovered.

After about a month of pain I went to see a doctor. He thought my joints were inflamed, and gave me anti-inflammatory pills (which did not help). A little later I went to see a specialist, and after some tests he concluded that there was nothing wrong with the nerves in my arm. However, he could not answer how I could get rid of the pain.

I also went to see a number of physical therapists, and tried many different exercises (e.g. weight training), as well as acupuncture and heat treatment. Nothing helped. It was also pretty clear to me that my problem was something they had not previously encountered.

So I started doing my own research on the web, and tried different things. I read the book “It’s Not Carpal Tunnel Syndrome! RSI Theory & Therapy for Computer Professionals” by Jack Bellis and Suparna Damany, which I thought was pretty good.

I also experimented with many different kinds of mice and keyboards. I found that the Goldtouch split keyboard and a gel-filled wrist rest works well for me. The split (and angled) keyboard allows my hands to stay at a more natural angle when typing. The mouse I use is an Ullman Penclic Mouse. You hold it like a pen and move it like you move a normal mouse. Since I hold it like I hold a normal pen, I don’t have to turn my hand like I have to when gripping a regular mouse, and this helps a lot.

I also did 10 sessions of rolfing (yes, that’s rolfing, not golfing), which I feel also helped in relieving my muscle pains.

But the biggest part of the solution for me was starting to use a break program  that forced me to take regular breaks from typing – before I would program for hours without breaks. At the time I was using Linux, and it was not easy to find a program that worked for Linux. Eventually I found a really great one called WorkPace. I set it up to force me to take micro-pauses for ten seconds every five minutes, and longer breaks (with exercises) every 45 minutes.

A few years ago, when changing jobs, I switched from Linux to Windows, but I kept using WorkPace. Recently (without changing jobs) I switched to using a Mac, and unfortunately WorkPace is not available for Macs. After some testing I switched to using RSI Guard instead, which is comparable to WorkPace.

I believe that the break-program together with the ergonomic keyboard and mouse really saved me. Over a period of about six months, my problems gradually disappeared, and I can now work without problems.

In the hindsight, it feels pretty obvious that you should treat the cause and not the symptom (just like when fixing bugs). However, none of the doctors and physical therapists I saw realized this. Instead, they were all in one way or another treating the symptoms. This was six and a half years ago, so there may be more awareness today about RSI and computer-related injuries, but you never know.

So my advice is that if you feel any pain when typing, do something about it right away. Don’t ignore it and hope that it will go away by itself, because it most probably won’t. Most people have no problems, and therefore do not pay much attention to ergonomics (why should they – they have no problems). But I was programming for more than ten years without problems, and then it started to happen. It’s called Repetitive Stress Injury for good reason – it is the many repetitions of the same movement over many years that cause the problems.

In my case, the combination of a break program, an ergonomic keyboard and mouse made all the difference – without that, I would probably not be programming today.

Philips creates computer monitor that corrects posture, encourages breaks



Since people are spending more hours in front of computer monitors each year, Philips has developed a new technology designed to encourage healthy behavior while staring at the screen.

Announced by Philips recently, the consumer electronics company has developed a new 24-inch computer monitor that’s designed to offer feedback related to ergonomics. Called the Ergosensor, the desktop LCD monitor uses a built-in CMOS sensor to measure user distance from the screen in addition to the angle of the user’s neck. When the user slouches, software developed by DigitalOptics Corporation will remind the user to sit up straight or move an appropriate distance away from the screen. In addition, the software also offers advice on the best times to take breaks from staring at the monitor and move away from the screen for a while to take a walk.

ergosensor-viewingFor users that prefer to slouch a bit after a long workday, the monitor’s base allows the user to adjust the height, tilt, swivel and rotation angle of the screen. The software can also be adjusted to lower the amount of warnings that appear when posture changes throughout the day.

Beyond the information on ergonomics, the Philips Ergosensor also has an interesting power-saving feature that employers may appreciate. When the user stands up and walks away from the monitor, the CMOS sensor detects this action and powers down. The opposite action occurs when the user returns to the desk and sits down.

Philips has also included a 0-watt power switch on the back of the monitor that cuts all power from the monitor in order to further reduce power consumption in the home or office. According to company officials, all Ergosensor models have been developed out of “a minimum of 65% post-consumer recycled plastics” and the monitor can be recycled when it’s time to replace the model. Philips hasn’t set a date when the Ergosensor will be available in the United States. However, it’s currently available in Europe and costs approximately $375 for the 24-inch model.

Setting up a Local Mail Server for a SharePoint Virtual Machine on Server 2008

The only way to do software development for SharePoint is really a Virtual Machine. Yes, with SharePoint 2010 you can install it on Windows 7 and Vista and with some hacking you can get SharePoint 2007 to run on Vista. However I’m talking about real development for real men (and women!). For that we setup virtual machines (VMs) and usually run the whole SharePoint stack on it (SharePoint, SQL Server, Visual Studio, SharePoint Designer, Office, etc.).

One of the key advantages of running in a VM is the ability to run your SharePoint server as a domain controller (or at least connected to one) where you have ultimate control over it. This allows you to practice safe installs, spin up an environment with exactly the same OUs as your production environment, use the same account names, etc. all without having to peeve off your friendly neighbourhood domain admin.

The last piece of the isolated puzzle is getting mail working. SharePoint supports both mail out (alerts, etc.) and mail in (email enabled document libraries). However for this trick you need a mail server, or an incredible simulation of one. Very often people go to the trouble of installing a copy of Microsoft Exchange which falls into the bazooka-to-swat-a-fly realm. Exchange is big and heavy and a bugger to configure and run, all for what? A few emails that trickle into your VM and to an administrators mailbox?

Here are two options that will prevent you from setting up an Exchange server, which should only be left for those with a desire to hurt themselves.

Do you really want to hurt you?

Server 2008 SMTP Server

First up is the Windows Server 2008 SMTP services. If you’ve installed Server 2003 you know that it came with a SMTP server and it was pretty easy to setup (here’s a great walkthrough). With Windows Server 2008, there’s no longer a Mail Server role but you can still install the SMTP services.

SMTP services are now a “Feature” (not to be confused with SharePoint Features). Open up Server Manager and under Features select Add Feature. Select the SMTP Server option, click Install and go have a short siesta.

SMTP Server as a Feature!

Now what can you do with it? Not much but if you want to do anything, you have to install the IIS 6.0 Management tools (a disadvantage of one tool requiring legacy features, just one of the many with the SMTP service). Once you have the IIS 6.0 tools installed, you can cry a little. I did. Then launch the IIS 6.0 Manager, cry again, and you’ll see the SMTP services in the tree. Right click on the menu to bring up the SMTP properties.

I want nice things...

Select Relay under the Access tab:

Go ahead, add a relay!

Select “Only the list below” and click Add:

Just the list, nothing else

Enter for your local address:

There's no place like

So now you have a local SMTP service that will relay messages from the local system. Splendid. However this is only for SMTP. What about POP3? That’s where it gets tricky and frankly, this blog is not going to go to that bad place. I did manage to find a POP3 “extender” for Windows Server 2008 so you can explore that here and give it a shot. However that gets you part of the way there and there’s still the issue of adding domains, only having unauthenticated users, and IMAP… well. All of these add up to a big headache to configure and while SMTP services is a far cry from the bloat that is Exchange, there are other sane options.

Sidebar: You might be wondering why I walked you through the setup of SMTP services only to direct you somewhere else. Hey, I’m all about free choice so if you’re happy and you know it then clap your hands and stick with SMTP. If you want to live like the rest of us do, read on.

So Exchange is out (unless you really enjoy chewing up 4GB of your precious VM just to deliver mail) and SMTP services have left a bit of a bad taste in our mouths. What else is there?


I stumbled across this server tool accidently sometime in 2005 or something. I can’t remember exactly but it was a pre-beta that worked well. It’s a complete mail server for Windows and can run on XP, Server 2003, Server 2008, Vista and Windows 7. It supports all the basic protocols (IMAP, SMTP, POP3) and does what it should. Deliver email.

I just install stuff

On top of delivering mail it supports mapping to domain accounts, having your own accounts (username/password), security, auto out-of-office messages, mailbox limits, customization out the ying-yang, and all sorts of options and gadgets. The brilliant part of the system is that it’s easy to setup and get running (add your domain and you’re done) but you can have your cake and eat it too. Run it stripped down and simple or load up all options to make it that much more filling.

Best of all, it’s totally free (as in beer). And hey, if you want the source code is available up to version 4.x (the current version is 5.x and closed source).

You just download and run the installer. Takes about 1 minute (literally) and it’s up and running. It comes with it’s own embedded database (used to be an embedded version of MySQL but later versions now ship with SQL Server Compact Edition which is just a single DLL) to store the configuration and emails.

Don’t get too choked up in all the options. There are many but it’s the simplicity of this tool that makes it shine and since it supports POP3 and SMTP (along with IMAP) it’s almost like having Exchange running. If you do decide to turn on logging, add multiple domains and security, forwarding, etc. it’s all built in. Nothing to download or add-on. All the nice additional wrappers sent by SharePoint to Outlook are intact so you can still interact with your SharePoint system from your email client. The only drawback is there’s no calendaring element so that’s out, but otherwise it’s all good to go for any budding SharePoint developer (or anyone that wants to debug emails going through a system).

Security, security, security

So really. This is one of those things I have in my toolbelt when it comes to SharePoint and I don’t setup a server without it. It’s a breeze to setup, free, and does everything you need it to for your virtual environment except feed the cat and impregnate your daughters (or is that the other way around?). Check out hMailServer and give it a whirl.

SharePoint: How To Configure Scripts to Run Automatically in Task Scheduler

  1. Logon to the Windows 2008 R2 Server as Administrator.
  2. Navigate to Control Panel.
  3. Double-click on Administrative Tools.
  4. Double-click on Server Manager.


  5. Right-click on Task Scheduler, and click on Create Task.


  6. In the General Tab, type a preferred name of the script.


  7. In the Description field, type in the required description.
  8. Click the radio button Run whether user is logged on or not, so it is selected.
  9. Click the Triggers tab.


  10. Schedule the task as per the requirement.
  11. Click OK.
  12. Click Actions tab.


  13. Copy and paste the following line in Program/Script field.


  14. Copy and paste the following line in Add arguments(optional) field.
    • NoLogo -NonInteractive -File "F:\location of the script\Script Name.ps1"
  15. NOTE:
    • Replace the location of the Script with the exact location where the script is located.
    • Replace the Script Name.ps1 with the name of the script file.
  16. Click OK.
  17. Click on the Settings tab.
  18. Click the check box Stop the task if it runs longer than, so it is unchecked.


  19. Click OK.