Thursday, 24 March 2011

30 Days of Geek – Starting April 1st 2011

It seems I’ve been conned into participating in this challenge.  Thanks @NZCoderGuy, @JamesHip and @CyrisXD!

It is going to be hard.  I have a terrible habit of procrastinating like there is lots of tomorrows.  So trying to post something everyday is going to be very, very, very hard.

So, I’ll give it my best shot and will hopefully be able to keep up with the schedule below.

Day 01 – Why do you consider yourself a geek?
Day 02 – Preferred programming language?
Day 03 – What does your day job involve?
Day 04 – Greatest application written to date.
Day 05 – Quick nifty hacks you’re proud of
Day 06 – Primary geek fuel (snacks/drinks)
Day 07 – Preferred smartphone platform. And which do you use?
Day 08 – Preferred method of communication with humans
Day 09 – What OS/distribution do you run?
Day 10 – Picture, screenshot and specifications of your primary computer.
Day 11 – Favourite hacking environment – music, light, seating, etc
Day 12 – What area do you want to expand your skills into?
Day 13 – How did you become such a geek? Career? Personal interest?
Day 14 – Favourite computer conference?
Day 15 – Earliest geek experience
Day 16 – First computer you’ve ever owned & your favourite ever.
Day 17 – Post a useful HOWTO to solve a challenge you’ve come across recently.
Day 18 – Most cringe-worthy geek moment
Day 19 – Most hated computing environment.
Day 20 – Where do you stand on Internet Censorship?
Day 21 – Favourite thing & worst things about working in IT?
Day 22 – Release some software under an open source license that you haven’t released before.
Day 23 – Post a review of an application that you use.
Day 24 – How do you feel about Open Source vs Proprietary software?
Day 25 – Microsoft – friend, foe or other?
Day 26 – Apple – friend, foe or other?
Day 27 – Fix a bug in some open source software and commit the patch
Day 28 – How many computers lying about the house?
Day 29 – Looking back (at geek life), would you have done anything differently?
Day 30 – Where do you see technology advancing in the next 20 years – and where will you fit in?

Friday, 1 October 2010

It’s a Wonderful Life

One week ago my beautiful wife gave me a son.

Actually it was more like a surgeon removed my son from my beautiful wife, handed him to a paediatrician who cleaned him up, I ceremoniously cut the cord and then the paediatrician handed me my son and I presented him to my beautiful wife.  But that description seems a little less romantic.

Either way, we now have a complete family with the addition of Dean Patrick Harris, born on 22nd September at 3:34pm New Zealand time.  One whole week after his sister Serenity had her first birthday.

He weighed in at a very reasonable 4kg (8lb 15).  The odd thing is he is taller than his big sister, but his feet are a little smaller.  Though his toes do seem almost freakishly long.  You can find some pictures on www.facebook.com/blackmael/photos.

This time we ended up opting for an elective caesarean section.  As such, it was quite a different experience from Serenity’s emergency c-section.  Last year, after a 19 hour labour, rushing into theatre after being up all night was much more surreal. 

So tired.  So emotional, So stressed,

The whole procedure went by in such a blur.  You barely had time to think.  And I had the easy part.

This time around you noticed everything.

My wife noticed everything.

Last year, she was so tired the surgeon had difficulty keeping her awake enough to confirm if the epidural was working sufficiently to continue with the procedure.

Being fully aware of what was going on has a significant downside.  Of course for both Dean and Serenity, the main action was hidden from us behind a curtain.  But this year we had time to hear everything and the procedure sounded very different from what we remembered from last year.

The most noticeable sound was an awful lot of snipping.  A serious amount of snipping.  I don’t remember any snipping from last time.

Then there is the physical tugging and pulling.  I cannot imagine how that felt.  Dean is a longer than the average baby and it seemed the surgeon and her assistant had a little difficulty even pulling Dean out.

Eventually Dean was pulled from his warm home of nine months and was quickly presented to his parents over the top of the surgical curtain.  Suddenly it was all worth it.

All the pain and discomfort of pregnancy and surgery was instantly cast aside once we met our baby boy for the first time.

No more fears.  No more anxiety.  No more stress.

At least until the euphoria of child birth was worn off and we then have the fears, the anxiety, the stress of raising and caring for two children…

Wednesday, 8 September 2010

Email Attachments

Today I spend just a little too long trying to attach a in-memory Excel 2007 spreadsheet to an email.

I have recently started using ExtremeML to create Excel documents and today I attempted to go a step further and use the in-memory instance of the generated document as an attachment for an email.

