Search
The Software We Pay For
5.12.2018
We did a Web Developer Economics series a few years ago, where we looked at the various costs of being a web developer:
Web Developer Economics: One-Off Software Costs
Web Developer Economics: Hardware Costs
Web Developer Economics: Monthly Service Costs
Web Developer Economics: The Wrapup
I'm...
DRY Switching with CSS Variables: The Difference of One Declaration
5.12.2018
This is the first post of a two-part series that looks into the way CSS variables can be used to make the code for complex layouts and interactions less difficult to write and a lot easier to maintain. This first installment walks through various use cases where this technique applies. The second...
The All Powerful Front-End Developer
5.12.2018
I posted a video of this talk some months back, but it was nearly an hour and a half long. Here's an updated version that I gave at JAMstack_conf that's only 30 minutes:
The gist is that the front-end stack is wildly powerful these days. Our front-end skillset can be expanded to give us power...
It’s not about the device.
4.12.2018
Ever have that, "Ugighgk, another device to support?!" feeling? Like, perhaps when you heard that wrist devices have browsers? Ethan's latest post is about that.
Personally, the Apple Watch is interesting to me not because it’s a watch. Rather, it’s interesting to me because it’s...
Bridging the Gap Between CSS and JavaScript: CSS Modules, PostCSS and the Future of CSS
4.12.2018
In the previous post in this two-part series, we explored the CSS-in-JS landscape and, we realized not only that CSS-in-JS can produce critical styles, but also that some libraries don’t even have a runtime. We saw that user experience can significantly improve by adding clever optimizations, which...
Sayonara Edge
4.12.2018
Sounds like Edge is going to spin down EdgeHTML, the engine that powers edge, and go with Chromium. It's not entirely clear as I write whether the browser will still be called Edge or not. Opera did this same thing in 2013. We'll surely be seeing much more information about this directly from...
Too Much Accessibility
3.12.2018
I like to blog little veins of thought as I see them. We recently linked to an article by Facundo Corradini calling out a tweet of ours where we used an <em> where we probably should have used an <i>.
Bruce Lawson checks if screen readers are the victims of these semantic...
Bridging the Gap Between CSS and JavaScript: CSS-in-JS
3.12.2018
In this article, we’re going to dig into the concept of CSS-in-JS. If you’re already acquainted with this concept, you might still enjoy a stroll through the philosophy of that approach, and you might be even more interested in the next article.
Web development is very interdisciplinary. We’re used...
Blue Beanie Day 2018
30.11.2018
Another year!
You better not cry, you better not shout, I’m telling you why: @BlueBeanieDay is coming Nov. 30! Start sharing your #bbd photos, links, articles, and videos now: https://t.co/3US4vHBsDR#a11y #WebStandards #InclusiveDesign #ProgressiveEnhancement pic.twitter.com/AiV3ktRqka
—...
Nesting Components in Figma
30.11.2018
For the past couple of weeks, I’ve been building our UI Kit at Gusto, where I work, and this is a Figma document that contains all of our design patterns and components so that designers on our team can hop in, go shopping for a component that they need, and then get back to working on the problem...
Embed a Blog Onto Any Website With DropInBlog
30.11.2018
With DropInBlog, you can embed a blog into your site in only three minutes. A quick JavaScript/HTML widget, or a full-featured JSON API, is all it takes.
A headless blog you can take anywhere
Ever been working on your existing static site or anything that wasn’t built with WordPress, wanted...
Get Viewport Lines and Columns in CodeMirror
27.11.2018
CodeMirror is an amazing utility for presenting code in a browser environment. Syntax highlighting, widgets, and a number of advanced functions make it a unique, useful tool. When using CodeMirror inside the Firefox DevTools debugger, I found that adding hundreds of column breakpoint widgets...
Replace Last Command in Shell
26.11.2018
Whether I fat-finger a command or my MacBook Pro keyboard’s keys don’t want to respond like they should, I’m frequently misspelling commands. What’s more frustrating is that many of these commands are long, taking making fixing theme time-consuming. Luckily a Twitter...
Script & Style Show: Episode 28: “Get Off My Lawn”, and Other Software Stories with Eric Brandes
18.11.2018
In this episode: Todd and David kick things off bantering about cell phones, Android rot, and the good old days of Windows XP and piracy. Todd’s colleague Eric Brandes gets us back on track with a discussion about trusting proven technologies, not chasing the latest fads, how TrackJS...
Script & Style Show: Episode 26: Web Games with ExcaliburJS with Erik Onarheim and Kamran Ayub
18.11.2018
In this episode: Todd returns from a vacation to Disney and gives David some tips about surviving a family visit to Orlando’s most famous theme parks. Erik Onarheim and Kamran Ayub join the guys to discuss HTML5 games, the Excalibur JavaScript HTML5 game library, the amazing games made with...
Object.fromEntries
9.11.2018
The Object object has been buffed with useful methods over the past few years. Object.keys, Object.values, Object.freeze, and Object.assign all address frequently desired functionality. One of the new Object methods is fromEntries, which accepts a Map or map-like array nesting and converts it...
Download a YouTube Channel’s Videos
7.11.2018
YouTube is an endless source of entertainment, be it stuff you’re proud to share you like or stuff you would rather others not know about (see: David’s history of watching old WWE Royal Rumbles). I watch a lot of YouTube in hotels and on flights when I don’t have internet access...
Turn Bluetooth On and Off from Command Line on macOS
6.11.2018
Bluetooth has been a revelation in wireless technology: wireless mice, headphones, streaming devices, and a variety of home and office environments. It goes without saying that wireless peripherals are so much easier to manage than wired counterparts, especially mice, that I usually have...
Get Up and Win
5.11.2018
Down on my hands and knees, I crawl around, bleeding out. I’m resigned to my fate. A kind stranger, a new friend, rushes over to me and kneels to help, reviving me at a time that didn’t require it. Just as I’m revived, the kind stranger says “Get up and win”. I...
Lessons in Failure: Removing the Old Debugger from Firefox
29.10.2018
Joining the Firefox DevTools team was a dream come true for me. I shared why in the first episode of the Script & Style show but the quick summary is that I grew up loving Firefox (even before it was called “Firefox”) because Mozilla cared about developers via their early developer...