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

NEW !!!

Thursday, 27 June, 2019 UTC

How to Debug Remote Browsers

It’s super frustrating when bugs pop up only in a remote browser. Something about that user, that device, or that environment is different, but I don’t know what! And of course, I can’t recreate it on my local development machine. The team at TrackJS ... more

Wednesday, 5 June, 2019 UTC

Detect if Element is a Web Component

I’ve advocated for web components since before they became a spec, mostly inspired by the Dojo Toolkit’s dijit framework. Empowering first class JavaScript widgets, as opposed to a mess of DIVs and templates, always made the most sense. Now that web ... more

Tuesday, 21 May, 2019 UTC

Resize Observer

Creating websites that are reactive and responsive used to be considered advanced but responsiveness is a necessity for successful websites and apps. We’ve added media queries, matchMedia , and a host of other APIs to help developers make responsiveness ... more

Tuesday, 21 May, 2019 UTC

AI-Backed Image Background Removal (Sponsored)

I’ve worked on dozens of eCommerce sites in my career and many of them were hamstrung by the same pain points: tax collection, payment customization, and image optimization. While tax collection and payment customization were important, image optimization ... more

Wednesday, 15 May, 2019 UTC

Using Array reduce

Every developer who specializes in any programming language will tell you there’s a powerful tool the language provides that they rarely use and wish they knew more about. For me, it’s Array.prototype.reduce . I quite enjoy the other Array methods like ... more

Tuesday, 7 May, 2019 UTC

Type Conversion with JavaScript Arrays

JavaScript’s loose nature allows developers to employ amazing tricks to do just about anything you’d like. I’ve detailed how you can filter falsy values in arrays using a filter(Boolean) trick, but reader David Hibshman shared another trick for typecasting ... more

Friday, 3 May, 2019 UTC

Awesome Visual Testing with Percy! (Sponsored)

The more complex the applications I work on, the more I rely on and invest in testing. Whether it’s flow typing, jest tests, unit tests, or selenium tests, I rely on all of them to enforce integrity and save me from myself. One type of testing that’s ... more

Thursday, 2 May, 2019 UTC

Flow Object.values(…)

JavaScript typing utilities, like Flow and TypeScript, have become popular in JavaScript apps of all sizes. As I mentioned in our Script & Style Show typing podcast, typing is a great way to implicitly implement documentation and validation. Flow ... more

Monday, 29 April, 2019 UTC

JavaScript Detect Async Function

JavaScript async/await has changed the landscape of how we code. We’re no longer stuck in callback or then hell, and our code can feel more “top down” again. Async functions require the following syntax: async function myFunction() { } To use await with ... more

Wednesday, 24 April, 2019 UTC

Convert Video to Grayscale

I’m a JavaScript fanatic but I’ve always been fascinated with media manipulation. Maybe it’s because I’ve secretly always wanted to be a designer, but I’m fine with being able to manipulate art with software instead of create the art myself. One type ... more

Tuesday, 16 April, 2019 UTC

7 Useful JavaScript Tricks

Just like every other programming language, JavaScript has dozens of tricks to accomplish both easy and difficult tasks. Some tricks are widely known while others are enough to blow your mind. Let’s have a look at {x} JavaScript tricks you can start ... more

Monday, 8 April, 2019 UTC

AI-Based Video Preview from Cloudinary (Sponsored)

The early days of video on the web weren’t great. We started with custom browser plugins and codecs, then moved to Flash, and eventually we found our way HTML <video> . Once we solved the technology problem, we started using more video for content ... more

Tuesday, 2 April, 2019 UTC

Awesome Automation and Integration with Buddy

One of my favorite services for years has been IFTTT (If this then that). Having a service that allows me to trigger a host of functionalities with one simple action is amazing! Posting a picture to Instagram can trigger IFTTT to send a tweet, post to ... more

Tuesday, 26 March, 2019 UTC

Free Programming Courses from Harvard, MIT, Microsoft and more (Sponsored)

Did you know that you can learn programming online from institutions like Harvard, MIT and Microsoft on edX.org? The nonprofit site offers 2000 online courses from 140 institutions worldwide. Courses are free to try. EdX has over 200 courses from Microsoft ... more

Tuesday, 26 March, 2019 UTC

Build a Decentralized Web Chat in 15 Minutes

In this 15 minute tutorial we’re going to build a simple decentralized chat application which runs entirely in a web browser. All you will need is a text editor , a web browser , and a basic knowledge of how to save HTML files and open them in the browser. ... more

