More Muc Than You Can Handle

Blogs

How Does One Introduce Rush?

music
Earlier this year I was chatting with a friend about the band Rush. I said they played a fundamental part of who I am and still have an impact on me today. This prompted them to ask how they could learn more. The most wonderful thing for any Rush fan to hear. I’ll start by describing how I learnt about them. It was through my brothers who are older than me and they still joke about how as a child I would giggle to this guitar part in The Trees. Read more...

Music of 2023

Music has been a big part of my life since at least 1990. It was a great bonding moment with my oldest brother as we both got into They Might Be Giants - Flood at the same time (and independently). He got me into going to concerts, and indie music. My joy and participation in music has been a constant and I’ve always enjoyed sharing my experiences and discoveries. This is my attempt at turning what is usually an e-mail to a few friends into a blog post. Read more...

A Fresh Start in Midlife

Over a year ago I posted a life update, and now it’s time for another! In Nov 2021 I hinted about a new job I was starting. So let’s go back a year and see how that developed. 2022 Entering ClimatePartner The cliffhanger that I ended the last post with was getting a job with ClimatePartner as a team lead. A team lead in this context was a mix of tech leadership and people management. Read more...

Life, Work, and Covid

It’s been a while since I’ve done a general life update. I’m no longer active on social media and have left a lot of people out of what’s going on in my life. One effect of my lack of posting was that my immediate family didn’t know much about my day-to-day life. Social media used to be good for this type of communication until it became more of an opinion soap-box. Read more...

My Goals for 2021

yearly-goals
Reflections on 2020 and Earlier I can’t recall exactly why I didn’t bother write a goal post (pun?) last year, but let’s ignore that for now. I’m back in action! Let’s start with some reflections: Berlin has now been my home for 3 years. This is the longest I’ve lived somewhere outside of my home city since Calgary (over 11 years ago)! I’m loving my home and my life here so I don’t see myself moving again anytime soon. Read more...

Valuable Links - Git

links
Why a links post about Git? There are plenty of resources, right? Exactly! There’s almost too many resources around Git and you can reach a profiency in Git with just a few. For fun, check out the results of this search for git books vs svn books. Hopefully this post will help you to never need to go through that list. Some Opinions It’s funny to me that git is a tool one can become skilled at. Read more...

The Day the Universe Changed (Me)

Background The Day the Universe Changed is a documentary (9.1 on imdb) from 1985 that covers the effects of science and technology on western society. I was introduced to the show in grade 8 social studies and I clearly didn’t appreciate the message of the documentary when I was 13-14 years old. Unfortunately it’s not viewable online. However, this first 10 minutes of the first episode should be enough to get your gears turning. Read more...

My Resolutions for 2019

yearly-goals
Reflections on 2018 This will be easy because I didn’t set any goals last year! It felt great to take a break from goal setting because 2018 was a big year of transition. I moved yet again and I started a new role at work. I then found that it didn’t fit me and I finally had some self awareness to reach out for help and was able to switch roles again to something that suits me at this moment in time. Read more...

My Resolutions for 2018

yearly-goals
Reflections on 2017 Perform 1 pull up - This didn’t go so well. I’m now the heaviest that I’ve ever been (95kg). My psoriasis (scalp) has become really annoying and gets worse when I exercise. So 2017 wasn’t a good year for my health. It’s very clear that I don’t handle disruption of my routine very well. Below is a graph of my workouts: Only 1 or 2 of those gaps was related to illness; most of them were due to travel (work and play). Read more...

Moving Back to Berlin

Remember that post about moving to Dublin from almost a couple years ago? Consider this a tiny git revert --no-commit of that, modify it slightly to keep my location as Berlin but Pivotal as my employer. A Pivotal Moment (that has lasted 2 years) The whole process started with a strong desire to move back to Berlin (I’ll go into why later). I was willing to look for a different job but I really really didn’t want to. Read more...

Valuable Links - TLS

