Friday, 20 May 2011

Ubuntu 11.04 install is, err, quick...

Kind of a follow up to my last post on using a VM to run Ubuntu for all my desktop stuff. I freshened it up to 11.04, and the installer required all of (and I did actually count them) 6 clicks. It's been a while since I've done a Windows install, but I'm pretty sure even Win7 (which is nice) -- needs 14 or more.

I wonder how long an OSX install takes? I guess I'll never know... :-)

Well I thought it was nice at least. 6 clicks, and I have a full install, sensible partitioning, admin accounts setup, all the post-release updates installed, and a minty fresh install -- ready for me to destroy! Plus, with all my account data synced across machines -- it's instantly got all the goodies I need to make use of it.

About the only improvement I could suggest is adding a Tetris game while you install -- ala DVDFlick...

Actually, maybe a tower defence clone would be better?

The install took 3 hours! -- 5 minutes for the file copy, and 2:55h for me to battle the hordes in stage 11 of tower defence!

Thursday, 18 November 2010

After a month living with a GNOME, I don't feel any taller

In an experiment to see what it would be like to take a full plunge into Windows-free-living on the desktop, I put myself on double secret probation to see if I could live without my Windows trinkets for 30 days, and 60 if I could stretch it. (At home though - at work would be a whole new challenge)

So in through the window comes the penguin...

The highlights so far are:

  • Ubuntu 10.10 installer (for the desktop) is a very neat bit of kit. While I haven't actually tried it - I think it stands an excellent chance of passing the "even my mother could install it" test. I wouldn't dare let her try a Windows install.
  • The baked in sync features of Chrome make it easy peasy to keep all your browsers at work and home in step. With the added benefit that I can expose all my personal details to Google to harvest for fun and profit (ho hum).
  • A VirtualBox install of Ubuntu Desktop is hands down, the fastest, snappiest desktop VM I've  used. Windows XP was usable, Windows 7 was better, but it's waaaaaay faster than that.
So far, so good...

Saturday, 25 September 2010

"p" is for "please don't sue me"

Duck! Duck!


...minutes pass...


Cat! Cat! (giggles)


...a little while later...


Bee! (squeals)

I thought I had picked up all the kids picture books lying around the floor. I double checked - yup - no picture books. Yet our daughter was making all the fun noises that usually following a reading of picture books.

A little further investigation reveals she has got hold of a Linux magazine I bought on a whim.

Turns out this is a Duck...

a fair mistake - any bird is classified as "duck" at the moment.

This is a Cat...

getting a little harder to see the association now.

And this is a Bee...


Turns out these mags are great for kids (and cheaper than most picture books). I was thinking of trying a Mac magazine next. So she can go for the traditional "a is for apple" - but I'm worried of copyright or trademark infringement.

Wednesday, 10 February 2010

A belated link-blog lament

A few weeks ago, Arjan Zuidhof officially shutdown operations on his great .NET (and development in general) link-blog. It was not a huge surprise; it was alluded to it back in August. He's now concentrating solely on productivity, gtd and lifehacking. While these are also great topics (and still hold a personal interest for me), I will miss the great development content and ideas the posts inspired.

From the back row: "Gee, that's sad. Blogs come and go, get over it man!"

True enough, but... I couldn't help make a loose connection between this and a fairly hot topic raised on DNR - Is software development too complex? back in November. It spawned a huge series of follow ups and comments (both for and against). But it's hard to argue that the number of CLI languages, data access choices, logging frameworks, etc, etc (ad infinitum) are reducing. When you start a new project, which one to do you choose? Which one is "right"? Which one will still be a good choice in 2 years? In 2 minutes?

Q: There's a huge amount of choice out there, and it's constantly increasing! What are we to do?
A: (That guy from the back row is still here) "Get over it man!"

This is a great time for .NET development. The platform is mature, popular and stable. The huge variety of technologies available within that platform are a sign of this. Sure you will pick technological dead-ends, or the next-shiny-thing will seem so much better. But perhaps this helps focus the effort on design - being able to back out of dead-ends, or support switching to the next-shiny-thing.

I just hope the (seemingly) overwhelming choice is not driving talented people (like Arjan) away from the .NET platform. I honestly don't think so - but for a brief moment the connection was made in my addled mind.

Maybe a fitting salute to Arjan's contributions is to select some of the gems (there's plenty more):




Dammit! - Now I've started a link-blog!

Wednesday, 5 August 2009

There's a bear in there, people with games, stories to tell and box of balloons with a featherlight touch


I was watching Play School today with my daughter - enjoying the crowd favorites: Incy Wincy Spider, Clap your Hands, Sing a Rainbow. For the finale, we got a piano accompanied sing-a-long version of Madness's House of Fun. Perhaps not entirely appropriate (not that she can understand the lyrics yet); more of a gentle reminder that I'm old and out of touch, and things aren't going to change :-).

I'm trying to recall if they had anything similar when I was watching it as a kid? I think I remember Little Ted and Humpty Dumpty on a cardboard barge floating down a crepe paper river chanting "no future". Then again, maybe it's my shoddy memory...

Tuesday, 19 August 2008



(sigh) It just made so much sense today...

Tuesday, 5 February 2008

Vista reparse shenanigans with rsync

As part of my backup script overhaul, I have switched to using rsync. The main reason is I now have to support Windows XP, Vista, Linux and maybe Mac in future; and I don't fancy re-doing all this backup stuff each time.

The good news first: rsync works a treat on Linux (well duh!) and XP (via cygwin). I was extremely happy with how easy to configure and quick to run the Linux and XP backup's were. But it seems I was fooled into a false sense of security...

I tried running exactly the same rsync script (that worked on XP) on Vista and was greeted with a slew of errors, the most confusing being:
rsync: /cygdrive/X/your-file-here: Permission denied (13)
Initially I thought it was the old Vista UAC playing up. But I confirmed that I had disabled UAC. The "permission denied" in this case, was a red herring. The real problem was the reparse points. These little symbolic links are available in XP, but not used much. But in Vista they really went to town, and scattered them all about the file system like the Easter Bunny hiding eggs.

rsync (well more likely the way it works with cygwin) is not too happy about reparse points, and after more careful inspection of my "Permission denied" errors, it turns out they were all on reparse points.

My hack to get around this is pretty simple. The backup script, just before running rsync, generates a list of all the reparse points and tells rsync to exclude them. Thus rsync never encounters a scary directory it doesn't know how to deal with.


VER | findstr /i "6.0.6000" > nul
IF %ERRORLEVEL% EQU 0 GOTO backup_vista

...rest of script...


backup_vista:
REM (dir) build a list of all the reparse directories
REM (sed) swap around the path separators

REM append to a file to use in rsync

dir c:\Users /A:LD /S /B | sed "s/c\:\\/\//;s/\\/\//g" >> exclude.local.list

dir c:\ProgramData /A:LD /S /B | sed "s/c\:\\/\//;s/\\/\//g" >> exclude.local.list
rsync options --exclude-from=exclude.local.list /cygdrive/c/ destination
...rest of script...


It's not pretty, but (to quote Mr C. Monster) "it's good enough for me".

For bonus points, you could keep a copy of the reparse point list, and for a restore resurrect them all. I don't need this.