Wednesday, 20 March, 2019 UTC

Adding Search to Your Site with JavaScript

Static website generators like Gatsby and Jekyll are popular because they allow the creation of complex, templated pages that can be hosted anywhere. But the awesome simplicity of website generators is also limiting. Search is particularly hard. How ... more

Tuesday, 19 March, 2019 UTC

I Don’t Hate Arrow Functions

TL;DR Arrow functions are fine for certain usages, but they have so many variations that they need to be carefully controlled to not break down the readability of the code. While arrow functions clearly have a ubiquitous community consensus (though not ... more

Monday, 18 March, 2019 UTC

Write Your First Service Worker in 5 Minutes

What is a service worker? A service worker is a little file that will allow you to cache files and other assets on a user’s machine. How is this different from server-side caching? Because the assets are stored on a user’s machine, rather than a server, ... more

Thursday, 28 February, 2019 UTC

Get File MIME Type from Command Line

I’ve gotten skilled at shell scripting over the years. I love a good GUI but knowing how to automate makes you a much more powerful engineer. Much of my scripting requires recursing over directories and processing a file if it meets a given criteria, ... more

Tuesday, 26 February, 2019 UTC

Chris Coyier’s Favorite CodePen Demos IV

Did you know you can triple-heart things on CodePen? We’ve had that little not-so-hidden feature forever. You can click that little heart button on any Pen (or Project, Collection, or Post) on CodePen to show the creator a little love, but you can click ... more

Tuesday, 26 February, 2019 UTC

JavaScript Proxy

I’ve always loved the flexibility of Objects and prototypes in JavaScript, but for a long time, I felt that a level of dynamism was lacking. JavaScript eventually added get and set methods for object properties, which was an awesome step, but there was ... more

Friday, 22 February, 2019 UTC

Awesome Analytics with Keen.io (Sponsored)

As a young developer, I would often make decisions based on what I considered to be common sense or what I would envision appealed to users. What a mistake. As I’ve become more experienced as a developer and a businessman, I’ve realized that analytics ... more

Wednesday, 20 February, 2019 UTC

Building a Landing Page Fast Using the Visual Composer Website Builder (Sponsored)

What if it were possible to build a landing page from top to bottom, including a header and a footer, and do so without any need for writing code? And even if it was possible, could you reasonably expect to do so as easily and quickly as putting together ... more

Tuesday, 19 February, 2019 UTC

Using Slack Slash Commands to Send Data from Slack into Google Sheets

Since I work from home, most of my daily work interactions happen through Slack. It’s my equivalent to the water cooler. A place to hang out and discuss ideas with friends. I’m part of a book recommendations channel. People share books all the time, ... more

Monday, 4 February, 2019 UTC

CSS :placeholder-shown

One of the first plugins that would hit a new framework in the early days of JavaScript frameworks was a placeholder plugin, which is why we were so excited when HTML5 brought us the placeholder attribute. Then CSS lovers like me were thrilled when the ... more

Monday, 28 January, 2019 UTC

prefers-color-scheme: CSS Media Query

One device and app feature I’ve come to appreciate is the ability to change between light and dark modes. If you’ve ever done late night coding or reading, you know how amazing a dark theme can be for preventing eye strain and the headaches that result. ... more

Tuesday, 22 January, 2019 UTC

React indeterminate

I’ve fallen in love with React.js and JSX over the years; state-based rendering and a logical workflow have made me see the light of this modern framework. That doesn’t mean I don’t sometimes get a bit frustrated that the “simple” things seem harder ... more

Tuesday, 15 January, 2019 UTC

JavaScript Labels

No matter how long you’ve been a JavaScript developer, there will always be language features that you didn’t know about until you saw them in a fringe piece of code. Your reaction generally is a bit like: One of those features I see developers quizically ... more

Tuesday, 15 January, 2019 UTC

Colorized Brackets for IDE

Coders treat their text editors and IDE’s like fragile beings, and for good reason: we spend a ton of time in them and having our tweaks and extensions can make us incredibly productive for our personal workflows. I always love hearing about what extensions ... more

Saturday, 5 January, 2019 UTC

Background Sync with Service Workers

Service workers have been having a moment. In March 2018, iOS Safari began including service workers — so all major browsers at this point support offline options. And this is more important than ever — 20% of adults in the United States are without ... more