January 2012
1 post
Objective-C Designing With Blocks
I recently started doing some Objective-C development at work. Coming from a Ruby/Python/JavaScript background, I was stoked to see that Objective-C had support for blocks.
Here’s a great tutorial on the subject.
Closures are a wonderful way to handle the complexities surrounding asynchrounous I/O. Ask any Node.js nerd, they’ll attest to this fact.
I’ve been leaning on blocks...
December 2011
1 post
SMTP Server Cage Match
Last week I released smtproutes: A simple, Sinatra inspired, SMTP routing server.
Read What if SMTP and Sinatra Had a Baby?
Out of curiosity, I wanted to benchmark smtproutes vs. some other libraries that one might use for building SMTP-backed-web-services.
In this post I compare the performance of:
smtproutes (https://github.com/bcoe/smtproutes)
Lamson (http://lamsonproject.org/)
Pymilter...
November 2011
2 posts
What if SMTP and Sinatra Had a Baby?
Recently I’ve published several posts on the topic of composing software services on top of email. Why this recent obsession?
People understand the paradigm of email. For some, my grandfather being a prime example, email is their main motivation for having a computer.
Email is everywhere. It’s cross-platform, cross-device, cross-demographic. It’s estimated that there are nearly...
Writing a Secure SMTP Server in Python
Email as a Platform
Some startups are beginning to see existing email protocols as a rich platform to develop applications on top of. This is cool, email is an incredible tool for communication and I don’t think it has ever been fully utilized. Hell, even my mom knows her email address (and she thinks I fix printers for a living).
Here’s a list of some companies doing some awesome...
September 2011
2 posts
Building Your First Node.js Library
I’ve been playing with Node.js since its early days. One of my favourite hacking experiences was the first Node Knockout Competition (what a fun language!)
What has really impressed me, is how quickly the community has matured. Taking into account the conventions that have grown up around Node.js development, I thought I’d write a post targeted at helping people get their first library...
Attachments.Me: A Sexy DSL for JavaScript... →
attachmentsme:
I was working on one of my Node.js libraries and noticed I was doing something silly:
Karait (https://github.com/bcoe/karait)
There’s a lot of ritual around dealing with optional arguments and default parameters!
I did a little literature review, and found this problem was pretty…
August 2011
1 post
Attachments.Me: Designing for Asynchronous... →
attachmentsme:
Let me preface this article by saying that I am relatively new to ElasticSearch. If anything I say is grossly inaccurate, please feel free to yell at me in the comments.
ElasticSearch is a great abstraction on top of Lucene:
It handles index replication and sharding.
Indexes documents very…
July 2011
1 post
June 2011
1 post
Why I Hate Ruby (Or, at least, some common...
Let me preface this post by saying, I don’t hate Ruby the language as a whole. It has an elegant syntax and I enjoy working with it (some of my best friends are Ruby developers!). What I do hate are some of the bad habits adopted by its development community.
I will begin with a story. This past week, I have been setting up elasticsearch as a full text search solution for attachments.me....
May 2011
1 post
Attachments.Me: Pytoad: A Hoptoad Notifier for... →
attachmentsme:
We’ve recently started using Hoptoad for monitoring exceptions in our JavaScript and Rails code. Hoptoad is a web-service for centrally aggregating exceptions. We find it helps us much more proactively hunt down and fix bugs (getting annoying emails is a really good motivator).
Python is…
April 2011
1 post
My Company is Hiring →
February 2011
2 posts
Attachments.me Searches Your Gmail Attachments by... →
Attachments.me Puts A Visual, Social Spin On Email... →
January 2011
1 post
Securing Mongodb Behind Nginx →
November 2010
2 posts
Endtable, an ORM for CouchDB on Node.JS
Two important facts about me: I hate relational-databases, and I absolutely love Node.JS (I would have its JavaScript babies). Why do I hate relational-databases? it comes down to the way they’re usually used: If I am modeling an automobile, I really don’t care that it can be stored in and retrieved from my garage. Furthermore, my garage really shouldn’t care about the attributes...
Writing Clean Maintainable JavaScript →
Some helpful tips for writing clean, maintainable, and easily testable, JavaScript.
August 2010
3 posts
Unit Testing in the Cloud with Node
I’ve been running on little sleep this weekend, why? It’s the Node.JS Knockout:
Node.js Knockout is a coding contest inspired by Rails Rumble. The rules are simple: teams of up to 4 have 48-hours to build any node.js-based web project they can imagine.
I have been hacking away on an entry for this competition with help from my friends Ben Vinegar and Jaco Joubert. Our project:
...
Porting Smarty to Twig with PEGs →
Niagara Glen 2010
This long weekend I went on a great two day trip to Niagara Glen to climb with my friend Christian. My hotel was in Grimsby, “The Gateway to Niagara”, so getting to climbing was a manageable drive away, but next time I’ll probably shoot for a hotel closer to the Glen.
I finally bought a crash-pad for this trip, which was awesome (more things to fall on).
My fancy new...
July 2010
1 post
5 tags
JavaScript, Comet, and RabbitMQ Fun
I’ve been kicking around the idea of making a sequel to HackWars, the game I created as a hobby in university. Many of the problems facing the original game were technological. Even though we had lots of coders willing to help out, it was difficult to bring people up to speed, iterating was brutal, and the whole beast was/is pretty tipsy.
My plan: Develop a game with similar play mechanics...
June 2010
1 post
1 tag
Putting External Services Behind AJAX →
April 2010
1 post
2 tags
Why I'm Becoming a JavaScript Convert
I remember the first time I played with JavaScript, it was around 1999, and I was 16. I had bought the reference book ‘JavaScript for dummies’ (a seminal work in the field) and was having a lot of fun adding interactive widgets to my website — I remember specifically ripping off the Windows 98 ‘Start Menu’ … Fast forward a few weeks, and I am quickly becoming...
January 2010
1 post
3 tags
The Art of Building and Maintaining an Unpopular...
Hack Wars Part 1: In the Beginning
Even if you happen to be one of the 3,538 people who have played HackWars for a reasonably good length of time, it must be admitted that, by most measures, my attempted incursion into the online MMO market has been a relative failure. My three-year hobby of building a massively (cough) multi-player-online-game has been an amazing learning experience.
Observe...
December 2009
1 post
1 tag
2009, Year in Review
2009 has been an insanely awesome year for me, this is a bit of a summary. My Thesis I finished my thesis this year. It’s basically a massive Java application designed to read someone’s writing and judge how they feel about various named entities in a film review, e.g., actors, directors, the film itself. I was comparing my approach against other papers that attempt to apply a...
August 2009
2 posts
2 tags
The Pixies at Virgin Festival
The Pixies are my favorite band. I got to see them live today at Virgin Festival, and they did not disappoint. It helped that I had ridiculously good seats. Virgin Festival Ontario this year started out as an outdoor venue and got moved to the Molson Amphitheater. Those of us who bought the initial tickets got upgraded to the best seats in the place; my girlfriend and I were in the 5th row....
2 tags
Wikiearth Climate Demo
I just finished putting together a video demonstrating Wikiearth for The 8th International Semantic Web Conference. The hope being that my partners and I might be able to demo the project at the conference. This is the same project we were at the World Student Environmental Summit launching (unfortunately I doubt the climbing in Washington, DC will be as good). Any ways, I figured I’d...
July 2009
1 post
3 tags
Squamish Trip, 2009
When I left for BC in late June I was already fairly addicted to bouldering (think climbing things but replace cliffs with boulders and ropes with rigid mats), my only experience however had been inside. My business partner and I were down in Victoria for the World Student Environmental Summit overseeing the launch of Wikiearth. Victoria was quite interesting, note all the rabbits: Rabbits...