Search
Count Frames in an Animated GIF
26.6.2018
The animated GIF always makes me chuckle; on one hand they seem like a relic of the “old web”, on the other hand they aren’t going anywhere and their meme-like presence seem to only make them more popular. If you browse through my media blog posts archives, you’ll notice...
Easy Document Signing with the Eversign Chrome Extension
25.6.2018
A while back I wrote about Eversign, an awesome service that allows you and your clients or partners to digitally sign documents online. If you’ve recently bought a house or did any other large purchases or agreements, you know how important the ability to reliably sign documents online is. ...
Convert HTML to Markdown
21.6.2018
One of my biggest mistakes with this blog was not finding a WordPress plugin that would allow me to write my posts with markdown; to this day I still need to write posts in “Visual” mode and then manually convert the post to HTML for “Text” mode. One of these days I want...
Show FPS for Steam Games
18.6.2018
There’s nothing more frustrating to a top gamer (outside of bugs in a game) than dropped frames in a video game. If you’re playing a competitive multiplayer game like PUBG or Fortnite, where up to 100 people are simultaneously competing, dropped frames can be the difference between...
Uppy File Uploading
11.6.2018
One of the big tasks I was charged with at my first job was setting up a system by which any customer or potential customer (aka anonymous user) could upload PDF and image files. I had loads of constraints to deal with: browser support, server settings, variance in user tech knowledge, etc....
console.logTime
7.6.2018
I work on a really complex debugger at Mozilla but, and don’t tell my colleagues, I sometimes enjoy simply using console.log and other console commands to get some simple output. I know, I know, but hey — whatever gets the job done. A few years ago I detailed console.time...
console.timeLog
7.6.2018
I work on a really complex debugger at Mozilla but, and don’t tell my colleagues, I sometimes enjoy simply using console.log and other console commands to get some simple output. I know, I know, but hey — whatever gets the job done. A few years ago I detailed console.time...
What’s Next for Hybrid App Developers? (Sponsored)
5.6.2018
The story of hybrid application development is a never-ending one. Each framework has to continuously strive and innovate to remain relevant, and the discussion of which framework to use is a question often asked. Most hybrid applications are built using a combination of HTML, CSS, and JavaScript....
Script & Style Show: Episode 11: Ionic Framework with Max Lynch
1.6.2018
In this episode: David blames his wife for getting sick and missing last week’s show, Todd’s got a new Jeep, and David then blames his wife for not letting him have a Jeep. Oh, and Max Lynch of Ionic Framework fame stops by to talk about Ionic, Stencil, Web Components, the state...
OpenRates Currency API (Sponsored)
30.5.2018
Creating your own APIs can be a total nightmare: worrying about uptime, load balancing, data accuracy, caching, and all of the other risks would keep me up at night. And if your API relates to money in any way? If you get that wrong you could be costing yourself, your employer, or your client...
How to Delete Untracked Files in a Mercurial Repository
29.5.2018
Working around Firefox at Mozilla means that you need to get acquainted with mercurial, the version control system that rivals git and svn. Like any tool, hg (mercurial) can be difficult until you’re well versed with it. And if you hg import a URL that doesn’t match up with...
Script & Style Show: Episode 10: Dojo
22.5.2018
In this episode: David and Todd welcome Dojo and JavaScript legend Dylan Schiemann and TypeScript and Dojo 2 superhero Nick Nisi. We cover the early days of Dojo, the road to 2.0, and what’s in Dojo 2.0 and beyond. Enjoy!
The post Script & Style Show: Episode 10: Dojo appeared first...
Regain Disk Space from Homebrew
21.5.2018
One of my favorite utilities is Homebrew, the shell utility for installing and upgrading other utilities — it’s a lazy developer’s dream. Dreams can easily turn to nightmares, however, and I recently learned that Homebrew caches older versions of installed packages, leading...
Unicode Patterns
18.5.2018
These Unicode patterns by Yuan Chuan are extraordinarily clever. It's a <css-doodle> custom web component that sets up a CSS grid and randomizes what character to drop into a cell and things, like color.
See all their gorgeous work on CodePen and the very cool <css-doodle> website...
Detect WebVR Support with JavaScript
16.5.2018
It’s been two years since I was heavily involved with WebVR at Mozilla but, despite not contributing every day, I can see VR making leaps and bounds, from Firefox making an increased effort to Chrome pushing VR and Oculus and HTC (Vive) improving their offerings. Native games are getting...
CDN, Web Security, and DDoS Protection from Incapsula (Sponsored)
16.5.2018
There used to be day that you could have a small to large website that didn’t require protection and worldwide CDN but, with how easy it is to initiate a DDoS attack and how important website speed is for search engine placement, it’s a given that you should look for a service to handle...
Get a React Component by DOM Node
15.5.2018
Retrieving a React component’s DOM node is fairly simple from within the component itself, but what if you want to work backward: retrieve a component’s instance by DOM node? This is a task that the old Dojo Toolkit’s Dijit framework allowed with the dojo.byId method, so it made...
How to Get a React Component’s Element
14.5.2018
JSX is an amazing pseudo-language for React, and if I’m honest, it’s what brought me to love React so much. Using React without JSX is cumbersome and frustrating, while using JSX is such an easier way to express your code. One drawback of JSX, however, is that it makes accessing...
Vertically Centering with Flexbox
8.5.2018
Vertically centering sibling child contents is a task we’ve long needed on the web but has always seemed way more difficult than it should be. We initially used tables to accomplish the task, then moved on to CSS and JavaScript tricks because table layout was horribly inefficient —...
React and autofocus
7.5.2018
While I love ReactJS, I can say that I sometimes find interactions that were easy during the pre-ReactJS are annoyingly difficult or at least “indirect”. One example is properly ensuring that a given <input> element gets focused when a button in a different component...