me

Thurloat Adam Thurlow

Jan. 21, 2012
  • programming
  • backbone

Backbone.js - Modular, Readable and Testable Views

After more work with Backbone on projects at Sheepdog, we are starting to develop a solid foundation that will allow us to easily develop, test, and maintain our Backbone.js applications. Having these properties in our JS / CoffeeScript is very important, as we're striving toward better test coverage from server to client in order to best deliver the highest quality product to our clients.

The approach that I'm taking to solve our problem is a simple implementation of two common design patterns found in MVP applications. The Observer Pattern, and the Factory Pattern.

I, Observer

Obtaining much of ...

Jan. 17, 2012
  • programming
  • backbone

Backbone.js - Keeping a View's model in sync

I'm doing a lot of experimenting with Backbone.js for the team at Sheepdog these days. We're working on compiling a front end stack to build our internal and client projects that require complex front end interactions.

One of our "wants" for Backbone is to easily bind a Backbone.View containing many form elements directly to a Backbone.Model instance. I wanted to implement this in the most declarative way possible, similar to the way a view is structured. The solution involved creating a subclass of Backbone.View called FormView.

Before I start, I'd just like to ...

Feb. 25, 2011
  • Google
  • programming

Advanced App Engine Bulk Downloading

http://commondatastorage.googleapis.com/thurloat/appenginedump.png

The new Bulkloader data exporter is much easier and more automated than the nasty old way of exporting. As good as it is, there were a lot of additional requirements for one export script that I was tasked to write which looked beyond the scope of the Bulkloader YAML configuration file. Through reading the documentation and diving into the I was able to find some creative solutions and for the most part -- keep using the YAML file.

The long and winding road

I'm going to go through the problems I faced, and how I was able to solve them ...

Feb. 19, 2011
  • Programming
  • GitHub
  • Google

Google Closure Linter TextMate Bundle

Google Closure TextMate Bundle

I love the Google Closure project. As a big fan of its compiler and the linter, I use both regularly at work and for my personal projects. However, it is not without its flaws. The biggest hurtle to integrating the Closure Linter into my workflow: it's strictly a command line tool. I have nothing against using the terminal but, the workflow for running the linter over my JS looks like this:

  1. Make some changes to the JS file.
  2. Open the terminal, run gsjlint source.js
  3. Look over the results (ugly terminal output).
  4. Jump back to the Editor, and find ...
Jul. 05, 2010
  • Programming
  • Google
  • Code Review

Rietveld Rocks. Tips for other newbies!

The Potatoes

Peer code review has become one of my favorite feedback processes by far. At the SheepDog office, we're forming the habit of reviewing any code that comes out of a sprint. In order to move a task from tested to verified, it must get signed off by an engineer who did not write the code. This process was quickly becoming cumbersome when done manually. For example; A large feature would be created, then tested, and no one had the time to look it over because the review process was: check out the source code at the correct ...

Jun. 10, 2010
  • programming
  • GitHub
  • Google
  • Personal

GitHub Gists + RSS Reader = GistRSS

I am pleased to announce GistRSS (a.k.a "Pretty GitHub Gist RSS Feed App") to the world. The idea for this application came about after a frustrating conversation with a friend of mine. The problem that we exposed was that GitHub currently has mediocre Gist atom feeds. GistRSS will allow you to subscribe to any GitHubber's Gist feed and their Gist content will be sent straight to your RSS Reader fully syntax highlighed.

The History

After scouring the internet for some great tech RSS feeds, and bugging my friends for help, Erik Kastner came to the rescue with ...

Jun. 07, 2010
  • Programming
  • Google App Engine

Google Storage for Developers on App Engine Python

I've been using Google Storage since I/O 2010, and I'm impressed with it so far. At work, we've converted some of our application resources from using S3 as a CDN to Google Storage this past week.

Being early adopters has its downfalls for sure; some of which usually include system instability, a lack of published tools, and proper or extensive documentation. I'll try to help address the latter in this short tutorial.

Configuring Google Storage for App Engine

This problem has come up a couple of times in the Google Storage for Developers group. After ...

Jan. 02, 2010
  • Photography

Experimenting with a new Flash

I've been a little behind on my photography posts, but I have not been behind on expanding my horizons and taking all kinds of crazy pictures; most of which will not end up around here. However, for Christmas Dad got me a flash for our camera. He miraculously did this through leaving it in his old SLR camera bag (big thanks Dad!) I've had a heck of a time trying to get it working the right way with the much newer Canon camera.

Just a warning to digital camera owners

"Careful with old flash vs new camera voltages ...

Dec. 12, 2009
  • Uncategorized

SWAT Team in my building.

