Be wary anytime you hear something along the lines of “use X instead of Y, because Y is slow” – where Y is a built-in programming language feature. This argument crops up from time to time, but it is almost always a complete non-issue in the long run. Continue reading
If your encryption method produces the same encrypted result given the same original text input, your encryption is broken. Yet this is what I see in most other examples around the web on how to do encryption in Node.js. Strong encryption should always produce a different output, even given the same exact input. Continue reading
Over the holidays, I spent about 20 hours spread out over a few days to build and launch the new Disposeamail.com. Go check out how an inbox looks (in this case, firstname.lastname@example.org).
I was happy to be invited to speak at Confoo Vancouver 2016. I have spoken at Confoo Montreal in the past (2011, 2012), and it is always a very informative and well run conference.
You Don’t Know Node.js
Node.js can be a powerful platform used in the right situations, but it also has more footguns than PHP does for new developers. Asynchronous programming style, concurrency issues, error handling, the event loop, and no default timeouts for HTTP requests or network calls will give new developers more than their fair share of troubles. This talk gives a thorough introduction to node.js and the event loop model, and covers common pitfalls to avoid.
If you use the widely recommended best practice of putting your application configuration in environment variables, then you have probably also run into the problem of ensuring certain environment variables are set that are required for your application to function – such as transactional email API keys or your database connection settings. Continue reading
Last year, I committed to launching 4 new projects by the end of the year. I did succeed in that goal for the most part – I launched 4 new projects, including the Countism mobile app that has gotten some very good reviews so far. In the end though, I didn’t really feel that successful, and only felt like I had one really solid project. Continue reading
I recently sold JSCompress.com – a website that I created, and have owned and operated since 2008. Over the years, it has gained a lot of traction and popularity, and is heavily trafficked – the most heavily and consistently trafficked website I have ever owned (about 3,500 uniques per weekday). It was a really tough decision selling the website, but in the end – it was the right time to do it.
While developing the new Job board for Techlahoma (soon to launch), I decided to customize the JSON error response to include a
field_errors key with a dictionary of the field names submitted, and the error message that maps to that field. This allows me to more easily create in-context error validation feedback for users without having to implement additional client-side validation. A huge win for productivity, and a really nice feature for anyone implementing the JSON API. Continue reading
After switching back to WordPress from a static blog that did not have any comments, I left comments on out of curiosity to see what would happen. Sure enough, within a few days, I already had over 20 spam comments to moderate. I just switched comments back off, and don’t plan on turning them on anytime soon. They are too much of a hassle a police. There are lots of ways to contact me if you need help or clarification on any of my posts.