hello.js

var please = require('share');
console.log('thank you');

Wednesday, 20 September, 2017 UTC

Detect Supported Video Formats with JavaScript

Detect Supported Video Formats with JavaScript

Over the past few years we’ve been seeing new audio, video, and image formats take shape to challenge the legacy formats that we’ve used since the web’s inception. This is a great development as we have more processing power and better compression algorithms ... more


Tuesday, 19 September, 2017 UTC

Creating a Cloudinary Vue Component

Creating a Cloudinary Vue Component

While React.js has taken much of the attention during the latest wave of JavaScript frameworks, Vue.js has quietly become a favorite of many developers that find React overly complex and don’t want to deal with the webpack tooling. With Vue you can simply ... more


Monday, 18 September, 2017 UTC

Conquering Impostor Syndrome

Conquering Impostor Syndrome

Two years ago I documented my struggles with Imposter Syndrome and the response was immense. I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions. ... more


Thursday, 14 September, 2017 UTC

Safari Learning Platform: Half Price. 48 Hours Only. (Sponsored)

Safari Learning Platform: Half Price. 48 Hours Only. (Sponsored)

For 48 hours only, get a full year of Safari membership for only $199—that’s a savings of $200. Get full, unlimited access to everything the Safari learning platform offers—and that’s a lot—live online training, learning paths, interactive tutorials, ... more


Monday, 11 September, 2017 UTC

Node.js Debugging

Node.js Debugging

Proper logging is of massive utility for web apps, both during development and after deployment. What can sometimes be difficult is organizing both the code and output of logging, i.e. knowing where each log message is coming from. I recently found debug ... more


Thursday, 7 September, 2017 UTC

Object.create(null)

Object.create(null)

One of the funnest parts of JavaScript, or any programming language really, is that there are loads of tiny tricks and quirks that make the language that much more interesting. I recently learned a nice fact about Object.create : using null as the only ... more


Thursday, 7 September, 2017 UTC

Node.js Port Scanner

Node.js Port Scanner

Node.js has become an incredible tool for creating services or utilities that act like a service. Usually it’s npm start , wait a moment, and you’ll see the utility provide an address and port; a good example being localhost:8000 . One thing that bugs ... more


Tuesday, 5 September, 2017 UTC

Observing Intersection Observers

Observing Intersection Observers

As developing for the web has matured and JavaScript engines have become faster, one area remains a significant bottleneck – rendering. It’s because of this that so many of the recent development efforts have been focused around rendering, with virtual ... more


Tuesday, 29 August, 2017 UTC

Create Zip Files with JavaScript

Create Zip Files with JavaScript

While we’re doing amazing things with JavaScript on the server side, it’s important not to take our eyes off of some of the great stuff happening on the client side. One such awesome project I recently discovered was JSZip: a JavaScript library that ... more


Wednesday, 23 August, 2017 UTC

async & await

async & await

JavaScript promises were a revelation in JavaScript, providing an alternative to the JavaScript callback hell we’d quickly found ourselves in. Promises also allowed us to introduce and better handle asynchronous tasks. While promises were an improvement ... more


Wednesday, 23 August, 2017 UTC

Getting Tired of Endless Client Revisions? 270+ Pre-Built Websites Are the Solution (Sponsored)

Getting Tired of Endless Client Revisions? 270+ Pre-Built Websites Are the Solution (Sponsored)

Website revisions are to be expected. They also tend to be few and are usually minor in nature. However, some clients never seem to be satisfied. Sometimes, they also have a problem explaining what they expect from you. On the other hand, your design ... more


Monday, 21 August, 2017 UTC

Thinking JavaScript

Thinking JavaScript

I was teaching a JavaScript workshop the other day and one of the attendees asked me a JS brain teaser during the lunch break that really got me thinking. His claim was that he ran across it accidentally, but I’m a bit skeptical; it might just have been ... more


Tuesday, 15 August, 2017 UTC

Detect WEBP Support with JavaScript

Detect WEBP Support with JavaScript

Image optimization is a huge part of improving front-end performance. We’ve traditionally used JPG/JPEG, GIF, and PNG images but Google and the Chrome team developed the WEBP format which crunches file size and optimizes rendering. If you go to a site ... more


Wednesday, 9 August, 2017 UTC

Fill an Array with Sequential Values

Fill an Array with Sequential Values

I’ve been contributing to Mozilla’s awesome DevTools debugger because, well, I want to give back to the Firefox Engineers and all the developers who have stayed loyal to Firefox. Having my hand in loads of Mozilla projects is really satisfying, especially ... more


Tuesday, 1 August, 2017 UTC

10 Excellent Image Tricks and Enhancements with Cloudinary

10 Excellent Image Tricks and Enhancements with Cloudinary

If you’ve read this blog over the past months, you’ll know that Cloudinary offers an amazing array of functionality, whether it be imagery, video, and even audio. I wanted to highlight ten of my favorite features and tricks when transforming your media ... more


Tuesday, 1 August, 2017 UTC

10 Years

10 Years