All of the Police activity around my apartment building is winding down, and Police report was finally submitted to halifax.ca, but they don't have permalinks for their reports so I thought I might just paste it below for future reference.

Drug Charges

December 9, 2009 Drug Search Results in Charges Four men and one woman face charges after a drug search last night in Fairview by the HRP/RCMP Integrated Drug Unit assisted by the Quick Response Unit. A search of a residence in the 0-100 block of Dawn Street resulted in the seizure of a quantity of ...
Nov. 09, 2009
  • Personal
  • Photography

Photography & The Tilt-Shift Effect

On a regular basis I find myself looking at something and thinking "damnit, I wish i could keep this"... often times what I'm seeing in my head isn't really what would be captured on film, my imagination is often much less literal. That has been one of Photography's biggest turn-offs for me in the past and hopefully this is where capturing and editing skills from a few of my friends will keep me motivated!

In my Photography & Lightroom corner, I have Ian Munroe. Ian is doing a lot of over time getting my technical photography skills up ...

Sep. 22, 2009
  • Programming
  • Tech News

Google App Engine Case Study!

Earlier this week I was presented with the opportunity to write a blog post / case study for the Google App Engine Blog about how I leveraged App Engine while developing the Canoe '09 results application. How could I refuse such an honor? Well, I couldn't. So after some careful edits from the guys over at Google, and the folks here at the Norex office, we came up with an interesting piece about the Agility, Reliability and Stability that we saw during the course of the event. True Story!

Preview

... we saw over 1,000,000 page views from 93 ...

Aug. 29, 2009
  • iPhone
  • Personal

iPhone Tethering

This is my iPhone tethering story. With the cable down and no where else to turn I looked to my trusty swiss-army knife of utilities: My iPhone... did it pass or fail? Well, before I tell my Saturday evening Internet story, I'll preface with the fact that I'm upset that Rogers isn't including Internet tethering unto us lowly 500MB/month folks. Seriously, what's up with that? They can't be worried about me going over my data limit, as that would just make them more money!

The Story

The cable seemed to be out in the ...

Jul. 13, 2009
  • Painting
  • Personal
  • Programming

Goals In Review

It's about that time that I come out and see how my planned goals are coming. I hate making excuses for not doing things, and it hurts me to do so. So here's a long list of excuses.

Results

Whether or not anyone has heard, my father passed away from complications with chemotherapy on July 3rd, 2010. Sparing all of the emotional outcry, it's thrown a wrench into my plans and put me out of commission for a week or two. I won't say that I haven't made ANY progress, as a couple goals are ...

Jun. 28, 2009
  • Personal

The Greatest Man Who Ever Lived

I took a day off from going to the hospital and visiting my Dad. As much as we love to be there with him, we there are other people's needs that need met. While working today I was slowly writing down my thoughts about the current events and it turned into a letter. I think that the best way for me to keep on top is to share how I'm feeling, and I'm feeling like hell... So as you might imagine, this is very emotional and probably sounds like a bunch of rambling, but either way.

A ...

Jun. 26, 2009
  • painting
  • Personal
  • programming

It's Time for a Change!

I had a good chat with Jessica the other day about my work load, the things I say I will do, things promise I will do, priorities, and life decisions. She always gets me into a thought provoking mood. It turns out that I have made it a habit for myself to tell everyone YES! to whatever they're asking ... then attempt to cram it into my schedule. It's been pointed out to me that if I somehow don't get these things fit into my schedule... I appear un-reliable. eek. So there are 2 action items that I ...

Jun. 22, 2009
  • Comedy

The Picard Loop

So, here I was (you are here). Sitting on the couch, leisurely watching “John and Kate plus 8”. When I looked over at Jessica’s Psychology Quiz. This text is quoted straight from an University Psych textbook... seriously.

If Captain Picard leaves Deep Space Nine at 0900 hours and travels at Warp 4 his shuttlecraft, he can rendezvous with the Starship Enterprise in 4. 2 hours. However, in order to reach the ship so quickly, he would have to travel through the Neutral Zone, and his presence would undoubtedly be noticed by Romulan warships, which would attack and destroy his ...

Jun. 05, 2009
  • Updates

Google Chrome for Mac!

I just got my mitts on Google Chrome for Mac. The JS speed is incredible.

http://img.skitch.com/20090605-gwj26p3tbqtwfak4f9u1t6kwna.png

There is actually a visually noticeable speed difference when using our Framework back-end. I might just start using it for adminning sites / content entry because it doesn’t ever bog down on the heavy JS activity with Chunk revisions. It just seems to be more snappy in general compared to FF 3.01, where, on many occasions FF will freeze for 1/4 of a second when it’s processing JS or finishing a page load. It creates a frustration inside of me so deep ...