Jun 27, 2018
Sometimes the logic in your application get a bit out of hand, and ends up an
unreadable, tangled mess of negated conjunctions and disjunctions. A judicious
application of De Morgan’s Laws can help you translate confusing expressions or
sub-expressions to something a bit more readable, while maintaining the same
logical truths and falsehoods that you originally intended.
Mar 16, 2018
This seems to be a recurring theme amongst startups that provide messaging as a
service: launch with as many 3rd party, open-protocol integrations as possible,
and then once they’ve locked in enough traction/users/funding, slowly shut down
external integrations.
Mar 13, 2018
I end up spending quite some time staring my own reflection in
the mirror, and thinking. On one of those mornings, while stretching the skin
on my neck with one hand to ensure I didn’t give myself a tracheotomy with the
blade held in my other hand, I realized that I need to approach software more
like I approach shaving.
Mar 9, 2018
A few days ago I received an email from Github support, informing me that I must change my username.
Feb 14, 2018
Containers are everywhere: it’s hard to go a day without hearing about
the latest Docker feature, the newest post about how Kubernetes has
revolutionized devops, or wondering how you’ll ever get employed if you
don’t live and breath and blog daily about containers. But why now? Why,
after decades of creating and scaling web applications, has containerization
become the latest must-have for startups and established web companies?
Jun 9, 2017
A coworker received an email the other day, and sent it to me thinking
that it was some variation of a unicode failure that plagues
me regularly. While it was an encoding failure of sorts,
this one was more interesting than your garden-vareity utf-8/ISO8859-1
problem.
Jan 3, 2017
I ran into a situation today that was particularly frustrating, but for an interesting reason.
PostgreSQL tables are hard-limited to a maximum of 1600
columns. The limit, as I found out after a bit of digging, is specified in the PostgreSQL source, but it what it does not indicate is which columns are counted.
Nov 4, 2016
My name is, in fact, Joël. You’d never guess that, however, from the consistent and diverse ways in which my non-ASCII given name is butchered by web applications, email servers, databases, and overzealous baristas that seem to believe I am the father of Superman.
Aug 15, 2016
Amazon Web Services has the ability to serve objects contained within an S3 bucket as a static website. If you want to have nerderati.com
backed by content in S3, you need to have a bucket named nerderati.com
in your AWS account. This is because S3 uses the Host:
header to determine the bucket name, and is unaware of any CNAME/A records that may exist in DNS. What can you do, though, if someone else has already taken the bucket name that you need?
Jul 6, 2016
Nearly all of my work requires an internet connection at some point or another, which means that most of the cafés I frequent have some sort of WiFi that I take advantage of. While I’m not generally one to complain about the quality of free WiFi in the small, locally run establishments in my neighbourhood, it does frustrate me that they are often misconfigured to the point where the staff must reset the router every few hours.
Sep 3, 2014
I don't know exactly why, but installing science/math/statistics oriented Python packages on OS X has historically been a complete pain in the ass. It seems as though things have improved over the past few years with the development of custom disk images, meta-package installers and other fanciful things, but most of these solutions sacrifice the ability to upgrade the given packages or link against custom builds of supporting libraries due to overly aggressive sandboxing to ensure that things Just Work™.
Aug 19, 2014
My favourite days are the ones where I get to solve a seemingly difficult everyday problem with mathematics. A few weeks ago, my friend Andrei came to me via IRC with a question about how to effectively generate groups of beers from his cellar to trade with others.
Mar 17, 2011
If you’re anything like me, you probably log in and out of a half dozen remote servers (or these days, local virtual machines)
on a daily basis. And if you’re even more like me, you have trouble remembering all of the various usernames, remote
addresses and command line options for things like specifying a non-standard connection port or forwarding local ports to the remote machine.
Mar 15, 2011
Four years ago when I started using a micro-blogging service, I revelled
in the sheer simplicity and low barrier to communicating my thoughts. Blogging, in that era, seemed
like a historical vestige on the verge of being consumed and overtaken by the rapid fire, real-time
tweets of my peers. I jumped on that bandwagon, and never looked back. Until now.
Mar 11, 2011
Ever since I had the pleasure of keynoting at Make Web Not War: For The Web in 2010,
I’ve been eagerly awaiting the announcement of the 2011 edition, which was announced just a few days ago.
Nov 29, 2010
Last time, we looked at how one could maintain a persistent session in IRC through the use of a terminal
multiplexer (such as screen or tmux) and SSH. While this has the advantage of being very easy
to setup, there are a few very obvious disadvantages and trade-offs:
Sep 7, 2010
One of the major advantages that IRC has over your ‘traditional’ instant messenger clients is that, with a minimum amount of effort
and hardware, you can create a setup that will remain perpetually connected, even when you’re not online.
Jul 31, 2010
It’s no secret that I’m a big fan of git, and of distributed version control in general; they offer a compelling toolset and degree of flexibility that you would be hard pressed to find in a “traditional” centralized version control system.
Jul 26, 2010
Sadly, the default installation of Vim on Snow Leopard does not have support for the ruby interpreter compiled in, which
is a pre-requisite for using the plugin. Luckily, that’s easy enough to remedy, and in the process we’ll learn a thing
or two about compiling your own custom Vim binary.
May 20, 2010
I’m quite happy to announce that I will be giving the keynote address at this year’s
WebNotWar/For The Web conference, taking place on May 27th, 2010.
May 4, 2010
Some books that I think every nerd should read.
Feb 26, 2010
If you were to apply a bijective function to each letter in each word of a language (e.g. English), how many pre-existing words would you obtain in the resulting image?
Jan 31, 2010
An explanation of the shebang, and what it means when included in a script. Sometimes,
you learn things about tools you use every day.
Jan 4, 2010
I’ve been experimenting with a Python+Redis combination (with redis-py) for
data analysis on a few side projects lately, and a simple script like this can come in handy when you want to make sure you’re not
doing something completely stupid with Redis that gobbles up all of the allocated memory. And yes, I’ve been guilty of doing that on a few occasions.
Dec 15, 2009
While a bit late, I’m extremely happy to announce that I have been selected as a speaker for the
ConFoo.ca Conference to be held in Montréal at the beginning of March, 2010.