Over the past few months, my own outlook on the wide use of social media has grown dim. I have gotten to the point where I believe the saturation and over-use of social media is actually bad for your mental health. It’s impossible to have a real conversation. People automatically assume the worse intentions and read meaning into your text that isn’t there. Jealousy and bitterness of fake picture-perfect lives takes root in innocent hearts. There are still some upsides, but the list of downsides keeps growing longer.
If you’re looking to add ESLint capabilities to Vim, check out ALE (Asynchronous Lint Engine). It’s faster than syntastic, and provides real-time as-you-type lint updates without any blocking or slowness. It’s great.
This is a big milestone for my main side project. After over half a year of hard work leading up to this, the ChurchMint mobile apps are finally live. The apps are not where most of the work is, but they will most likely be the main entry point and main interaction point with the ChurchMint service for congregation members to receive push notifications, etc. Continue reading
This is old news at this point, but I now officially work for Oracle since Oracle acquired NetSuite. The employment transition for all US employees was Jan. 1, 2017. NetSuite will continue to be run as an “independent business unit”, and my work has stayed the same. So far.
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
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