hello.js

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

Tuesday, 3 April, 2018 UTC

Destructuring and Function Arguments

Destructuring and Function Arguments

The JavaScript language has benefitted from some really awesome new features over the past few years, including arrow functions, the spread operator, and default function argument values. Even if your browser doesn’t yet support proposed JavaScript API ... more


Saturday, 31 March, 2018 UTC

Script & Style Show: Episode 5: Q&A

Script & Style Show: Episode 5: Q&A

On this week’s episode: Todd’s back from vacation while David’s knee-deep in a Firefox Debugger breakpoint UI update. We eventually move on to viewer questions that range form JavaScript knowledge, the Array.flatten controversy, front-end testing (TDD ... more


Friday, 23 March, 2018 UTC

5 Crucial Concepts for Learning d3.js and How to Understand Them

5 Crucial Concepts for Learning d3.js and How to Understand Them

You may have already heard about d3.js , the dazzling JavaScript library that lets you create beautiful charts and graphics with just a few lines of code. You might have seen some of the fantastic examples of D3 in action, or you may have heard that ... more


Tuesday, 20 March, 2018 UTC

Building a NodeJS App with MongoDB Atlas and AWS Elastic Container Service – Part 2 (Sponsored)

Building a NodeJS App with MongoDB Atlas and AWS Elastic Container Service – Part 2 (Sponsored)

It’s that time of year again! This post is part of our Road to AWS re:Invent 2017 blog series. In the weeks leading up to AWS re:Invent in Las Vegas this November, we’ll be posting about a number of topics related to running MongoDB in the public cloud. ... more


Monday, 19 March, 2018 UTC

Script & Style Show: Episode 4: Tooling

Script & Style Show: Episode 4: Tooling

On this week’s episode: David starts the show by revealing he has a headache and an hour of discussing JavaScript tooling will not make it better. The show covers the history of JavaScript tooling (from nothing to JavaScript loaders, minifiers, webpack, ... more


Thursday, 15 March, 2018 UTC

React Video Player

React Video Player

Streaming entertainment is a massive interest of mine as both a consumer and web developer. My love for streaming entertainment dates back to the early days of RealPlayer and the misery of a million codecs. Fast forward to today and I’m working a lot ... more


Tuesday, 13 March, 2018 UTC

Building a NodeJS App with MongoDB Atlas and AWS Elastic Container Service – Part 1 (Sponsored)

Building a NodeJS App with MongoDB Atlas and AWS Elastic Container Service – Part 1 (Sponsored)

It’s that time of year again! This post is part of our Road to AWS re:Invent 2017 blog series. In the weeks leading up to AWS re:Invent in Las Vegas this November, we’ll be posting about a number of topics related to running MongoDB in the public cloud. ... more


Thursday, 22 February, 2018 UTC

Script & Style Show: Episode 1: Marc Grabanski

Script & Style Show: Episode 1: Marc Grabanski

On this second episode of the Script and Style show, Todd and I welcome Marc Grabanski of Frontend Masters. After commiserating over home automation madness, we asked Marc about how he got started in the web industry, his first jobs, his entrance in ... more


Monday, 19 February, 2018 UTC

How to Create a Twitter Bot with Node.js

How to Create a Twitter Bot with Node.js

Twitter bots have been in the news over the past few years due to election meddling, not only in the United States but stretching across the globe. There are, however, good and logical reasons for creating Twitter bots. In order to see how easy it was ... more


Thursday, 8 February, 2018 UTC

Enhanced Email Validation with mailboxlayer (Sponsored)

Enhanced Email Validation with mailboxlayer (Sponsored)

Validation is an important part of managing any data you receive, especially when it comes to web forms. If you really want to be secure with the data, you use HTML5 validation rules, JavaScript validation, and then the most importantly layer, the server-side ... more


Friday, 2 February, 2018 UTC

Using Storybook with Nuxt

Using Storybook with Nuxt

Nuxt.js has been a lot of fun to use in production web apps and side projects. It’s simple, fast, and seems very in line with web standards when it comes to creating components, importing plugins, etc. Equally as exciting has been the rise of Storybook. ... more


Thursday, 25 January, 2018 UTC

Better Node.js Console Dumps with console-probe

Better Node.js Console Dumps with console-probe

Writing JavaScript in the Node.js environment has always felt a bit more difficult; probably because browser developer tools have become incredibly powerful, interactive, and visually appealing. Using console.log on the client side isn’t the best of ... more


Wednesday, 10 January, 2018 UTC

Hello DevTools!

Hello DevTools!

When I was a 17 year old noob, going to technical college in my home town, I was introduced to a browser called Firebird, which would later be renamed Firefox. I was immediately drawn to this new browser; Firebird was fresh, exuded excitement, but most ... more


Tuesday, 9 January, 2018 UTC

Awesome File Compression and Delivery with KeyCDN and Brotli

Awesome File Compression and Delivery with KeyCDN and Brotli

I’ve seen the KeyCDN name around for years, mostly as a free content delivery network (CDN) for many open source JavaScript frameworks, and based on that alone I’ve always thought very well of them. KeyCDN recently asked me to check out one of their ... more


Tuesday, 9 January, 2018 UTC

Six Tiny But Awesome ES7 + ES8 Features

Six Tiny But Awesome ES7 + ES8 Features

Development of new features for the core JavaScript language has really improved over the last five years, thanks in part to JavaScript frameworks pushing the limits and proving how important given functionality can be. My previous ES6 posts, Six Tiny ... more


Tuesday, 2 January, 2018 UTC

JavaScript fetch with Timeout

JavaScript fetch with Timeout

The fetch API started out as a target for criticism because of lack of timeout and request cancelation. While those criticisms could be argued as fair or not, the you can’t deny that the fetch API has been pretty awesome. As we’ve always done, if a feature ... more


Monday, 1 January, 2018 UTC

Mine Bitcoin and Monero in the Browser

Mine Bitcoin and Monero in the Browser

I recently heard this story from Buenos Aires where a Starbucks was caught was caught mining cryptocurrency on customer computers that were attempting to connect to free WiFi. I also ran a Twitter poll recently asking if people would allow sites to mine ... more


Wednesday, 20 December, 2017 UTC

Watch for Object Changes with JavaScript

Watch for Object Changes with JavaScript

Watching for changes to an object’s property has always been a much sought after task; many shims have been used over the years to listen to object changes. These days we have better methods for listening to object changes: the Proxy API. Sindre Sorhos ... more


Monday, 18 December, 2017 UTC

Goals for 2018

Goals for 2018

Every turn of the year is a new opportunity to start over, set goals, and renew optimism that time can heal wounds and drive us to change and achieve. For me 2018 is my most important year in a long time; 2018 needs to serve as a turning point for this ... more


Thursday, 7 December, 2017 UTC

Dynamic Waveform Visualizations with wavesurfer.js

Dynamic Waveform Visualizations with wavesurfer.js

Waveform images are an awesome addition to boring audio widgets. They can be functional as well as aesthetically pleasing, allowing users to navigate audio visually. I recently found wavesurfer.js, an amazing waveform image utility that uses to Web Audio ... more


Thursday, 7 December, 2017 UTC

Faster PR Pulls with Git Aliases

Faster PR Pulls with Git Aliases

I love the traditional GitHub workflow of receive pull request, pull down pull request to test, and merge the pull request. GitHub makes the first and the third steps easy but pulling down pull requests from new contributors requires some boilerplate ... more


Monday, 4 December, 2017 UTC

Confessions of a Web Developer XVI

Confessions of a Web Developer XVI

It’s been quite a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash: If I were just getting into front-end development, I’d be so lost. The norm these days seems to ... more


Wednesday, 29 November, 2017 UTC

Cloudinary Launches a Complete Video Solution

Cloudinary Launches a Complete Video Solution

Over the past year I’ve shown you how amazing Cloudinary is for media delivery, optimization, image filters and transformations, Vue and React; whatever the task, Cloudinary has you covered. Today I’m happy to share that Cloudinary has a massive new ... more


Friday, 24 November, 2017 UTC

Excellent Resources for Web Professionals (Sponsored)

Excellent Resources for Web Professionals (Sponsored)

All web professionals, including web designers and developers, are looking every moment for ways to get the projects done faster, to respect deadlines, to deliver excellent quality and finally to have happy customers. This showcase is about excellent ... more


Wednesday, 8 November, 2017 UTC

7 Ways to Stay Ahead, Solve Problems, and Learn New Skills

7 Ways to Stay Ahead, Solve Problems, and Learn New Skills

Having O’Reilly as a sponsor is a developer and blogger’s dream. Being backed by the industry leader is a great show of confidence, but more importantly, I get to share with people a service I really like. Today I’d like to share with you all of the ... more


Thursday, 26 October, 2017 UTC

Patch Super Dram World

Patch Super Dram World

My recent dive into retro gaming has opened my eyes to how much time and effort still goes into playing console games that are as old as I am. The basic challenge has gone out of these games, understandably, so players have improvised new goals like ... more


Tuesday, 17 October, 2017 UTC

Node EADDRINUSE (Address Already in Use) Error

Node EADDRINUSE (Address Already in Use) Error

Every once in a while my Macbook Pro freaks out and a process goes rogue. This oftentimes happens when I’m working on the excellent debugger.html project; I attempt to start the server side of the debugger and suddenly I’m hit with an error that resembles ... more


Tuesday, 10 October, 2017 UTC

Detect Supported Audio Formats with JavaScript

Detect Supported Audio Formats with JavaScript

As streaming becomes our main entertainment source and vendors fight to create the best video format, it’s going to be more and more important that we detect device and browser video support before posting videos on our websites. We think less about ... more


Monday, 9 October, 2017 UTC

Better Debugging with Conditional Breakpoints

Better Debugging with Conditional Breakpoints

I love conditional breakpoints. Really! They’re my favorite debugging tool. When I got started in web development, “debugging” for me meant creating a <pre id='log'></pre> and appending strings to its contents to act as a log. But once Firebug ... more


Tuesday, 3 October, 2017 UTC

Image and Video Conversion with Cloudinary

Image and Video Conversion with Cloudinary

I’ve always been fascinated with media formats and converting both images and video from one format to another. Media conversion allows us to play videos on devices or apps with picky media requirements and load optimized formats for faster download ... more