The Blog of Zachary Snow

Code from when I was young and stupid and needed the money

We have had 2 interns at work for the past few weeks and one of the tasks we gave them was to implement Quicksort. This got me to thinking about my youth and some of the code I wrote back then. I’ve decided to post it.

Programming is my hobby as well as my job

Shortly after moving to Germany in 2007, one of the first things I did was to get myself a new computer. I had moved in with my then girlfriend (now wife) and one of the things she had to trouble adjusting to was the fact that I could work on code for 8 hours a day and then come home and want to do the same thing.

This is a sentiment that not only comes from her but also from many other people I’ve met. I tried to explain to them with an analogy and I think I’ve finally found one that fits and people seem to accept.

The analogy is a car mechanic. How many car mechanics do you know that don’t have their own personal hobby project going on at home? As a matter of fact, I think I would find it strange if I asked a mechanic what he does for his hobbies and he proceeded to tell me that he works 9 to 5 and after that he doesn’t want to have anything to do with cars.

For some reason the world doesn’t see computer programmers as being similar to car mechanics in this regard. Wanting to tinker with computers after working for 8 hours with them seems foreign to most people. I love what I do and I just happen to get paid to do something that I love. Why is that so hard to understand?

This is the reason why I and a few of my colleagues started the SOLP .NET User Group. We have our day jobs but we still want more. If you feel similar and live in the Soest / Lippstadt area, please feel free to join us.

All the cool kids are static

Seems like all the cool kids these days have converted their websites to completely static ones. I’m looking at you Mr. Haacked. I thought this was a pretty cool idea and a chance to really refresh my website so I decided to take a stab at it. It’s currently a work in progress.

I ended up writing my own tool I call Gatsby to do it. I also set up the whole deploy process myself involving pushing to Github which then informs my website to pull from the Github repository. Hopefully that will be a blog post in the not too distance future.

Sorry for any inconvenience.

HTTP Status Codes as Telephone Calls

I had a funny idea to describe HTTP Status Codes as telephone conversations so I thought I’d write it in a blog post.

She’s not here right now but she’ll be back later.
She doesn’t live here anymore, she now lives somewhere else.
He hesn’t changed a bit.
I can’t allow you to speak to him.
$1.99 for the first minute…
No one by that name lives here.
It’s not you, it’s me.
I can’t deal with this anymore.

Ubuntu Cinamon for a slightly more Windows like interface

With all the recent movements in the Linux community with Unity and Gnome 3, I’ve been looking for a interface that better suits me. I don’t really need any fancy effects, I just want something simple. I recently discovered Cinamon, which I think is originally from Linux Mint. After just a few minutes of using it, I knew this was my new interface. I used the following commands to get Ubuntu to the state shown in the picture above:

Install Cinamon:

  • sudo add-apt-repository ppa:merlwiz79/cinnamon-ppa
  • sudo apt-get update && sudo apt-get install cinnamon-session cinnamon

Remove Global Menu:

  • sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt

Remove Global Menu:

  • sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt

Move Window Buttons to Right:

  • gconftool-2 —set /apps/metacity/general/button_layout —type string “menu:minimize,maximize,close”

Remove Overlay Scrollbar:

  • sudo su
  • echo export LIBOVERLAY_SCROLLBAR=0 > /etc/X11/Xsession.d/80overlayscrollbars


I've moved back to Github

I used to have a Github account and later eventually deleted it. I felt Mercurial was a superior source control system and so I wanted to stick with that. At work we switched to using git. And that’s when I discovered gitextensions.

Gitextensions in my¬†opinion¬†makes git usable for me on Windows. My only real complaint with git was that there wasn’t a good gui for it on Windows. Git also has a few features that I can definitely say are superior to Mercurial, fast-forwarding for instance.

I’ve moved most of my open source code over to Github as of now. There are some things that I haven’t moved and probably will never move but will remain on Codeplex.

Switching from Git to Mercurial

I’ve decided to make the switch from using git to Mercurial. Git’s syntax to me is much more complicated than it needs to be and Mercurial seems to be more my style. I find it’s much easier to find out how to do things with Mercurial and to be honest, I use about 10% of the functionality in either git or Mercurial.

This also means I’ll be transitioning Snowball to Codeplex I think. I’ll be moving it away from GitHub for sure just not 100% sure where.

Using git-gui with Cygwin on Windows 7

I’ve started using git via cygwin and was running into trouble trying to pin it to my taskbar in Windows 7.

First I created a .bat file in the c:\cygwin folder which launches the app standalone:

@echo off

chdir C:\cygwin\bin

start run.exe git gui

You can change paths accordingly. Now run the batch file and pin the program to the taskbar. You’ll notice after you close the app, the icon changes and it won’t launch again.

Right click on the shortcut while holding shift and choose properties. Change the target to the batch file we wrote. You can change the icon to the git-gui icon by pointing the shortcut icon to “C:\cygwin\usr\share\git-gui\lib\git-gui.ico”.

Now if you click on the icon, the git-gui app should start up. Kill your explorer.exe in task manager and restart. If the icon is still the genie lamp, you’ll need to clear your icon cache to get the icon to look right. Credit for that from here. Kill your explorer.exe again and while explorer is gone, start cmd.exe. From there enter the following commands:

CD /d %userprofile%\AppData\Local

DEL IconCache.db /a


After that your icon should be there as you want.

This Developer's Life

This Developer’s Life is a podcast about the social aspects of being a programmer hosted by Rob Conery and Scott Hanselman. Each week stories are told by different developers and this week includes John Resig and Miguel de Icaza. I encourage you to check it out.

This Developer’s Life

Promote Javascript

JavaScript JS Documentation: JS Array shift, JavaScript Array shift, JS Array .shift, JavaScript Array .shift

I make my living currently doing javascript / php, so this is an important topic for me. Javascript documentation in its current form sucks and the mozilla docs are quite good.

« Older posts