links tls
This is embarassing to admit but I have to re-learn Transport Layer Security (TLS) on a continuous basis. This post is my cheatsheet to remembering all the itty bitty details, which I’ll forgot shortly after I do whatever TLS related task I have on my plate. What’s TLS you ask? Take 9 minutes to listen to this fantastic episode on Public key cryptography which will prime (hah!) you up for the rest of the post. Read more...

Irish Whiskey Appreciation

Disclaimer - I was not paid or propositioned to write this post and/or link to the Mitchell & Son web store. I just enjoyed their course a lot. At the end of the course I was given a 10€ discount on any Green/Yellow spot whiskies. I would also recommend the Celtic Whiskey Shop too. Over the last month I had the wonderful opportunity of learning all about Irish whiskey. It was held in the Mitchell and Son store in The CHQ Building (where I work) so how could I not participate? Read more...

OSX Workstation Setup Automation

DISCLAIMER Try out at your own risk. This setup is not meant to be copy+paste reusable. It’s about keeping MY workstation under source control, and this strategy may destroy the machine you wish to attempt this on. Objective IT infrastructure has gone down a long journey of automating all of the things. We have automated deployments, production environments, and regression testing. We can make an API request to Amazon and get a server instances in minutes. Read more...

My Resolutions for 2017

yearly-goals
2016 was the first time I accomplished my goal! Reflections on 2016 Write in a Journal - This one I am marking as a success. Here are the (manually) calculated stats: Jan 9 Feb 3 Mar 12 Apr 9 May 15 Jun 9 Jul 13 Aug 14 Sep 12 Oct 14 Nov 9 Dec 12 I wrote 143 journal entries over the course of 2016. After counting them all up there are far fewer than I thought, but the frequency is actually more consistent than I thought. Read more...

Dealing With Contempt Culture in the Software World

A few years ago I left ThoughtWorks and was considering leaving IT altogether. Though I’m listing things related to ThoughtWorks, a lot of my weariness is more from IT in general. It could be an age thing, but I’ve been around long enough to see a lot of terrible things going on in this industry. No one seems to care about security, and the innovation that is making billions in the stock market are consumer products that mean almost nothing to me. Read more...

Joining Pivotal Cloud Foundry and Moving to Dublin

soundcloud cloudfoundry
It’s been a while since I’ve posted a “life update”. The TL;DR is that I have joined Pivotal Cloud Foundry in January and will be moving to Dublin in June. Reflections on Berlin and SoundCloud My guess is the most frequent question about this is: what happened? When I posted about my decision to move to Berlin and join SoundCloud it appeared that I had found something I really wanted to do. Read more...

My Resolutions For 2016

yearly-goals
This post almost didn’t happen. 2015 holds a lot of dead-air from me in the blogging world, but I’m so compelled by my routines that I felt that I had to do it! Honouring a self-made routine/tradition is my achilles heel and my biggest strength at the same time. Reflections on 2015 2015 wasn’t a good year for sticking to my goals, but I still learned a lot on the way: Read more...

How to make Masala Chai

This is the simplest masala chai recipe I know how to make. Compared to the street side chai you would get in India my recipe differs in the fact that mine is less sweet and has a strong black tea and masala flavour (especially the ginger). The wonderful thing about masala chai is that it’s easy to adjust to your own taste and it’s fun to experiment with. So let’s get started! Read more...

My Resolutions For 2015

yearly-goals
This has become a bit of a tradition for me so I can’t quite writing these now. This one will be a bit different than the previous ones though. Normally these posts are my technical resolutions. I’m not that ambitious anymore when it comes to technical learning so I’ve dropped that from the title. Even though I tend to despise meaningless dates, I look at resolutions as one large pomodoro. So the tradition lives on! Read more...

Three Months in India

career break
September 20th - December 16th Ugh, I left this post until way too late. Unfortunately I’ll have to drop a lot of detail as 3 months is pretty hard to sum up in a single blog post. Hopefully I can do it justice as India is a place I’m very fond of. I feel bad for all the wonderful little experiences that happened and didn’t get written about. I’ll just have to visit India again and properly journal the whole experience. Read more...

