If I wrote it, it should be here.
We Built the Web with Tables and Luck
Before frameworks and devtools, we built the web with tables, spacer GIFs, and a lot of trial and error.
If I wrote it, it should be here.
Before frameworks and devtools, we built the web with tables, spacer GIFs, and a lot of trial and error.
This summer I took my first sabbatical. It was a relatively new policy and I didn’t have much time to plan unless I wanted to push it into next year. By the time it was official, the kids already had…
Most people don’t spend time thinking about CSS selectors, and honestly, even most developers probably don’t have “favorites.” But every now and then, I catch myself appreciating a few of the lesser-used pseudo-elements. They’re easy to overlook, but I like…
Back in 2009, I submitted a project to The New York Times’s internal Tech Challenge: a demo called Times Now, later renamed to Times Wire. The idea was simple: a clear, reverse-chronological stream of every story published to the homepage. It was…
Looking back at the beginning of Quartz In early 2012, I was living in Seattle. I’d left The New York Times less than a year earlier after a long stint but I was missing media. I was on a quick…
URLs are the most overlooked part of web design. People obsess over page speed, conversion rates, and SEO rankings, but then let their CMS generate URLs that look like they were created by a stranger they met on the subway.…
I have a notebook. I spent a long time searching for it, the right paper, the binding, the ideal shade of off-white. The plan was simple: a place for ideas, projects, and inspiration. The reality has been mostly empty pages.…
You might want to create an anonymous website for all kinds of reasons. I’m a strong believer in personal privacy, not in supporting anything illegal. I enjoy thinking through scenarios I don’t actually need to worry about, like how I’d…
It’s very in coming, but we’re slowly getting the means to indicate that our site content should not be used in training sets for generative AI models. It’s still unclear whether existing web crawlers were used to train current LLMs…
An at-a-glance list of JavaScript array methods for everyday coding.
The default slug is generated from the initial title. If the title is long, this can be annoying. I prefer short URLs without common filler words like “the,” “and,” or “I.” This setup also limits slugs to a maximum of…
humans.txt is a simple but meaningful way for web developers (and other contributors) to take credit for their work and leave a trace of their presence on the web. Given enough time, everything a web developer touches tends to disappear. The…
A collection of useful functions, actions, and other ways to alter WordPress. Change default slug for Posts The default slug is based on the initial Title. If the title is long htis can be very annoying as I personally like…
Twitter was a really important service for me, but that’s changing quickly and I’m not too sure what comes next. What I do know is that I’ve been on it for 16 years, and that means something to me. As…
Mastodon allows you to add up to five links to display on your profile. You can easily verify yourself as the owner of the links in your profile metadata if you have full control of the page. However there are…
Favicon of any domain via DDG
Rather than re-inventing this every few months, or years, I’m sticking it here for posterity. Nothing here is sensitive. The file
I love this plugin, The SEO Framework for WordPress. Aside from SEO benefits and managment options it adds criticial controls for the editorial team in managing the various META tags we rely on for social previews. It has numerous hooks and actions, though…
Disable Dictionary.app Disable the Dictionary.app so it doesn’t always pop-up when you accidentally highlight something, or sneeze. Make these changes in the System Preferences but note that you may need to adjust settings on some apps too. TextEdit: Open with a blank…
Terminal & Network Fonts & Typography Platform IDE & Rleated utilities Image Design & Wireframes Video & Encoding Utilities
My usage of sudo has gone down over the last couple of years, but enabling Touch ID on my Mac for use with sudo has been a huge win. Yes, you have to take your fingers off the keyboard for this so…
Collection of code fragments and useful notes for WordPress Basic word-count by post, from databse Get list of WP posts with coauthors, including date If you use Coauthors Plus plugin and need a list of posts. This provides basics, including…
Nothing earth shattering, just a collection of code fragments and functions I keep re-writing and re-using… Basic compression of CSS for output Common utility functions Basic readable date Adjust JSON_PRETTY_PRINT for JSON Make it use 2 spaces, instead of 4.…
The realm of web performance goes deep into the perceived user experience of load time and the actual load time. My specific interest is in media and presenting information to readers – typically article pages. For any given news site,…
Your mileage will vary depending on age and disposition but this is what works for me. TSA Pre-Check via Global Entry I hate this in principle but here I am. If you don’t have this get Global Entry which includes…
As the new template for The San Francisco Chronicle rolls out to a wider audience, I want to take a step back and talk a little on web page performance. We’ve asked a lot of our web pages over the years, slowing…
There was a certain level of mis-information and mis-understanding regarding the EU privacy regulations that came into law. I would argue that there are a lot of pundits who have no idea how difficult it is to audit your own…
I first started reverse-engineering the .puz file format about 6 years ago. Its a very efficient crossword format that goes to great lengths to compact the data into a small payload. (Update: In September 2021 the NYT no longer uses this file format)…
a.k.a. “I found an old bunch of screenshots” Quartz launched on September 24th, 2012 at 9:55am EST. As it comes up on 5 years of age, I thought it was overdue to test my l33t medium typing skillz. Quartz started…
You’ve registered a domain with Dreamhost and you might even be hosting a site there. In an ideal world you’d use Gmail with the domain for your email but you don’t really want to shell out the money and have…
To be fair, these are not properly formatted Haikus but they are fun to extract and search for. This demo focuses on a current article from The New Yorker by pulling one from a JSON feed. However you can easily adapt this…
With the relaunch of Time.com I’ve had a number of people comparing it to Quartz. This happened too when Daily Beast made updates last year, but its been more pronounced this time. Either way, its something I feel that is…