A full decade ago I was a rookie web developer at a small web shop in Madison, Wisconsin. When I left college, all I knew was CSS layouts and confirmation boxes. In short: I was as green as could be, much greener that kids coming out of college today. ... more


Friday, 14 July, 2017 UTC

Prevent Mobile Browser From Sleeping

Prevent Mobile Browser From Sleeping

Web developers still have a difficult job when it comes to mobile; the web will never provide as many APIs or as much control as native mobile platforms but our users expect the same excellent experience. Creating HTML5 games and media-heavy apps for ... more


Friday, 14 July, 2017 UTC

Prevent Mobile Browser From Sleeping

Prevent Mobile Browser From Sleeping

Web developers still have a difficult job when it comes to mobile; the web will never provide as many APIs or as much control as native mobile platforms but our users expect the same excellent experience. Creating HTML5 games and media-heavy apps for ... more


Wednesday, 12 July, 2017 UTC

Streaming Data with Fetch() and NDJSON

Streaming Data with Fetch() and NDJSON

*”If you stream it, you can do it” — Walt Disney[^1] * Streams are trickling into the scene as we search for ways to improve performance. What if instead of waiting for our entire ajax response to complete, we could start showing the data as it arrives? ... more


Thursday, 29 June, 2017 UTC

Custom, Embeddable Site Search with Swiftype

Custom, Embeddable Site Search with Swiftype

As hard as we try to make our website navigation and content structure as logical as possible, a large percentage of users would prefer a simple search box to find what they need. That being the case, we need to ensure that site search is as accurate ... more


Thursday, 22 June, 2017 UTC

Add CSS and JavaScript Files to Phabricator Extensions

Add CSS and JavaScript Files to Phabricator Extensions

Every open source framework has its own methods of extending functionality; some make extending incredibly easy and others…not so much. Most of the time it comes down to how well the framework is documented. Phabricator did an awesome job of making necessary ... more


Tuesday, 13 June, 2017 UTC

Two-Factor Authentication with Node.js

Two-Factor Authentication with Node.js

There are a variety of strategies for protecting your important online credentials. We often hear about password managers and generators, but for me, the more important strategy is using two-factor authentication (2FA). Passwords can be guessed, phone ... more


Wednesday, 7 June, 2017 UTC

Fetch and Transform Remote Images with Cloudinary

Fetch and Transform Remote Images with Cloudinary

Many of my dives into Cloudinary’s amazing API like Instagram-like Filters, Image Security, Custom eCommerce, have started with uploading media (images, video, audio) to Cloudinary and then manipulating from there. As social media and user generated ... more


Friday, 26 May, 2017 UTC

Interview with Kyle Simpson, Chair for O’Reilly Fluent Conference

Interview with Kyle Simpson, Chair for O’Reilly Fluent Conference

O’Reilly Fluent Conference, taking place in San Jose on June 19-22, is one of the best conferences if you’re a front-end developer like myself. Most of the big names I’ve known over the past decade have graced Fluent’s stage, one of them being Kyle Simpson. ... more


Tuesday, 16 May, 2017 UTC

Get Python Requirements Package Hashes

Get Python Requirements Package Hashes

Python’s (pip’s) requirements.txt file is the equivalent to package.json in the JavaScript / Node.js world. This requirements.txt file isn’t as pretty as package.json but it not only defines a version but goes a step further, providing a sha hash to ... more


Wednesday, 10 May, 2017 UTC

currencylayer: Simple, Effective Currency Conversion

currencylayer: Simple, Effective Currency Conversion

Every developer that’s maintained an eCommerce site will tell you that being responsible for properly handling currency will tell you it can be a very stressful task. If you write buggy or insecure code, you’re going to cost either your employer or the ... more


Tuesday, 9 May, 2017 UTC

Building Animated SVG Banners

Building Animated SVG Banners

I’ve been reading David Walsh’s blog for years. The tips and tutorials he shares have helped me fix a lot of problems. I love that I get to support him now by advertising TrackJS on his site. Plus, I get a chance to build some cool SVG animations! I’m ... more


Tuesday, 9 May, 2017 UTC

Chris Coyier: Some Amazing Work on CodePen III

Chris Coyier: Some Amazing Work on CodePen III

I’m back! David asked me to rope up some of my favorite stuff on CodePen again, which I both love doing, and wince at the thought of having to pick so few favorites. I like a ton of stuff on CodePen. It’s kind of a hobby of mine. Here’s some things that ... more


Tuesday, 2 May, 2017 UTC

Conference Giveaways: Fluent Conference and Velocity Conference!

Conference Giveaways: Fluent Conference and Velocity Conference!

Two of O’Reilly’s amazing conferences are about to hit San Jose: Fluent and Velocity. Each conference is taking place in San Jose, CA from June 19-22. You’ll learn a ton from the amazing speakers, network with developers like yourself, and have the opportunity ... more


Wednesday, 19 April, 2017 UTC

Command Line Polling

Command Line Polling

In an ideal world, we would have to poll for anything; we would always have events to trigger other functions. This isn’t an ideal world and, however, so it’s important to know how to poll in many languages. I’ve covered JavaScript polling (with and ... more