Why I Like Running

running
I’ve been an off and on jogger for the last 2 years, but my goal is to be a jogger for the rest of my life. For some reason I’ve felt compelled to journal my reasons. If one person thinks to take up jogging, then that would be wonderful. Inspiration The Oatmeal made a fantastic comic of his reasons for running and found that there’s a lot of overlap. Of course I don’t run ultra marathons, nor have I been running for a decade, but I find this comic inspirational and I look at it every couple months. Read more...

What Makes Something a "Devops" Tool?

devops
The term “devops” has only existed for 5 years and the trend is to label your tool as a devops tool in order for it to gain traction. When I look at the landscape of tools, most look like Ops tools, just relabeled. The reason this has been on my mind is that myself and Subhas released a website called Devops Bookmarks to aggregate all the tools in the landscape. Using a Github Pull Request for contributions results in reviewing a lot of tools and after a short amount of time I found myself second-guessing the need for such a website. Read more...

Joining SoundCloud and Moving to Berlin

career break soundcloud cloudfoundry
I can’t say exactly when the job search began. It began with the creation of a Note in Evernote (great tool for this type of task). It was much different than any other job search I’ve done, though I haven’t done many as I tend to stick to job for at least 4 years at a time. The key difference with this search was that I wasn’t working, and wasn’t in a hurry to find a job. Read more...

Siófok/Tihany, Italian Grand Prix, and Istanbul

career break
August 30th - September 19 Hungary for More (Siófok/Tihany) Remember the woman that I met at the Dream Theater concert? We have kept in touch and she promised to show me around the Hungarian country side! She recommended Balaton Lake area so I found a place to stay in Siófok and worked on scheduling a day to meet up. Unfortunately the weather did not cooperate as it rained most of the time I was there. Read more...

Book Review - A Mind for Numbers by Barbara Oakley

book review
Over the last 4 weeks I’ve been taking the Coursera course Learning how to Learn on the recommendation of my friend Srini. The 2nd assignment in the course is to create a presentation or some form of media to present an understanding of the topics. An accompaniment to the course is the book, A Mind for Numbers by Barbara Oakley (the primary course instructor), which is a short read but very insightful and full of references. Read more...

Valuable Links - Podcasts

links podcasts
It’s quite surprising that I haven’t really brought up the topic of podcasts on my blog considering that I’ve been consuming them for almost 10 years! My methods and taste have changed a lot over the years. I want a place to point people when asked about what podcasts I listen to, and with a little more context than just a pure list. Software / Tools A podcast is such a simple concept (from the technical side) that it allows for a lot of tools and applications to be created around the idea. Read more...

Book Review - Learning Continuous Integration with TeamCity by Manoj Mahalingam

book review
Disclaimer - I personally know Manoj and have worked with him in the past. I was asked to review his book, Learning Continuous Integration with TeamCity, by Packt Publishing. As someone who had spent many years consulting around the benefits of CI and implementing build and release strategies, I was interested in how the minutiae would be brought up in a book. The book begins by going through the creation and configuration of a similar build process for 3 specific tech stacks: Java, . Read more...

Visiting the Motherland - Ukraine

career break
August 17th - August 29th Ukraine The next leg of the journey was a long slog from Vienna to L’viv. I took a noon train to Budapest and had to pass some time there for a little while. From Budapest it was an overnight journey with many frequent stops in the middle of the night for immigration and customs. If you’ve ever played Papers, Please, it felt like that. Ukraine isn’t part of the Schengen agreement so you can’t just cross the border without a documents check. Read more...

Rome, Switzerland, and Vienna

career break
July 30th - August 17th When in Rome When I learned that my uncle and his family would be in Rome I looked at my schedule to see if I could make seeing them work. It turned out it fit perfectly! The last time I saw them was in London while they were doing their 2013 summer trip and I was on my Belgian Grand Prix vacation. My aunt and uncle are well versed in the world of business so we had many evenings discussing what I’ve learned from the economics courses and floating ideas of what’s next for my life. Read more...