It seemed straight forward, create a MemoryStream object and pass it to the routine in ExtremeML to fill it with the Excel document.  Then add the MemoryStream object to the MailAttachments property of the Message object and Send!  How easy can that be…

Well, I receieved the email, the attachment was there but it was empty!

Actually, Outlook was stating it was stating the attachment was 386B but when I saved the attachment to my desktop, it was actually zero bytes.  I can only assume that Outlook is reporting the size the attachment is taking up in respect to being embedding in the raw email body.

Anyhoo, I am left scratching my head for ages.  I can swap the MemoryStream for a FileStream and it successfully saves the file.  But if I use a MemoryStream it suddenly forgets the data.  I can check the stream before it attaches it to the mail message and it seems to contain data.  And then I realise…

The stream has just been written to, the pointer within the stream is pointing to the end of the stream!

   1:  attachmentStream.Seek(0, SeekOrigin.Begin);

Is all I had to do before attaching the stream as a attachment.

I fire up the test app and I dutifully receive the email with a fully populated attachment.

I win!

Tuesday, 7 September 2010

Lufthansa Virtual Pilot

Not sure how good or bad this is but I seemed to be doing reasonably well for making mostly guestimates.

Wednesday, 26 May 2010

Quick and easy query to Active Directory

For ages I have needed a means for finding out details of the person behind a windows login as the login is just an employee number.  I had means to find these details but it was always cumbersome – not to mention slow.

The following DOS command queries Active Directory for details about the given login.

NET USER /DOMAIN <Login>

Another handy DOS command queries a who is a member of the given group.

NET GROUP /DOMAIN <Group>

Just a simple little code snippet that make my life a little easier.. :)

Saturday, 22 May 2010

OMG! A year since my last post!

Dang!

Where has the time gone?

This time last year I had a baby on the way.  Her name is Serenity.  She is a wonderful addition to the family and I love her with all my heart.

We now have a second baby on the way.  He is due on the 26th of September 2010.  Serenity was born on the 15th of September 2009.  I was a slow starter but I am certainly making up for it now.

We have a few names being kicked around at the moment.  My choice this time as Leah chose last time.  Unfortunately Leah is definitely not keen on the name, Teal’c.  I don’t know why… Just kidding :)

In fact most things sci-fi related are out of bounds.

You may think Serenity is very sci-fi related and you would  be correct.  But I didn’t chose it so the name “Serenity” was acceptable.  I am happy.  Leah is happy.  Serenity is happy too.  The thing that is really cool is that Leah came by the name “Serenity” from seeing a movie poster.  The movie the poster depicted just happened to be based on a TV series I enjoy immensely.  The TV series being Firefly of course.  It is funny how things turn out sometimes.

Anyhoo, it has been a whole year since my last blog post, sorely overdue for some kind of update, hence the purpose of this post.

I was supposed to blog about my experience with Typemock.

I am supposed to be blogging about my experience with Lightspeed from Mindscape.  Just as an aside I just recalled my old BBS days and a friend of mine, Kenji, who ran a BBS using a application called Lightspeed for the Amiga.  Ahh… those were the days… :)

I am also supposed to be blogging about my experience with Silverlight Elements also from Mindscape.

I do have a project in the works in which I could try out all the above.  My only obstacle in the way is time.

In the very near future I should be able to allocate some time to this project, subsequently blog the results here and hopefully appease the generous people from Typemock and Mindscape.

Wish me luck…

Tuesday, 19 May 2009

TypeMock ASP.NET Bundle

Unit Testing ASP.NET? ASP.NET unit testing has never been this easy.

Typemock is launching a new product for ASP.NET developers – the ASP.NET Bundle - and for the launch will be giving out FREE licenses to bloggers and their readers.

The ASP.NET Bundle is the ultimate ASP.NET unit testing solution, and offers both Typemock Isolator, a unit test tool and Ivonna, the Isolator add-on for ASP.NET unit testing, for a bargain price.

Typemock Isolator is a leading .NET unit testing tool (C# and VB.NET) for many ‘hard to test’ technologies such as SharePoint, ASP.NET, MVC, WCF, WPF, Silverlight and more. Note that for unit testing Silverlight there is an open source Isolator add-on called SilverUnit.

The first 60 bloggers who will blog this text in their blog and tell us about it, will get a Free Isolator ASP.NET Bundle license (Typemock Isolator + Ivonna). If you post this in an ASP.NET dedicated blog, you'll get a license automatically (even if more than 60 submit) during the first week of this announcement.

Also 8 bloggers will get an additional 2 licenses (each) to give away to their readers / friends.

Go ahead, click the following link for more information on how to get your free license.