BootCamp says “Can’t install the software because it is not currently available from the Software Update server”

If you see this error message when trying to install bootcamp:

  • Press the back button and try again
  • Wait half an hour/day/month and try again

IIS Express : Run a child web application in a virtual directory under a parent application

Like this: Edit your IIS Express config file at

"%userprofile%\My Documents\IISExpress\config\applicationhost.config"

Create a site which has two applications defined in it, e.g.

<site name="MyTopLevelAndChildWebAppsInOneSite" id="123" >
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\me\Source\TopLevelWebApp" />
    </application>
    <application path="/Child" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\me\Source\ChildWebApp" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:51234:localhost" />
    </bindings>
</site>

And then run the site, matching it on the siteid:

start "Woo!" "C:\Program Files (x86)\IIS Express\iisexpress.exe" /siteid:123

Browse to, and close, your web apps in the usual way from the IIS Express icon in the systray.

Optionally, experience the pain that is web.config inheritance. But try not to.

Improving the accuracy of software project estimates: multiply everything by 3

I found when I’d worked in software for a couple of years that everything I delivered took me about three times longer than I expected.

Eventually I realised that my ‘gut feel’ for estimating a coding task was ‘about how long will it take me to code this if I make no errors & get it right first go’. Which is a good starting point for an estimate, so long as you then go on to add testing, debugging, changing or misunderstanding requirements and time to release.

If you have stable requirements and a pushbutton deployment toolchain, then 3 x gut feel is may be about right. That covers clarification of requirements, testing, subsequent clarification of misunderstanding, and deploy.

If you haven’t got those things, x5 or higher is usually closer.

I notice that others have found something similar. I’m please to find that multiplying by 3 puts me about 4.7% ahead of the curve – http://alistair.cockburn.us/The+magic+of+pi+for+project+managers.

Build mod_jk for centos

I reduced it to a script:

#!/bin/bash
# Build the mod_jk apache tomcat connector from src tarball and install it
#
set -x
srcball=$1
if [ -z "$srcball" ]; then
echo The source tarball was not given - expected something like \"tomcat-connectors-versionxxx-src\" to be passed as parameter
exit 1
fi

pushd /tmp
curl http://mirror.rmg.io/apache//tomcat/tomcat-connectors/jk/$srcball.tar.gz -O

if [ ! -f /tmp/$srcball.tar.gz ]
then
echo $srcball.tar.gz not found in /tmp/. Couldn\'t build mod_jk
exit 2
fi

tar xvf $srcball.tar.gz
cd $srcball/native
./configure --with-apxs=/usr/sbin/apxs
make
cp ./apache-2.0/mod_jk.so /etc/httpd/modules/
popd

Sadly, the page whence I got my info has shuffled off its mortal coil and departed this interweb.