Growing an Open Source Project: The Pester Story

pester
In the Beginning In 2010 I was on a project that focused on build and release software for a bunch of .Net projects (and a few Java projects). Our “glue” was written in PowerShell because of the wonderful remoting capabilities and it’s integration with Windows automation. Our code was untested and our code base was growing over time because our tools proved to be useful and we were getting more and more feedback. Read more...

Prague, Budapest, and the Hungarian Grand Prix

career break
July 22nd - July 29th Prague Next portion of the trip is to Eastern Europe! I had a nice simple itinerary to Prague: Heidelberg -> Munich -> Prague. Unfortunately something was going on with the brakes on the train and I missed my train in Munich so it turned into: Heidelberg -> Munich -> Neurberg -> Cheb -> Prague. By now I’m a seasoned itinerary refactorer so this didn’t phase me. Read more...

Glasgow, Berlin, Heidelberg and the German Grand Prix

career break
July 7th - July 21st Reunions in Glasgow Since my train didn’t leave until after noon, I decided to go back to Bletchley Park and spend the morning there. It was so nice to just spend some idle time in the park and not hurry through the exhibits. Unrushed, I made my way to the train station for a direct train to Glasgow. Upon arrival at the station I was greeted by Derek and Rose who I know from back in the Calgary days. Read more...

Belgium, France, London and the British Grand Prix

career break
June 24th - July 7th Shipment Delivered Upon arrival in Antwerp I saw my taxi from the deck. I had all my belongings ready and made my way down to the port. The ship crew was busy with the offloading of containers so I decided it probably wasn’t a good idea to disturb them to say farewell. It was a long drive to the immigration office, and there I found out that I needed a passenger manifest to get the stamp of approval. Read more...

Crossing the Atlantic via Container Ship

career break
As I mentioned in my last post, I finished the crossing of the Atlantic ocean via container ship. It was a great experiene that I’ll happily do again. 11 days wasn’t enough, and would be happy to spend a month next time around. Too Much Twine on my Hands A blog post probably wouldn’t due the experience justice so I decided to play around with a basic word game engine to give you a more self-directed tour. Read more...

Leaving Vancouver and North America

career break
After another relaxing two weeks in Vancouver (and attending Sasquatch), it’s time to leave. Here’s the last sunset I watched from the beach. If you can believe it, the weather in Vancouver was 99% rain free! Schools Out for Summer During my downtime I’ve enrolled in the Economics of Banking and Money on Coursera. I never thought I would find learning this stuff so much fun! To supplement the course material, I’ve been listening to the following podcasts too: Read more...

Testing Powershell Code That Talks to CLR Objects

