Effective Browser JavaScript Debugging

How to effectively debug your web application is increasingly becoming a critical skill for any web developer, especially with the rise of ever-more complicated JavaScript applications with code transpiling and obfuscation. I wanted to teach the other developers at my company how to do this to be more effective at work, and developed it into a full talk that I have given at many conferences all across the world. My local user group OKC.js was the first time this talk was recorded and made available online. Please check it out:

Oracle Acquires NetSuite

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.

Don’t Bet Against Language Features

Remember when all the blogs in PHP land were telling you to use single quotes because double quotes are slow? I was a heavy PHP user at the time, and man I sure do. The advice was actually factually correct at the time, but has long been fixed in PHP, and it would never have mattered in your application anyways. I have seen this scenario play out again – this time with JavaScript Promises.

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

Stronger Encryption and Decryption in Node.js

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

Disposeamail.com Re-launch: The Spam Never Stops

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, asdf@disposeamail.com).

But wait. Why would I launch a new project when I just recently committed to concentrating on a single project? Because I wanted to learn and experiment with a few things that will ultimately help me with my main project. Namely: New methods of Node.js scaling and deployment, and experimenting with some new JavaScript features and build systems. I have already learned a lot on those two fronts just making and deploying Disposeamail that will get integrated back into ChurchMint and other projects over the next few weeks. Continue reading

Speaking at Confoo Vancouver 2016

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.

Source: https://github.com/vlucas/presentation-slides-you-dont-know-nodejs/
Slides: https://vlucas.github.io/presentation-slides-you-dont-know-nodejs/

Effective Browser JavaScript Debugging

Did you know that your web browser has a full suite of built-in JavaScript debugging tools? With the developer tools in Chrome, Firefox, and Safari, you can debug JavaScript on the fly with breakpoints, watch expressions, an interactive REPL with autocomplete, and much more. Learn how to troubleshoot bugs and memory leaks like a pro, armed with the same web browser you already use everyday – no extra plugins or downloads required.

Content: https://github.com/vlucas/presentation-slides-js-browser-debugging/
Slides: https://vlucas.github.io/presentation-slides-js-browser-debugging/