The Engagement Story
A long long time ago in a galaxy far far away...
Actually I'm just kidding, the story that I'm about to tell you began in November 2009. To begin the story, I should say that Lauren (my fiancée) and I had been going out for almost five years and we had been discussing rings, and getting engaged for a couple of months. Naturally I had been thinking about how I was going to propose for a while but I hadn't come up with the perfect way yet.
One night in mid November the idea hit me. It was the perfect idea, combining my geekery and my career (software development) into one glorious box.
The Engagement Box
Instead of just presenting Lauren with the ring I wanted to build something special. I finally came up with the idea to create a box that had a GPS device in it and gave clues based off the current position of the box. Basically, it was digital breadcrumbs that would eventually lead to the box unlocking.
The box starts when you press the LED button on the box. It turns on and displays the current clue. Once the reader has had a chance to read the clue (10 seconds) the GPS launches and checks the current coordinates against a set of stored coordinates. If the box is within 500 meters of the next clue the box will display the next clue and repeat until it's farther than 500 meters.
Once the box is farther than 500 meters away from the next clue it gives a message saying the distance to the next clue and turns off to save battery life.
Here's a list of parts I used for the box:
Once I had all of the parts together I went about putting everything together (lots of soldering and hot glue), staining the box and then writing the code. The software part was rather easy since I do that for a living but I've never worked with a micro-controller before (nor had I ever soldered) so there was a bit of a learning curve.
After a many long nights (and a fried part or two) I finally had the finished box that was ready for a ring. I already knew the ring I was going to get so I set off to Tiffany's and bought it.
The Journey
While I was building the box I started thinking about the different places Lauren and I could go. Places we'd gone together while going out flashed through my mind and old memories came back to me as if they'd just happened.
Once I had a list of 11 places that were important to Lauren and I, I gathered all of the Latitude, Longitude coordinates for the GPS box. This was the easy part.
Once I had the places I had to think of the clues that would direct Lauren to through all of the clues and on to the final destination. Now, my memory isn't the best in the world so trying to think of things that made each place unique to use was rather difficult. Lauren on the other hand, has an amazing memory and flew through the clues in no time.
Now that the clues were ready, the box was finished and ready to be used. I gave Lauren the box (with the ring inside) and we set off on a trip that took over a month to complete.
We traveled all across southern Ontario and northern New York going to each of the spots. In total we drove over 4,000km.
The Proposal
With 10 clues down there was only one left to go. Friday March 12th Lauren unlocked the final clue that read "Covers 840 acres, contains a zoo, a formal park and Cleopatra's Needle". Some of you might know this off by heart, I had to research it online to find these details, but the final clue leads to Central Park, NYC.
The reason I chose Central Park was for a number of reasons. The first reason was that Lauren and I had both been there, but never together. The second (and most important) reason was Lauren had always said she wanted to get engaged in Central Park so I thought this was the perfect opportunity.
On Friday March 19th we drove down to New Jersey and took a train into New York City arriving around noon on the 20th. We walked around, went into shops, had lunch and continued to walk closer and closer to Central Park. The closer we got the more nervous I became since I knew what was going to happen soon.
We finally got to Central Park and started walking down the paths amidst thousands of people. It was the first day of spring and one of the nicest days of the year. We continued to walk until I found a small clearing with very few people near a patch of Daffodils (Lauren's favourite flower).
We sat down, pulled out the box, pressed the button and waited for the GPS to find our coordinates. When the box finally found the coordinates it knew that it was the last clue and unlocked. Lauren thought another clue was going to come on the screen because she didn't hear the servo unlocking and asked "Is the box broken?"
Nervously I told her to open the box and as she did I got on one knee and asked her to marry me. The months of hard work and driving paid off because she said Yes.
The Aftermath
After proposing in Central Park, we continued to walk around, looking at the different attractions, people and places. We finally drove home at the end of the day and told all of our friends and family on the Sunday (after a much needed rest).
We're still happily planning stuff for our wedding.
Headphones: A Developers Best Friend
I don't know about you but I personally work a lot better when I'm listening to music. I don't know what it is but I can concentrate a lot easier and work a lot quicker when I'm listneing to my favourite tunes. The problem with most devevelopment jobs is that, unless you work from home, you're constantly around co-workers and it would be rude to blast your music.
That is why it's important to invest in a decent pair of headphones. Here are a few things you should look for when picking out your headphones:

- Comfortable Ear Pads
Because you're going to be wearing these headphones for long periods of time, you're going to want something that fits comfortably on your head. Now, if you prefer in-ear buds than you don't need to worry about this.
Its always a good idea to try on the headphones before you buy them. That way you get an idea of what they'll feel like and whether or not you'll be able to wear them for hours upon hours.
- Long Cord
If your computer is tucked away from your desk like mine is, you're going to want a fairly long cord. Most headphones come with at least a meter long cord and you can always buy extensions if its not long enoguh. You don't want to have an overly long cord though because it can get in the way and get annoying very quick.
- Noise-Cancelling
Noice-cancelling headphones are great and the prices are coming down a lot, but they may not be right for your workplace. If you constantly have co-workers talking to you, having noise-cancelling headphones can be rude because you won't hear them talk. I would advise not getting a pair because you won't be able to hear people around you.
Here are a few tips on being polite while wearing your headphones:
- Only wear the headphones over one ear
- Play your music at a comfortable level to yourself and your co-workers
- Always take off your headphones when a co-worker talks to you
Those are just a few tips on buying and wearing headphones at work, but what are your thoughts? Do you wear headphones at work? If you do, what kind do you have? Feel free to drop us a line down below in our comment section
How to Deal with Programmer Procrastination
Have you ever thought to yourself “I haven’t coded in so long, I really need to” but then did something else instead? This is called programming procastination (PP), and every developer will face it at least once in their career.
I get programming procrastination a lot when I’m trying to finish up my pet projects or even something to do with work. I don’t know why I don’t want to program sometimes but here are a few things I do to get me back into the programming mind:
- Just Start Programming
Forcing yourself to program is on of my favourite ways to defeat PP. Its sometimes hard to just start programming but I generally lock myself in my room, and set a specific goal to reach. Generally the goal will be small to start out with; finish this method or class. Once I’ve started to program, the willingness flows back and I’ll stay for a few hours.
Just starting to program can help the creative juices flow, but this is the hardest step in my opinion.
- Discuss Tactics with Another Developer
Talking with other developers is another way to get past programming procrastination. When you talk with other people it puts you into the mindset of a developer. This often is enough for me to get me past programming procastination because it gets me thinking about programming.
Talking tactics can help you figure out a problem that may be stopping you from programming or a complex algorithm. I generally talk to Alex when I’m stuck and can’t think of what to code.
- Set a Specific Time to Start
This one is a little like just starting to code. When you give yourself a specific time to start coding it forces you to get into the mindset of a developer. If you know you’re going to sit down at 8pm and code something your mind will start to think like a developer and hopefully you’ll get past programming procastination.
- Read Your Development Books/Blogs
Reading your favourite book or blog can help you get past programming procastination as well. Whenever I don’t feel like programming I go though my RSS reader and read some of my favourite development articles. It really helps put me in the programming mood. Dust off your favourite book or fire up your RSS reader and read whatever development stuff you want.
There are a number of ways to get past programming procrastination. The above four points are just a few that I use, but what I really want to know is how do you get through programming procrastination? Do you do any of the things I do or do you have your own ways? Feel free to drop us a line in the comment section below.