pester
Several months ago someone posted an excellent question on the Pester Group about a certain problem area in testing PowerShell with Pester. He brings up a relevant example of the difficulties that can occur when writing tests is done afterwards. It also reveals a missing feature of Pester. First let me display the code that needed tests: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Add-Type -Path (Join-Path -Path $psScriptRoot "Renci. Read more...

Two Weeks Living Off the Clock

career break
For the last two weeks I’ve been house sitting for a friend in the beautiful area of Kitsalano in Vancouver. The goal for the two weeks was to figure out the rest of my travel plans and to meet up with a lot of my friends and acquaintances that I haven’t seen for a while. According to Plan? The two weeks went by quickly. I mainly organized myself around other people’s clocks. Read more...

Reflections of Being Unemployed and Homeless for 1 Month

career break
For some context, you may want to read my previous post about quitting my job. I am homeless and unemployed in probably the most priveleged meaning of the terms. Both states of being are choices I’ve explicitly made. From what I’ve read, I’m not really on a sabbatical, but I’m on a Career Break, except the homeless aspect of it is not as conventional. So here are the reflections: Where Am I Sleeping Tonight On September 1st 2012 I gave up my awesome apartment in Calgary as I prepared for an assignment in India (without really knowing where I was going after that). Read more...

Leaving a Dream Job and Going on an Adventure

career break
On January 4th 2010 I joined ThoughtWorks and it has been an amazing journey. I’ve seen more systems, worked with more people, and seen more countries than the entire 30 years that preceded that date. I still can’t believe how lucky I’ve been to have such a wonderful opportunity. That’s why it took me a long time to decide to leave it, and go on a bit of an adventure. Read more...

Valuable Links - Devops

links devops
Valuable Links for Devops TL;DR - Watch this video and read the 10 myths of DevOps (which also links to what I now find is the best video on devops). Since I first learned the term devops 4 years ago I’ve gone through many leaps in understanding. I really wish I saw this video (history of devops) before I got involved. As a software developer, I find delivering frequently highly motivating. Read more...

My Developer Resolutions for 2014

yearly-goals
I was tempted to not write this post. My motivations are changing a bit and growing strong technically isn’t one of my top priorities nowadays. Reflections on 2013 Last year was very interesting for me. It’s the first time I didn’t really have a home. I’ve split my time between India, United States, and South Africa, (ok, I was in Toronto for a few weeks too). During that time I’ve reflected a lot (probably too much). Read more...

Valuable Links - Vim

links vim
First Off - Introducing Valuable Links Today I’ve decided to start something new. I tend to send my friends and colleagues links about all sorts of things. Usually when they are pertinent to a problem they are having, or to supplement a conversation I’ve had with them. My usual process to reproduce these links ends up being a search in: Twitter, Pocket, History, and my Bookmarks. Also, when I share my links I tend to write a few sentences about them. Read more...

The Most Over-Engineered Thing I Have Made

The other day I overheard some interns boasting about their complicated shell setup. They felt pretty good about using tmux, zsh, and aliasing the heck out of everything. One of them had to re-map copy and paste because they messed that up, but they felt awesome when they figured out a clever work around. We’ve all been there at some point. It’s something that you grow out of over time. At least I hope so. Read more...

Replacing the Kanban Board with a Shark Tank

No, this is not an April Fools joke. This was something that was actually implemented. After ThoughtWorks University was over we had a backlog of work items that needed to be done before we all went back to billable work. I wanted to put up a Kanban board with 3 columns (TODO, WIP, DONE) to track the work we needed to do. A question popped into my head; is 3 columns the minimum number necessary? Read more...

Going Against the Flow

Developers like to talk about being in a state of flow. This is when time just seems to fly by and you’re writing more code in a few hours than you do in several days when you’re not “flowing”. While I think flowing can be postive, it often can do more harm than good if going on for too long. In the past I would complain that the environment around me kept me from the flow. Read more...

PowerShell Pester 2 and 1.2 Released!

pester
After a whirlwind of activity on the Pester codebase I’m happy to announce the latest release of Pester. Versions 1.2 and 2 are identical feature wise except for one subtle difference that I’ll get into soon. New Expectation and Matcher Syntax In prior versions of Pester, we have the dot notation expectation and matcher syntax $some_string.should.be("some value") This required some clever and downright nasty hacks to the PowerShell runtime. This created a few issues for some users and I wanted to get that fixed. Read more...

Setting up Overtone

Every now and then I like to sit in a coffee shop on a Sunday and focus on writing some code. This weekend I had the pleasure of spending this geeky time with a colleague, Chris Ford(twitter). Chris has gotten me interested into an open source toolkit for creating sounds and making music called Overtone. Here’s a talk about demonstrates functional composition using clojure through music and overtone. That talk made me want to play with overtone. Read more...

My Developer Resolutions for 2013

yearly-goals
2012 started off interesting because I was on on an iOS/ruby project. Nearly everything was new to me, but I liked how my past experiences with other technology stacks were still relevant. Even though I didn’t know the languages very well the patterns I’ve seen before still applied. The last quarter of the year was spent teaching new software developers in India, which has been one of the most rewarding experiences of my career! Read more...

Devops Days 2012 in Summary

DevopsDays is a juxtaposition in the world of IT. Most tech conferences focus on tools and processes, whereas Devops Days focuses on culture and the delivery of value. This year’s conference was no exception and here is a summary of what I experienced: Day 1 The Audubon Society for Partial Failures The first presentation was done by Cliff Moon. He argues that there are many common patterns in the IT space and it would be valuable to have a repository of knowledge that we can visit to read about the types of errors that can happen. Read more...

Examples of how production like environments can catch bugs early

On a previous project, I witnessed a few interesting build breakages that we caught in CI that could have easily gotten passed our automated quality gates. These issues would have hurt us in downstream environments. It’s commonly referenced in the Continuous Delivery book that development environments should be as close to production like as possible. This might not be 100% possible but you can come close. What can come that close is your system integration test environment. Read more...

ChefConf 2012 in Summary

This is a little late coming but figured I should post anyways. ChefConf 2012 was an amazing event and absolutely surprising considering it’s the first conference Opscode has put on. Here are a few things that I noticed: Culture The attitude and culture around the people there was incredible. Everyone was focused on the needs of the business that they worked for. Sometimes it meant making developers more productive by being to provide consistent environments or by lessening the pain operations have to go through in order to release software created by development teams. Read more...

Intentional Programming aka Calling Your Shots

I just read this blog post and it’s inspired me to finally post about something that’s been in the back of my mind for while now. Back in the day I used to play 8-ball on a fairly regular basis. I would play with a regular group of friends who would all work on improving our game. One of the players was nearly a professional and provided me one training tip that helps me everyday. Read more...

Migrated to Octopress!

It’s funny how many posts there are from people who have migrated to Octopress. What would motivate someone to post their migration experience? I think I understand why. It’s such a shift in thinking that it’s worth talking about. My migration experience was so much pleasant that I feel that I must let everyone know. So what’s my motivation for moving to a new blogging platform? Was what I was using before broken? Read more...

Reflections on 2 Years at ThoughtWorks

I cannot believe I’ve been at ThoughtWorks for 2 years now! My colleague Aaron Erickson has written an excellent writeup on why (work at) ThoughtWorks. I couldn’t agree more! Reading another colleague’s post a while ago inspired me to write a little retrospective of my own. Thanks Rose, you are wise beyond your years! ThoughtWorks has been a place I wanted to work for since I attended DevTeach in 2007. I met some really smart people who were excellent at articulating their perspective. Read more...

My Developer Resolutions for 2012

yearly-goals
An interesting thing about 2011 is that my resolutions from earlier became quite prominent. Given that 8 months of 2011 were spent on a large account with less technical focus, I’m amazed at some of the technical things that I’ve done. Reflections on 2011 and carry over from 2010: Mouseless Computing (2010) - I think the practice is paying off as a colleague of mine told me “You make Windows fly! Read more...

Simplifying Ruby Installation in Windows

The one thing that has always annoyed me with installing ruby on Windows is that at some point in time I always need to setup the DevKit because I want to install gems that require native extensions. Also, I want the ability to switch between different versions of ruby. Introducing Yari yari is a tool (implemented in Powershell) I’ve made to simplify both of these operations. Right now it’s hard coded to only install the 2 ruby versions I care about right now. Read more...

The Madness Must Stop! - PowerShell Package Management

As a publisher for a few Powershell modules I’m getting frustrated by the lack of standarization in the community on how to support versioning, deployment and conventions within Powershell module distribution. All I can find is rather adhoc mechanisms of sharing poorly written code with the “use at your own risk” kinds of disclaimers. I keep on looking at the ruby community with their amazing tools like rvm, ruby gems, and bundler to make ruby scripting highly testable and repeatable. Read more...

PowerShell BDD Testing - Pester Screencast

pester
A few months ago I posted a simple tutorial on how to use Pester (a powershell bdd testing framework). I’m starting to practice the making of screencasts so I thought I would add some audio/visual to the blog post. I start rambling in the last 5 minutes so I won’t feel insulted if you stop paying attention after that part. Also, I want to thank Manoj Mahalingam and Martin Aatmaa for their feedback and contributions! Read more...

Adopting PsGet for PowerShell Module Management

For a while now I’ve been waiting for something that can be as close to ruby gems as possible for PowerShell. For a while I thought Nuget was the way but it’s tight coupling to Visual Studio made it feel like it wasn’t quite the right fit for PowerShell. Mike Chaliy has made probably what could be called the simplest thing that could possibly work, and it works well! It’s called PsGet (not to be confused with another project called PsGet). Read more...

Pester - PowerShell BDD Style Testing For The System Administrator

pester
Hi there and welcome to my demo of Pester, a BDD style testing framework for Powershell. The creation of Pester came out of the desire to test some build/deployment infrastructure we were creating for a project. We wrote nearly all the code without tests and it came to bite us in the end. I wanted to find a way ensure these problems didn’t happen again as well as provide some code coverage to give new entrants to the codebase some confidence that they won’t break everything. Read more...

Stop Trying to be Perfect and Make Mistakes!

Think about how you get good at anything. What do you remember spending most of your time on? Most likely you spent the majority of your time messing things up and getting it wrong. Why are kids so quick at picking up new skills, especially dangerous ones? It’s because kids are fearless experimenters. I’m currently learning how to skate and ski and my ability to learn is hindered by my concern of hurting myself; potentially preventing me from working and earning a living. Read more...

My Developer Resolutions for 2011

yearly-goals
Looking back at 2010 I can’t say I did a good job of following through with my resolutions, but I believe I have a valid excuse! For the last 12 months I’ve been working more as a build/release specialist than a software developer. Anyways, here’s a rundown of what I didn’t accomplish last year: Test Driven Design - I barely coded at all so that was a total flop. I also believe that this is something that’s hard to do on your own. Read more...

A New Beginning (or Goodbye 20's, Hello 30's)

As many of you know, I have left CBC Radio 3 and got a position as a Software Consultant with Thoughtworks Calgary. Considering that I have lived my entire life in the lower mainland of BC this is a big change. Not only am I leaving behind many friends and family, a beautiful city, and a great job, I’m also leaving behind my golf membership gasp. At least with the Internet, it’s easy to remain in touch and this blog is one of the many ways I’ll be keeping in touch. Read more...

Book Review - The Art of Unit Testing by Roy Osherove

book review
In a recent splurge I purchased 4 books from Manning Press with one of them being The Art of Unit Testing by Roy Osherove. I would categorize myself as relatively new to unit testing. My first hands on testing was when I took the Nothing but .Net bootcamp with JP Boodhoo but he emphasized BDD style tests. I saw the benefit of BDD but didn’t feel I had the know how to implement them properly. Read more...

Riding The Lines-Of-Code Rollercoaster

Lines of code has always been a poor guide in measuring developer productivity. I’m currently reading Scott Rosenberg’s Dreaming In Code and came across and interesting quote. “Atkinson [ed: Bill] had just completed rewriting a portion of the Quickdraw code, making it more efficient and faster. The new version was 2000 lines of code shorter than the old one. What to report? He wrote the number -2000” – Rosenberg I couldn’t help but smile when I read that. Read more...

Unit Testing Domain Persistence With NDbUnit

Ever since I’ve begun using NHibernate the number one thing that’s caused me a lot of headaches is learning how to properly map my domain objects. Even the most basic mappings I wrote had bugs simple because I overlooked trivial items. This made me realize that I could save a lot of time and hassle if I unit tested by data access layer. Ever since I’ve begun using NHibernate the number one thing that’s caused me a lot of headaches is learning how to properly map my domain objects. Read more...

When 1 Does Not Equal 1

I’m starting to get comfortable with NHibernate but I’ve been cowboy coding it without any testing framework to let me know if my mappings are really doing what I think they are doing. I’m starting to get tired of manually interacting with my applications to see if things work so I’ve begun the course of starting database integration testing. For the most part, it’s all about testing my mapping files. Read more...

My Developer Resolutions For 2009

yearly-goals
I’ve never made any New Years resolutions before. This year I’m going to break that trend simply to create a checklist of tasks to keep me on track. I easily get distracted, but having to check things off a list is a sure way for me to stay focused. Not wanting to over do it, I made goals that are easily attainable. Hopefully upon completion I’ll get more ambitious the next time around. Read more...

Handy Web Path Concatenation Code

Lot of web developement code is spent concatenating path snippets and I always hated having to deal with slashes. I wanted a function that was consistent with its return type, and very loose in its parameter requirements. I ended up with the following: Test First: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 using bddunit. Read more...

Top 5 Things I Cannot Compromise In Web Development

Over the past few months I’ve realized that I’m a stubborn mule when it comes to certain aspects of web development. After some internal reflection I’ve come up with my top 5 things I strongly feel that I won’t compromise on in the web development process. These items are just for the presentation layer, I’m loaded with issues deeper into the development stack. 1 - URLs must be as beautiful as possible Read more...

It Is Good To Laugh At Your Old Code

One of the things I love about my job is the ability to see myself grow as a developer. I’m glad I can laugh at my old code because if I can’t then I’m definitely not improving my skillset. Here’s some code from around 3 years ago: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 using System; using System. Read more...

JS Builder Exceptions With Multiline JS Strings

I’m creating an automated build process and one of the items in the build is to build an external resource which is a java script library. The javascript is contained in multiple files and I want to concatenate them into one script. I found a very useful tool called JS Builder which has a command line executable which I can use to automate the construction of this javascript file. Setup was very simple. Read more...

Desktop As My Default Download Location

So I’ve been getting into the book Getting Things Done lately and can identify with many of the ideas it discusses. The one idea I really like is the consolidation of Inboxes. I’m of the camp that likes to have a pristine desktop. I personally think the desktop should never be seen, and if it is then you’re not managing your windows properly. When things go on my desktop I naturally try to clean them up. Read more...

Manager Suffixes Are a Code Smell

After attending Nothing But .Net Bootcamp I noticed none of the classes that were written in the course had a Manager suffix. I’ve sort had a eureka moment and have a good idea on why this is. JP heavily emphasized the Single Responsibility Principle throughout the course. If a class is only has a single responsibility it will be pretty difficult to attach a Manager suffix to the class name. Read more...

I Survived JP's Nothing but Dot Net Boot Camp!

After a big of pleading I got the privilege of being able to attend Jean-Paul Boodhoo’s Nothing But Dot Net Bootcamp! JP is quite well known in the .Net circuit for his passion for development and his pragmatic approach to software design. Typical posts about his course underline that you’ll be giving up your home life for a week. Since I’m a bachelor, it wasn’t a big deal for me, but I did feel a bit bad for the guys that had wives and kids at home. Read more...

The Paradox of Choice in a Developers Life

Matt Hamilton wrote an excellent blog post about something that I’ve been thinking about for a long time. As a developer you want to keep improving, but the more you know the more choices that appear. When first coding projects that require database access you get used to learning the SqlCommand class and have nested using statements to retrieve your readers. Next thing you learn is strong typed DataSets and then you move on to ORMs and code generators. Read more...

Installing Windows Home Server On Old Hardware

For the last 7 years I’ve been running a FreeBSD server at home for all my file serving needs. It’s always been solid and never caused problems. It was the gateway into Unix knowledge for me and I loved the whole experience. A fellow 8-ball competitor revealed that he’s a sales agent for Microsoft and kindly gave me an OEM copy of Windows Home Server (WHS)! I reluctantly decided to retire the ol BSD box and try out WHS. Read more...
1 of 1