Mathieu Bouchard

Meteor project structure — the way forward

Meteor, my development framework of choice these days, is awesome. Just like any framework, the initial learning curve will slow you down — but unlike other frameworks I’ve used, once you grasp Meteor, you get things done fast. The ratio of idea to lines-of-code is just really high.

On the other hand, no one likes wasting time wrestling with magic file-loading rules. If you’ve ever found yourself needing to nest a lib/ folder inside a lib/ folder, you are told you are doing it wrong. But that’s no comfort when you just want to write code.

Thankfully, there’s a better way.

LegalTech® New York 2013 Twitter wall for LexisNexis®

A great client of mine, the Ottawa-based creative agency McMillan, approached me to put something together for one of their clients, LexisNexis®, for the LegalTech® NY 2013 tradeshow.

Web Server Permissions

I've decided to finally document my web server permission setup tips in a central place, and what better place than my blog! This technique diverges slightly from best practice in that I don't create a separate group (such as www-pub). I simply use the existing apache group. So for reference, here are my notes.

My Ubuntu backup solution

I've had a string of unfortunate data losses recently. As far as I could tell, it was just bad luck (nothing malicious), but frustrating nonetheless. The really sad part is that I thought I had a pretty decent backup solution in place, yet still lost data.

After having experienced this type of data loss on a few occasions in a short period of time, I've had a chance to test the resiliency of my backup solution.

Setting up WordPress on an Amazon EC2 micro instance

I've had some success running WordPress (3.3) on an EC2 micro instance. After much research into tuning a LAMP stack under a low memory environment (EC2 micro only carries 613MB of memory), I believe I have a pretty solid setup going.

Note that these instructions assume that you are creating a server dedicated to a single installation of WordPress (i.e. no virtual hosts).

Meteor indexing

It wasn't long before I noticed something was up with regards to Meteor's website... I have a really hard time googling anything related to Meteor, and the reason is simple: they're using Meteor to build their own web properties. As Meteor is still very much in its infancy, it has no static equivalent--it runs almost entirely in JavaScript.

Real-Time is the new RESTful

I've started playing around with Meteor and it's been delivering as advertised. I'm very excited about what it means for the web industry. It feels like a massive, huge step forward.

I was self-brain-dumping some thoughts concerning RESTful APIs and those thoughts progressively turned into rants. I decided to shelve that blog post for the time being, but with the advent of Meteor (and Derby alike), I think my rants aren't necessarily unfounded after all.

Thoughts on responsive design

I thought I invented the technique known as Responsive Design sometime mid last year (2011). Then one of my co-workers came across an article on alistapart showing the same technique, pre-dating me over a year... oh well, so it seems I was on the right track at least! And the term "Responsive Design" sure sounds better than "MOB Layout".

Gambling on CDNs

It struck me recently that the conventional approach to loading libraries like jQuery through CDNs (content-delivery networks) might be a bad idea.

Deep Links in Web Applications

I've always implemented deep-links without question, because I come from a web site (vs web app) background where indexing is very important.

When I dove into writing web applications, it seemed just as prevalent a concept. It felt familiar so I just went with it.

But after actually using my web application on a regular basis (and seeing others interact with it), I wonder if I did the right thing in implementing deep-linking...

Writing web apps through thick and thin

In my humble opinion, modern web apps should be Thick Clients driven by Hypermedia APIs.

But this may not be the right choice at this point, depending on your choice of technology stack.

HTML5 semantics: is CSS holding us back?

With HTML5 quickly becoming the de facto markup language for the web, we front-end developers are now armed with a slew of semantic tags to help better describe the meaning of various parts of text on our web pages. This is a big step in the right direction.

But we're still screwed... because of CSS.

xPath lang() function broken?

From all the research and testing I’ve done of the xPath lang() function, I can only conclude that it is broken. Its behavior does not make sense to me. Perhaps my expectation of its functionality is wrong because I’m using it in an unintended way.