Productivity traps I fall into regularly

There’s some productivity traps I fall into on a regular basis. They all tie into my personal flavor of ADHD but it’s not totally fair to blame the ol’ meat-wad brain when I know when, where, and why it happens.

Inverse text-sizing based on text-length with attr()

Text reflow on the web has an interesting relationship with Responsive Web Design. As a column gets smaller text wraps and becomes taller1. But for large format display text, that’s not always what you want2. What I’ve wanted for awhile now is a way to inversely size text based on...

The unsung principles of RedwoodSDK

We had Peter Pistorius on ShopTalk to talk about RedwoodJS and the project’s pivot to an almost entirely different project called RedwoodSDK. I am a complete outsider but I liked what RedwoodJS (the old project) was trying to do and didn’t fully understand why they felt the need to reboot....

Chekuskin's dream

Chekuskin dreamed he was in a factory sidling up the walkspace, besides some immense machine. But when he put his hand on it to steady himself, instead of cold metal the surface he felt was lively and warm. Little tremors ran through it, but not mechanical ones. The machine he...

The Fifth Estate

Careless People is a tell-all book that walks through Facebook’s rampant (and criminally?) inept responses to it’s growing role in global policy, from it’s role in the Rohingya genocide in Myanmar to the election of Donald J. Trump. The book, written by Facebook’s former director of foreign policy Sarah Wynn-Williams,...

Take My Hand, Precious Lord

Take My Hand, Precious Lord (also known as the inverse Precious Lord, Take My Hand) is an old gospel hymn with a unique and special tie-in to the American Civil Rights story. Written in 1932 by Thomas Dorsey after he co-founded National Convention of Gospel Choirs and Choruses (NCGCC), the...

Vibe Check №38

It’s been an eventful three months since my last update. I nearly burnt myself out powering through a big internal release at work in February, a season of back-to-back family activities March and April, I turned 45 at the end of April and school lets out next week. Summer has...

Moving from Notion to Obsidian

As the world turns, so doth productivity apps churn. Readers of this blog will know I’ve been a user of Notion for the last seven-plus years. The block-based editor, the database features, and general “webbiness” of Notion suited me and let my inner productivity- and systems-wonk flourish.

How to make a Link Aggregator in Obsidian

I’m finishing up my move from Notion to Obsidian and one complexity I encountered was all my saved links. In the almost seven years of using Notion, I amassed a ~1.2 GB database of links. This is because of how the Notion Web Clipper creates a backup of the article...

Week Links №2: April 2025

Last year I attempted to do some newsletter-style link aggregation… that good intention imploded spectacularly. But I switched to Obsidian this month and now I have a better system for aggregating links (post on that coming later). Inside this issue you’ll find some games, some homelab server hardware, some AI...

Don't let your voice be flattened by the über theme

I want you to have a blog. Despite this being nearly my entire online ethos, one situation I struggle with are design systems and UX blogs on Medium. A lot of them exist. Yet. I have difficulty understanding UX and design professionals in this space who yield their UX and...

Enshittification as a matter of taste

“Enshittification” is a termed coined by Cory Doctorow in 2023 to describe a pattern of decreasing quality observed in online services and products. Since Doctorow’s post, there’s been no shortage of think pieces on enshittification and its role in our society and to a large extent I agree with them...

Tag, you're it

I’m a bit behind in my RSS feeds and I didn’t realize Susan tagged me to answer a series of questions about my blog. I’ve read dozens of these and to be honest was feeling a little left out, so thanks Susan for including me! (Susan’s one of my favorite...

I don't like sand

Happened upon a good example of the problem with AI generated alt text. It’s a gif of the infamous scene from Star Wars Episode II where Hayden Christensen playing Anakin Skywalker tells Natalie Portman’s character Queen Amadala, “I don’t like sand.” It’s the first phrase in the worst lines of...

The only way to know for sure... is to build a prototype

Vibe Check №37

As the weather in Texas flip-flops weekly between sunny Spring and snowy Winter, I’ve been dealing with a bit of personal health this last quarter. From my ADHD diagnosis, to trying meds for the first time, to back-to-back sicknesses, then constant migraines, and then I think I got the Norovirus...

15 Minutes

A story about pans

The other day I sent my wife a link to a new set of ceramic pans and asked, “What do you think?” assuming she’d be as impressed as I was of the picture of eggs sliding off the pan. Her response: a grimace. Using my sixteen years of husbandly intuition,...

Raycast Focus works really well

American Hearts

My website has been gaslighting you

I have a confession to make. You probably sensed it, but weren’t able to articulate what was happening. Your loved ones think you’re losing your grasp on reality. For the last six months I’ve been incrementally changing the color scheme on my website every single day. I boiled you like...

Making "this" less annoying

Now that I have a job where I’m writing web components full time, I see the this keyword more than I ever have in my whole life. It’s not a problem, per se, but you can see how it’s a little repetitive. I started wondering what my options were to...

Twenty Twenty-Four

For last year’s check-in, I foreshadowed a year of changes for ol’ Dave Rupert and boy was I not kidding. New job, new car, new pets. But before we get into all that – for accountability’s sake – let’s check in on my resolutions from last year and see how...

Vibe Check №36

Hottest October on record. November weather was much nicer, but lacked the much needed rain. We now pass the solstice and crash into the new year without so much as a sneeze from the gods of winter. My son’s team took second in the Fall baseball championship game. My daughter’s...

My little games workshop

I always promised myself that if I was ever unemployed that I’d make a video game. When life dealt me an unpaid work hiatus though, the last thing I wanted to do was code in my spare time1. I worried I would have to let that dream, that part of...

CSS wants to be a system

I’ve realized something obvious again, this time about CSS; that CSS wants to be a system. At the core of CSS is a series of cascading rules and classes marrying and mingling in an elegant symphony of style application. Dozens and dozens of declarative instructions for painting pixels on the...

Every token is a feature

I’m in the middle of a design tokens project and I thought I’d share something I’m learning that is probably obvious to everyone else; every design token is a feature.

Intermittent fasting

I got the ADHD, too

This month I got my official diagnosis for Adult ADHD. It’s fun to share experiences with friends. While ADHD presents some new waters to navigate, it isn’t exactly news to me. Thanks to Dr. TikTok, I’ve suspected this outcome for a few years now. It’s nice to have a proper...

Goodbye, Moogs

Hammers

I bet if you were someone who could make a hammer that would have been a good stable job for years, centuries even. Almost everyone needs a hammer at some point in their life.

Where web components shine

Vibe Check №35

School is back in session, sports are in full swing, we’re tossed and turned by the weekly routine. This past month has been a season of fixing and repair and I’m thankful everything went well and we’re (hopefully) through the hard parts.

Hibiclens

Every two-to-four years my body chemistry changes and my armpits start to reject my deodorant with an intense itch. All that aluminum has gunked up the works I guess. Usually cycling out deodorants works fine, but this time it didn’t work because my armpits were overpowering all the other deodorants....

Good forms

Brian LeRoux posted a few thoughts about forms and the idea of a “good form” resonated with me so I dogpiled some of my own thoughts and experiences on it. Here’s a compilation of those ideas. I’m sure this is incomplete and would love to see your list.

Finding questions and answers about why I like books

I saw a tweet awhile back that sent my brain to a far off galaxy…

The Dev Tools Performance Monitor Panel

Weeks ago I was looking in to a performance issue for our animated spinner component and stumbled across a tool in DevTools I hadn’t used before: The Performance Monitor Panel. In you open Dev Tools > More Tools > Performance Monitor you’ll see some helpful high-level charts and graphs of...

Vibe Check №34

The temperatures soared over 100ºF and the yard is dead and everything smells roasted. But the ten day forecast shows a ten degree dip and that is cause for celebration. Another school year has started. My son has started middle school and my daughter is now in third grade. It’s...

The cost of fueling my body

I’ve become a bit obsessed with how much it costs to fuel my body during the working hours.

Summer rental

4:05am The windows are open, hoping to capture the faint winds and convert them into a mythical cooling cross-breeze. A gust passes through vacuuming all the doors shut, cancelling hope for a miracle. I’m awake. It’s cool but I’m on top of the covers and not cool enough. The plastic...

Mini 4WD

The algorithm sucked me into another model craft hobby: Mini 4WD racing (ミニ四駆). A Mini 4WD is a 1:32 scale model that is a mix between slot cars and RC cars. You don’t control these cars with a remote control nor do they drive in an electrified slot, rather you...

Vibe Check №33

The cicadas hum their ancient alien tune in the treetops above. The asphalt is hot to the touch. Cars and homes fill with the white noise of air conditioning in attempts to keep those inside alive. My enemy, the Sun, beams its photonic radiation at me –only me– and mocks...

A common web component learning blunder

Through stalking the #WebComponents hashtag and my Frontend Masters course, I’m privy to a lot of developers’ first experiences with web components. There’s a wide range of people digging in, but the most common first-time experience I come across is a developer coming from a classical component framework like React...

Dave Goes Microsoft

Last Monday was my first day as an official employee of Microsoft where I’ll be working on web components as part of the Fluent design system team. As longtime readers already know, I’ve had a long term relationship with Microsoft – from Paravel’s 2012 responsive redesign of the Microsoft homepage...

A quick light-dark() experiment

I wanted to experiment with the new CSS function light-dark() and get a sense of how to use it in a CSS architecture of nested (web) components. I think it’s going to be a powerful tool in the new responsive world of component architecture but I don’t want to recommend...

Vibe Check №32

An unseasonable gloomy spring in Austin, TX. The kids are nearly done with school for the year and summer plans are shoring up. My son goes to middle school next year. Unbelievable.

Thoughts on Cosmotechnics

A fine post by Ethan Marcotte called The negotiation cycle led me to an incredible essay by Alan Jacobs called From Tech Critique to Ways of Living. It references an old idea called “The SCT1” which is new to me but based on thinking by the likes of Ursula Franklin...

Ideas for my dream CMS

Matt Haughey wrote a blueprint for his “Dream CMS” and we had him on ShopTalk to talk about it. That got me thinking about what features I’d want in my dream CMS. It’s fun to think of what a modern CMS might have like inline editing, asset serving, monetization/membership functionality,...

The native app install experience

A weighted vest

Mouthguard

“You know those body builders with the big arms and skinny little legs? Your jaw is like that.”

How do you verify that?

John Romero doesn’t believe in prototypes

A couple weeks ago I joined a conversation about John Romero and prototypes. Tyler posted some thoughts about Romero’s autobiography, Matthias shared a quote from a Tim Ferris podcast where Romero chided prototypes, and Matthias looped me in because I love prototypes.

Vibe Check №31

Howdy. It’s March already. Let’s catch up. In January, Austin had a freeze but thankfully uneventful. Brings up a lot of “my dumb hyper-capitalist ultra-Libertarian government has created a failed state” trauma though. In February, my family and I have been battling sickness on and off. Switching over to care...

How to get on a podcast

I’ve been co-hosting a weekly podcast for nearly 12 years with over hundreds of guests and I want to tell you the secret to getting invited on a podcast. Are you ready? Here it goes.

Duolingo

Duolingo does a great job capturing the novel delight of learning a new language. You hop on, take a short quiz, and a little green owl waves at you and hops towards a trophy. You can add friends, join group challenges, and there’s a weekly ranking system to compete with...

A tale of three architectures

It’s been a couple years of working full-time on Luro and we’ve travelled through at least three (or four?) different distinct architectures. If that sounds like a lot, I’d agree. It’s been educational to say the least.

Week Links №1: Mid-Feb 2024

I’ve read the entire internet so you don’t have to and here’s some links I found. Is this the start of a newsletter? 🤷‍♂️ I tried this two years ago. Anyways. Here’s some links.

UI = f(statesⁿ)

“UI is a function of state” is a pretty popular saying in the front-end world. In context (pun intended), that’s typically referring to application or component state. I thought I’d pull that thread a little further and explore all the states that can effect the UI layer…

A dozen thoughts about AI

AI. It’s the talk of the town (or at least this year, that is). I’ve been in dozens of conversations about AI in recent days. The likelihood that the next big feature or product I build involves AI seems to be going up. No idea where it’s all headed –...

Continuous startup jobs

Two years of working on Luro full time has taught me a lot about #startuplife. While I could probably fill a book with what I’ve learned so far, the biggest takeaway is you’re always busy if you’re on a small team. Here’s a list of jobs that you always need...

CoraQuest

A holy communion

You and I are partaking in something magical.

“I used to listen to your podcast”

Often when I talk with folks who know me from my podcast they will say something along the lines of, “I used to listen to your podcast!” Then they blush because their statement implies they don’t listen anymore (Exhibit A). And I just wanted to say…

At last, browser choice*

The EU Digital Markets Act is making waves in the Apple ecosystem. For the first time ever you’ll be able to install a browser other than Safari/Webkit on iOS (as long as you live in the EU). While there are other browsers on the iOS App Store, they’re all Safari/Webkit...

An inbox full o’ opportunities

Big, beautiful, beefy focus states with :focus-visible

One thing I love about the new’ish :focus-visible pseudo-state is that it allows me to create bigger, bolder, and more obvious focus states for my keyboard users than I normally would with a :focus pseudo-state that might flash or linger on a click. For example, my default :focus-visible is pretty...

Users first then do teams

The heart of Luro has always been a tool to enable deeper collaboration in a broader team context, so we architected it that way (a few times). It’s important that teams working on the same app are able to look at the product with the same lens of understanding, not...

Are Design Systems a zero-interest rate phenomenon?

Last year, an investor we were talking to sent us a tweet that expressed her hesitancy about investing in products in the design systems space that went…

What Can a Website Do?

Sarah Hendren’s What Can a Body Do? is a beautiful meditation on disability and the different ways bodies meet the physical world. In a word, there’s often a “mismatch” between how the world is designed and how people interact with it. There’s a chapter in the book where Hendren talks...

The time to unmaintainable is very low

It’s so easy nowadays to get up and going on a project. I can burp some npm commands into my terminal, burp some more to setup a deployment pipeline and blam! Website. The time to product demo is so low. You can get far on your own… very quickly… but...

One big, one little

I often feel overwhelmed deciding what to do with my spare time. It’s a problem with volume moreso than ambition. When the feeling hit the other weekend I scribbled down seven ideas rattling around in my head and stared at the list blankly. I’ve used different prioritization systems in the...

Play at work

More than making money… more than that feeling of launching a new product, feature, website, or app… the idea I am coming to value most in my professional life is the feeling of “play”. Sometimes play is being on my own with high autonomy and low consequences, sometimes it’s getting...

Where have all the flowers gone?

A post from Jason Velazquez called “Where have all the websites gone?” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos.

WobblyBox, a web component for wobbly boxes

For years the latest articles list on my homepage had a neat little CSS trick where each post had wobbly “rough boxes” around them. To create the effect I used a script from css-houdini.rocks aptly named Rough Boxes. One minor problem, CSS Houdini paintlets aren’t – and probably never will...

Not a collector, but...

You might look at my office and the 32 plastic robot models on my shelf and think “This guy is a collector!” Or you might look a the bass guitar, electric guitar, long neck open back banjo, closed back resonator banjo, tuba, saxaphone, ukelele, and shamisen in my office and...

Stitch images together with Stitchy

From time to time I need to stitch together two or three images into a horizontal or vertical image. It seems so wasteful to spin up a whole design document for that task. What I wanted was a CLI that does that for me and I found one that does...

Dropout

Have you heard about Dropout? Spun off from College Humor, Dropout is a paid streaming service with hours and hours of high quality improv content. For $6/month (less than half a Netflix) you get access to a large swath of independently produced shows that are a guaranteed laugh.

MDX with Web Components Part II

In a recent post I covered how to get MDX-style posts with web components and people come to me every day, tears in their eyes, and ask me to go into more detail.

Ecosia

Trying to be the ideal American family with a small fridge

I’m coming to the realization when you’re a family with a small fridge you cannot be all these platonic ideals at the same time:

Accessible Fart Machines

Quotes from moving house

Twenty Twenty-Three

2023 has been a memorable year and –at times– downright existential. Looking at the scorecard, it’s pretty clear there’s been more downs than ups. Despite everything, I maintain a positive outlook and am forward-looking.

The History of Donkey Kong and Mario

Went on a little video game bender thanks to Donkey Kong: A Record of Struggle on Shmuplations, which translates an interview from “bit” magazine with Hirohisa Komanome, a programmer at Ikegami who Nintendo contracted to build their first arcade games. The handful of minor happenstances that led to the invention...

Vibe Check №30

The year is almost over. The weather is delightful in Austin and walking the neighborhood is a joy. Happiness arrives in holiday cards. The tree is up and the ambient stress of moonlighting as an assistant to a jolly, fat norseman takes its toll. The power grid still hums but...

My /projects page

I spent a whole week refactoring a single file

I spent the last week refactoring a single file on a single service of Luro to fix a production-only bug, which caused our server to fall over and took over 5+ hours to finish the weekly cronjob. Taking the bitter pill, we buckled down and did the work.

Vibe Check №29

The weather is changing. The cool rains of Fall have arrived after a brutal “hottest on record” Summer. My wife is back working at the school, family adjusted to the new routine, kids plodding through the days with school and sports. Baseball is already wrapping up while my daughter continues...

My /stories page

So you’ve been publicly accessibility-shamed

Fun water

As part of my weight loss journey, I’ve overhauled the fluids I consume. I’ve ditched alcohol (mostly), diet sodas (completely) and sparkling water (completely) and have settled into a mix of coffee (morning), tea (afternoon), and (in the evenings) something we around the house call “fun water”.

Califia Farms Café Oat for Baristas Blend

Snap Kitchen

As part of my weight loss journey I’ve been buying a lot of premade meals at Snap Kitchen. My poor eating habits don’t come from emotional eating or binge eating, but rather from not recognizing I’m hungry until it’s too late. After an entire morning of coffee, coding, and meetings...

Gummy vitamins as a candy replacement

As part of my weight loss journey I’ve started taking more vitamins and one guilty pleasure is I buy them all as gummies. The gummy vitamins, while possessing myriad mystical benefits, have an add-on effect of being a habitual substitution for buying candy from the gas station.

The plan and the plateau

⚠️ Content Warning: Weight Loss. Personal. I don’t need your advice, thanks.

MDX with Web Components

It’s just regular markdown but you use custom elements.

FitVids has a web component now

🎉  Last week I released <fit-vids> a wrapper web component to make your <iframe> video embeds a little bit more responsive, just like the old jQuery FitVids. It works like this now:

Read Later in Feedbin

I 🩵 Feedbin and there’s a lot of features I can’t shut up about. Like reading RSS feeds on a lazy Sunday. Or the feed of likes feature myself and a handful of others use to run a small clandestine social sharing network over RSS. Or how I funnel email...

Nine things automated accessibility tests can’t test

With Luro, I’ve found myself in the accessibility tooling space. I’m bullish on the need for automated accessibility testing to help designers and developers do a minimum viable good job, establish a baseline experience, and diagnose problems before they are giant problems. Even though automated tests cover 20-30% of WCAG...

Listen to Page in Mobile Safari 17

I love having web browsers read blog posts to me. Through years of training with podcast, my audio processing skills are much better than my reading skills. I use it like a piece of Assistive Technology to keep my overactive brain from getting distracted mid-post. But I could never get...

Adam Savage's One Day Builds

Luro is out of beta 🚀

Your feedback means more to small teams

As we’re approaching a pretty big milestone for Luro, I’ve been thinking a lot about all the effort that’s gone into the product. Not just the effort from members on the team, but also from the people beta testing our app. A trickle here, a flood there, I squeal with...

Quick thoughts on chips

A lot of people on social media are talking about chips and as a professional who has a dual masters in both potato and corn chips, I thought I’d chime in with some facts about chips.

Expert Idiot

I flew on a plane from my land locked metropolis to the beach in a different state. After a few taps on my phone, I am transfigured into an expert on local marine life and tide cycles. A work trip to a city I’ve never been to? Tip-tap, I have...

Scroll shadows with animation-timeline

Personality tests and nazis

If I’m already using React, why should I rewrite my app with Web Components?

In a recent post I answered a general question about Web Components and their lack of widespread adoption. I’m back with what is probably the most frequently asked question about Web Components:

Something’s different with the Vision Pro

Uncovering a new class of responsibilities

Vibe Check №28

Cicadas electrifying the treetops, the hot air hotter, crispy grasses under sandaled feet, asphalt sizzling to the touch. Children ebb and flow from camps, playdates, sleepovers, long days, missed bed times, and the familiar feeling of parental shame over too much screentime. School starts tomorrow, back to the top of...

Anyone can dig up a road

All the roads in Austin are awful. It destroys my faith in civil engineering a bit. There’s a couple spots (southbound Burnet near North Loop) where you can catch air on a storm drain if you’re going the speed limit. The extreme Texas heat determines a lot of the road...

If Web Components are so great, why am I not using them?

Rem recently asked:

One friend a day

I have nearly 2,000 unreads in my RSS reader since the last time I zeroed it out. That’s a lot and sometimes I get overwhelmed. On the positive side, nearly ~1,500 of those posts are from ~30 personal blogs I follow. That makes me happy that friends are posting on...

My dad recliner

After five+ years of negotiation with my wife, I got the gift of a wonderful dad-ass recliner for my 43rd birthday. It’s petite and looks like a regular leather dad chair before it’s glorious transformation into a relaxation station. Per tradition, kids aren’t allowed to use dad’s recliner; it’s the...

Liquid Death

I have a brief window of opportunity where my brain is allowing me to change my default drink of choice. It could be my taste buds evolving, some secret recipe update, or the news that the WHO is saying aspartame as “possibly carcinogenic”… but for whatever reason Diet Coke doesn’t...

Vibe Check №27

Our family reached the end of what I call “The Luge”. At the beginning of every school semester my family and I hike to the top of the metaphorical mountain, buckle ourselves into a bobsled, and yeet ourselves downhill on a wild and uncontrolled ride.

Lessons from Soviet Russia on deploying small nuclear generators

My behind the scenes of animation YouTube playlist

My double standards about JS framework compilers

The other day, Josh “Triple-Threat” Collinsworth challenged me in the ShopTalkShow D-d-d-discord on why I always caveat Svelte with “if you’re comfortable with the compiler” (which I said in Ep537):

Boringness in Design Systems

There’s a lot of “same-ness” across design systems. Yesenia Perez-Cruz said it well:

Markdown images are an anti-pattern

The shorthand for embedding an image in Markdown is the following:

A guy telling peanut butter jokes for 12 minutes

Getting started with View Transitions on multi-page apps

Spurred by last week’s ShopTalk I rolled out View Transitions here on my static Jekyll site. I hadn’t realized View Transitions for multi-page apps (MPAs) and static sites are ready for testing behind a flag in Chrome 113+. View Transitions for MPAs are a feature that’s high on my CSS...

Sometimes the job is an assembly line

Robb Owen writes on the state of front-end development…

The Hurdy-Gurdy software engineer

Using Arc Boosts to identify bots in Elk

One of my favorite ideas for Twitter was by Oliver Reichenstein in a post called “Make Bots Identifiable”. Oliver makes the case that apps should notify users if the author of the post is a feed, a bot, or an actual human and the UI of the application should reflect...

Vibe Check №26

It’s been two months since my last vibe check. I needed a break. My last Jan/Feb vibe check was so bad I forgot to include the part where my wife had COVID for a week. Anyways, she’s fine now and went to the hospital for an entirely different reason.

Japanese manhole cover fabrication processes

Goodbye, Rudy

Your kennel name was Lyla. Your previous owner called you Kate. We called you Rudy, Rudo, Rudo Prosciutto, Dodo, Dody, Rude dog, Rudiosis, Rudiosis Montosis, Rudy girl, Girly, and Sweet girl. Didn’t matter what we called you, you came. You were the sweetest dog we could have ever imagined.

Limitations and websites

I’ve been thinking a lot about limitations. Nearly all the rabbit holes I travel down end up with the same theme: “Limitations exist and we need to understand them and work within them”. This of course that got me thinking about the limitations we do and don’t put around building...

GameDev Journal №1: Otis’s Zelda-like

My son Otis wants me to help him make a video game. When he says “we should make a game”, he means “me” because despite a lot encouragement from his parents he hasn’t shown interest in coding classes. I also have a lot going on with the whole “starting a...

The internet has broken gift giving

My wife and I did a poor job sharing Christmas wishlists with each other this year. It dawned on us how our hobbies (hers tennis, mine gunpla) are so specialized we either A) have the stuff we need or B) our needs are so specific or subjective that even gifting...

A bag of distractions

I had a free night on the calendar, so I tumbled out of my office with a stack of necessary supplies: a laptop in case I wanted to blog (or work more), my iPad in case I wanted to watch YouTubes, a gunpla set and all my tools in case...

The Feature Work → Maintenance Work Loop

I frequently find myself in a cycle where I’m switching between phases of “Feature Work” and “Maintenance Work”. Sometimes the cycle is morning-to-afternoon, sometimes weekstart-to-weekend, sometimes week-to-week, sometimes month-to-month. I don’t think this is unique so much as I have noticed that these two different phases require different mindsets —an...

The case for Flex applications

One day my friend Bryan told me to come look at something on his computer. I respected Bryan, he was a bit older, and his opinions always weighed heavily on me. This seemed urgent, so I shuffled in his office as quick as I could.

Creating Web Components on the Kevin Powell Livestream

Vibe Check №25

An unusually warm Texas January; 70ºF days, cool nights, my son had baseball try-outs, then…

SOLVED! The Case of the Bing Ban Theory

This post is part of a series:

Lessons from my Gunpla Tools

Last year I got into Gunpla, a hobby where you build little plastic model anime robots. What I like most about the hobby is that the models are “press-fit”, meaning you can build the entire model by pressing the parts together with your fingers. No gluing, no painting, just fingers....

Yoinking auto-transcripts from Slack

We are creating some How-To Videos for Luro. Exciting to be at that point in product development, but it would be nice if our videos had captions from day one to set a precedent. We could pay to have them all transcribed, or pay for some automated caption service, or...

Using AI to appease Jest

Friday evening at 5pm on my way out of work I was about to push a feature fix up to add some encryption and decryption using crypto-js. The API looks like this:

CSS Wishlist 2023

2022 was a massive year for CSS. We got CSS Layers, more subgrid support, the impossible :has() selector, and WE GOT CONTAINER QUERIES! 🎉  Thank you to everyone who worked on those. A lot of the success for CSS this past year was due to an incredible cross-browser effort called...

So you want to make a new JS framework

I sometimes think about what it would take to start a successful JS framework project in the year 2023…

My Bing Webmaster Guidelines Compliance Report

In my last post I dug around and found a crawl error in Bing Webmaster Tools…

Updates on my Bing ban

I wrote about my DuckDuckGo (and Bing) shadow ban in a previous post. It made the rounds, so in the interest of transparency (and so I remember for next time this happens), here’s steps I’ve taken to fix this, what I know so far, and what I know…

I'm Shadow Banned by DuckDuckGo (and Bing)

It came to my attention that my site does not appear on DuckDuckGo search results. Even when searching for “daverupert.com” directly. After some digging, DuckDuckGo used to get their site index from Yandex, but now gets their site index from Bing and sure enough… I didn’t appear on Bing either....

HTML with Superpowers: The Guidebook

Vibe Check №24

I’ve written and rewritten this five times and decided to go with a brief, brutal, bulleted list of a December I don’t want to experience again.

Twenty Twenty-Two

Another year has come and gone. I can’t believe it. I think I’ll look back on 2022 as a year of milestones. It’s been a year of new jobs, new challenges, new products, and new hobbies. This is my second year piecing my year together from my monthly vibechecks. I...

Megan Smith explaining the General Magic prototyping process

They were supposed to replace the creative jobs last

It was always “Oh, you’re only at risk of automation if your job has a high degree of repetition, creative jobs are less at risk” but it feels like over the course of the past year Copilot, Dall-e, Midjourney, Stable Diffusion, and ChatGPT have decided upend that assumption. Writing, code,...

Vibe Check №23

This, the 23rd retelling…

They invented fifty colors for Akira

Dragon's Heaven

How to capture single frame from an HTML video

E-Z Play Today

One of our family pandemic purchases was an electronic piano, a Yamaha P-121. My son was showing interest in music and we thought we’d be good parents and nurture that. His interest waned fast (read: in minutes), but I still play it! I grew up with a piano in the...

It takes one person to knock down a silo

Web Component News - Fall 2022

In recent weeks, a handful of people asked me what’s been happening in Web Components Land. Well, as President of Web Components, I have good news and the state of Web Components is pretty strong right now.

Vibe Check №22

Spooky season has come and gone. We’ve put away our trademark giant inflatable Beetlejuice sandworm. Halloween in our neighborhood is a great time. Almost everyone pitches in to make it special for the hundreds of kids that take to our streets. A genuine piece of Americana.

The story of this empty box

A Use Case for Cascading Attribute Sheets

It’s been some years since Tab Atkins-Bittner first proposed Cascading Attribute Sheets. I had a situation come up which made me think about them again and I thought I’d share.

Can you hear the difference between a $200, $2,000, $20,000, and $200,000 guitar?

Vibe Check №21

A break in the Texas heat, Fall is in the air, and baseball is back on the menu. Neighbors having small conversations on the walks to-and-from the elementary school and kids putting on lemonade stand fundraisers for their friends. Humming birds saunter by my window each day. Texas comes alive...

The Patchability of the Open Web

I was using the Crunchyroll app on my iPad this weekend and noticed my level of frustration rising because the most annoying feature of the Crunchyroll iPad app is that while using it, I can do nothing else. The developers of the application didn’t add Picture in Picture or background...

Denialists, Alarmists, and Doomists

This month I finished Michael E. Mann’s The New Climate War, a treatise on where we’re at with climate change. After my post on climate change a handful of people mentioned it and the book does a fantastic job at opening your eyes to the deflection tactics and information warfare...

26 Things from “101 Things I Learned in Architecture School”

Last year I read the book 101 Things I learned in Architecture School. It’s a good book. Good enough, I thought I’d share 26 Things I learned from “101 Things I Learned in Architecture School”. Meta. A lot of this will, of course, be applied to web design.

Shigeru Miyamoto on the Secret to Success

One of my favorite #oldgold resources is Shmuplations; they scour old video game magazines and translate them to English. I love it so much I support the work on Patreon. Cruising through the archives, I found a translation of a 1989 issue of BEEP magazine which features one of my...

Prototyping to learn

I came across a Circuit Breaker Podcast episode called Understanding Prototyping to Learn. This episode is a MUST LISTEN! Bob Moesta and Greg Engle come from a hardware/manufacturing product development background but it all applies to prototyping on the web. Bob and Greg give some much needed language to the...

30 Minute Study Model

Solara

A healthy but aging bearded man in a light vest walks the streets of the capitol city, weaving in and out of streets and light traffic, making his way to the local farmer’s market. It’s a typical sunny morning but the desert air is still cool from the previous night....

Vibe Check №20

August brought about some pretty sweeping changes. Kids are going back to school and I’ve found myself stepping back from some commitments.

Modern alternatives to BEM

When I first heard Nicole Sullivan talk about OOCSS, I thought “Oooh, smart.” When I read Jonathan Snook’s riff on that idea in SMACSS I thought “Oooh, smart.” When I heard Harry Roberts say “never use IDs in your CSS files” I said “Oooh, smart.”

The web is a harsh manager

The responsibilities of the front-end web are ever increasing.

Thoughts on Copilot

Vibe Check №19

July 2022 was a bit of a country music song. A friend’s brother passed away while she was visiting, nearly everyone we know got COVID, took my broken guitar to get fixed by the guy that fixes Willie’s guitar, got a flat tire on the family car, the oil change...

Before I go: What I know about putting on a rock show

I’m not dying, but before I do I want to share with you — future generations of rockers — what I know about putting on a live music rock show.

Cloud-work vs. Land-work

At the beginning of the pandemic, Joe McCann wrote a speculative future piece called The New, New World Order (use a private tab if Medium paywalls you). Predicting the future or forecasting trends is never exact work, but Joe made some thought-provoking claims even if everything doesn’t pan out as...

The kids are online

This summer marks the summer my kids got online. I gave them “the talk” and set down some ground rules.

Creating a Netlify-to-Notion form

Solving “The Dangler” Conundrum with Container Queries and :has()

Where I'm at on climate change

This summer has been hot. Not the hottest summer I’ve had in Texas but hot enough. More worryingly, it’s another summer in what looks like a trend of increasingly hot summers due to unstoppable climate change. It’s hot enough that the grass is dying in places that don’t have shade....

Vibe Check №18

As Q2 FY22 wraps up, it’s a good time to reflect on all that’s happened.

The energy to suggest change

E = ( p 2 c 2 ) + ( m 0 c 2 ) 2

The Demo → Demo Loop

Goodbye, IE

In 1995, I got my first PC with Windows 95 and my first web browser, unbeknownst to me at the time, was Internet Explorer 1.0. I dialed my computer into AOL checked my mail, checked my favorite chat rooms, but I soon learned the Internet I wanted existed outside the...

Vibe Check №17

May is over already which means the kids are now out of school, summer has begun, and work is ramping up at Luro. Here is the retelling of vibes…

The recycling backlog

In Austin we have three types of trash: trash, recycling, and compost. And then if I’m honest there’s a fourth and fifth variety: e-waste and a bag of old clothes and toys to donate. The big three live outside in the side yard and those last two live in piles...

Thoughts on spectrums

One principle I’ve come to embrace is that the answer is rarely ever a spectrum. At first glance, a single-axis spectrum might make perfect sense, a reduction of the problem, a right and a left, a binary dichotomy but with a grey area in the middle. But as I grow...

Notes from a gopher:// site

Long time readers of the blog will know I’m a fan of esoteric content delivery protocols. While compulsively checking for updates on my Playdate (a small, yellow, Gameboy-like device with a crank) and I came across this tweet:

Vibe Check №16

April was a busy month of new happenings and finishing projects. I did a new workshop, we got a new lawn, my kids are learning new skills, my wife got a new (short term) job, new developments at my new company, a new blog design, and to cap it all...

Server-side vs Client-side Analytics

Inspiration in the Tall Grass

I got some landscaping done this month and as a reward the YouTube algorithm brought me a new genre of video called “Tall Grass”. These are the lawns with shoulder high grass, filled with mice and snakes, endlessly consuming buildings, fences, and concrete. It’s complete and utter ASMR for me....

An unplanned open redesign

Howdy! If you frequent this website often, you’ll notice some changes. This weekend I started on my planned redesign, but as I started nudging my About section, I found myself in a fight with my typography. After some hemming and hawing, I made the drastic decision to nuke my stylesheets...

Productivity-sniped by PARA

In February, I got nerd-sniped by a mention on Twitter about a productivity system called PARA. PARA is a way to organize your digital life in to separate buckets: Projects, Areas, Resources, and Archives.

My Weekly Engineering Report

Providing visibility into your work is one of the most underrated developer soft skills. Coworkers are often too busy to keep track of what’s going on with engineering work, even if it’s their job to know what’s going on with engineering work. It’s generally not out of malice or lack...

7 Web Component Tricks

This week I finished my Frontend Masters Web Components Course. To market it celebrate that accomplishment, I wanted to share ~7 tips and tricks I’ve learned preparing my course or I feel aren’t super obvious about Web Components.

What if... one day everything got better?

One day I came across this video about Muharrem, a deaf man, and how his whole neighborhood conspired against him for a surprise.

Vibe Check №15

March came and gone. I chased fitness. We went on Spring Break. Growing a business. Baseball games. Failed on blogging. Here is a retelling of the vibes.

Different people, different ways

Goodbye, Big Freeda

Vibe Check №14

February was a month that felt like ten months; cold, hot, beautiful, windy, busy, stressful, and globally catastrophic. But beyond that last part, it’s been a month of growth, reorganizing, and learning about stress.

The 15 minute fix vs the 30 day fix

Here’s something I’ve been mulling around. Often in programming you hit a situation where you have to choose two paths:

原爆を許すまじ

I know a bit about Japanese folk music (民謡), but Pete Seeger opened my eyes to and old song called “Genbaku O Yurusumaji (Forgive us the atom bomb)”, an anti-nuclear Japanese dirge.

Τ’ακορντεόν

“The Accordion” (Τ’ ακορντεόν) is an old, popular Greek song written by Manos Loïzos (Μάνος Λοΐζος) in 1967 while Greece was under far-right military junta control. It’s an unassuming anti-fascist song with it’s slow, folksy tone and fluttering accompaniment, but it’s final words offer a somber battle cry: “Fascism will...

Been in this war for too long

Throughout history, across the world, humans have shared their culture with others through song. Songs from their faith, country, region, race, culture, subculture, futbol team, or even the local tavern; a shared connection. The following is one of the songs from my community, a lament, I’d like to share with...

Six end of week links

Another week, more links. I’ve split this up a bit and added a section of cool (open source) projects.

Before I go: When it comes to complaining about web browsers

I’m not planning on leaving the industry (yet), but before I go I’d like to offer up what I know when it comes to complaining about web browsers.

Five links for a Friday afternoon

Inspired by Kottke’s Quick Links, Jeremy Keith’s Links, and my desire to get off Twitter as the primary means of sharing interesting links, I’m trying a new weekly-ish post format. I also have a process for collecting links in Notion that should make this easy to sustain.

Vibe Check №13

Buckle up. This month turned out to be a big one. Writing it all out feels like an entire year went by, so I’ll start with the bad that happened at the beginning of the month and move towards the good.

Five Hundred ShopTalks

Today Chris and I released the 500th episode of ShopTalk. That translates to 10 years of weekly episodes (taking off holiday breaks and that one time one of us had a kid). That’s a lot of showing up and doing the work. And when I say weekly, boy howdy, I...

The Vacation

I situated myself in the premium white leather chair, lowered the rollercoaster-like safety harness over my torso, and carefully weighed options on the console in front of me.

The man playing the ukulele at the doctor’s office.

I was leaving a doctor’s appointment and as I rounded the corner to the waiting room I could hear the dulcet tones of a ukulele, but it sounded close.

HTML is general, ARIA is specific

In Open UI there’s been some discussion about what default ARIA role the proposed <popupdialog> element should have, if any…

Twenty Twentyone

How do you quantify a whole year? I’ve attempted it before and this one is different because I didn’t set out to achieve anything. The mantra for the year was “No goals, only vibes” and while that’s non-commital, I like to think I operated in this spirit. I wandered aimlessly...

Vibe Check №12

Phew. December. The most hectic month. End of year celebrations, wrapping up work projects, wrapping up presents, another round of last minute shopping, credit card charges ballooning, decorating projects, transcontinental road-trips, shipping logistics, finding a dog sitter, dog sitter falling through, what about the sick cat, where’s the iPad charger,...

Five good feelings

Reading the first page of a new book Reading 10% of the way through the book. Reading 25% of the way through the book. Reading 50% of the way through the book. Finishing the book.

Sustaining Maintaining

You see it all the time; a repo with a thousand issues, a hundred open PRs, a thousand forks. v2.0 is on the way but there’s no clear roadmap or communication. Those of us who have worked on open source can spot it, burnout is afoot. The project got bigger...

Vibe Check №11

On the Monday before Thanksgiving, I had surgery on my nose for my skin cancer. I’m glad to report that surgery went fine and I’m cancer free (for now). The procedure involved cutting away 1mm layers of flesh at the tumor site and looking at each layer under a microscope,...

Status Performance Analysis in Team Fortress 2

Gaming improved my EQ

Gamers aren’t known for being the most intelligent people around…

Blogtober

Frustrated by the emotional weight of hundreds of thoughts lingering in my blogging kanban, I chucked a good bit of time into a week of high-powered blogging and achieved great results. Garnered eight blog posts this month and a one week streak. One of the best months of blogging I’ve...

Holding Beef 🥩

My kids hold beef. And they hold it forever. If one kid in the neighborhood did something they’ll talk about it every other day like it happened yesterday. The friend’s neighbor who is slightly younger but was annoying once? Annoying forever! Even if you’ve played with him since! That new...

My pre-publish blogging rituals

I blogged about my Blogging Kanban. This post is about the multi-step process that happens after I deem posts finished and ready to move to the actual blog. It consists of three main tools… Write Good Linter, Microsoft Edge’s Read Aloud feature, and Squoosh. It’s about 30-50 minutes worth of...

The mistake every new game developer makes

Let's talk about Native HTML Tabs

For the past year I’ve been on a team of folks inside Open UI dedicated to figuring out how get a native, accessible <tabs> element into HTML. We’re a team of people with varying backgrounds; spec authors, browser vendors, implementors, and normie practitioners like myself. Open UI is a community...

🎨 Alpha Paintlet

On a recent ShopTalk Video about Breakin’ up CSS Custom Properties where we discussed the different degrees of CSS Custom Property usage, I mouthblogged an idea about using CSS Houdini to help make this easier. It stuck with me so I took it out of the mouthblogosphere and made it...

HTML with Superpowers

My retirement seminar

In precoronatimes I attended an end of year BBQ luncheon put on by my financial advisor at Edward Jones. I’m financially engaged with Kevin and I like Texas BBQ, so I thought I’d go. I also thought my former neighbor Cleo was going to be there and wouldn’t it be...

Why don’t video games take sex seriously?

This week I came across an article titled “Why don’t video games take sex seriously?”… so naturally I clicked it. I was pleased to find the article featured Robert Yang, one of my favorite game designers that I follow on Twitter. I like Yang because our lives are so entirely...

Vibe Check №9

Out on the lake on our neighbor's boat.

Shop Talk Goes Video

All things are possible with code, but not everything is beneficial

In my weird role as hybrid contractor/consultant I get asked, “Is it possible to do {{some_feature}}?” and what goes through my head is a bastardized version of the Apostle Paul saying:

My Notion Blogging Kanban

Six years ago, I started a good blogging habit of writing down any idea I had as a draft post. This was a good practice because the idea was now out of my head and I wouldn’t stay up at night thinking about it. Over time that grew to about...

Vibe Check №8

This last month lasted ten months. It started with some travel to Houston (Pasadena, actually) to visit my mom. I did some solo-parenting as my wife had some planned end-of-summer travel and an unplanned funeral. In these Delta times travel brings along some low-grade stress, as our doctor friends text...

The Surprise Chain

CSS Modules-in-CSS Module Scripts

I caught whiff of some #hotdrama the other day surrounding native CSS module scripts, a new addition to JavaScript — yes, native CSS-in-JS.

Vibe Check №7

I got back from vacation and abruptly resumed the grind. The project I’m working is approaching its launch date, but we hit a small issue where pre-generating 12,000+ routes was causing long build-times. Jamstack tooling has some issues to iron out, I think. The issue is the delta between what...

One-offs and low-expectations with Safari

The other day Jen Simmons solicited some open feedback about WebKit, asking what they might “need to add / change / fix / invent to help you?” First of all — brave. Brave of Jen to open her timeline up for everyone to vomit their opinions and snark. I, too,...

Memories cost money

One thing my wife and I are coming to terms with is that memories —or experiences— cost money. Typically this is in context of making memories or providing experiences for our children, but it could about our relationship or even about to chasing week-to-week personal interests.

DX, to me

A while ago Sarah Drasner wrote a great post on her view of Developer Experience (DX) at Netlify and how that manifests in roles like Developer Advocate. I felt prompted to write a bit about how I, a consumer of DX, experience DX and what good DX is to me....

My petite-vue review

petite-vue is a new cut of the Vue project specifically built with progressive enhancement in mind. At 5kb, petite-vue is a lightweight Alpine (or jQuery) alternative that can be “sprinkled” over your project requiring no extra bundling steps or build processes. Add a <script> tag, set a v-scope, and you’re...

Vibe Check №6

This vibe check should be short. June was another month of hard work and even harder discussions. The month ended with my family and I leaving town for a much-needed vacation on a roadtrip through Colorado and Arizona. First we headed to Snowmass, Colorado for a family reunion, then southwest...

Log Jams

The perfect, more expensive, out-of-stock thing versus the less perfect, less expensive, in-stock thing.

Whenever my family attempts a major buying decision (TV, couch, computer, remodel, shed, dining table, etc) we’re inevitably confronted with a choice between two options:

The Amnesia Fortnight Documentary

Vibe Check №5

Two vibes dominated this month: Work and Refinancing my house (which is more work). Work continues to be busy, a constant refrain, but this past half-year has been some of the hardest I’ve worked in my whole life. The tl;dr is that it’s hard to build a startup and do...

Vibe Check №4

I turned 41 at the end of April. Another pandemic birthday in the books. This one was special thanks to grandparents coming to visit which allowed my wife and I to escape to a hotel for a night. A small relief to be off parenting duty for ~18 hours after...

The OceanMaker

Algorithms and Art

Three packages of arrived to my door last month and I realized they all have something in common, they’re all visualizations of data and algorithms, so I thought I’d share.

The Data is In!

I love that data can change my perspective or illuminate a topic. In the last couple weeks some new data has dropped about a couple topics I care a bit about: Accessibility and Mobile Web Performance. These are industry-impacting studies and I hope you’ll read and consider the findings yourself,...

Vibe Check №3

Hands down this was one of the busiest months of my career. Aggressive turnaround on launching a client’s new product and checkout experience, got close-to-launch on one of the most impactful sites of my career, wrapped up a two-year design systems project, landed a months-long mega-refactor on an app we’re...

Vibe Check №2

February, whew. My February was dominated by two significant and polar opposite emotional events: my new backyard office shed is finally finished and the Great Texas Freeze of 2021. To be honest, the massive pendulum swing between those two vibes has nearly wiped out all other vibes.

How much for a planet?

There’s a website where you can use cryptocurrency to buy an NFT for a planet and there’s something horrifyingly poetic about being able to buy an unreachable planet while simultaneously hastening the demise of our own.

One month on Analog

The web is something different

One of the best books I read last year was Creative Selection by Ken Kocienda. It gives a behind the scenes look at the prototyping process that created the native Mac browser Safari and the innovative iPhone keyboard. Incredibly inspiring and solidified some of my thinking that maybe the current...

Dearest Martha,

Dearest Martha,

Vibe Check №1

Since my new years resolution this year is “No goals, only vibes” I thought it might be fun to do monthly-ish vibe checks to see what I’ve been pursuing. How fun will it be to look at all the little paths I took throughout the year. Let’s get started.

Traditional Japanese carpentry versus modern times

The YouTube algorithm has been very good to me lately and led me to a channel for the 竹中大工道具館 (Takenaka Carpentry Tools Museum) which is based in my old home prefecture’s capitol, Kobe. Japanese carpentry is always a fun rabbit hole to dive down and for me it often borders...

My typical day

Dan Mall tagged me, so I’m doing the thing. I’m very much a product of daily rhythms so I’m happy to share.

Art Direction for Static Sites

Your personal site is your playground. Overhearing some recent chatter about putting the personality back in personal websites, I thought it might be helpful to share how I’ve been approaching art direction on my blog. I have a bit of experience here, in fact years ago during the heyday of...

Keep Your Hands Off Eizouken!

Twenty Twenty

What a fucking year, huh? A global pandemic, social unrest sparked by the continued murders of black men and women at the hands of those sworn to protect, and another heated election cycle between a qualified candidate and a petulant narcissist. I feel like I aged a thousand years while...

Dave goes back to Mac

I am writing this post from my new 13” Macbook Pro with an Apple M1 Chip. If you’ve been following the five year long #davegoeswindows saga, then this might come as a sudden surprise. I will be honest, it comes as a surprise to me too. The decision was a...

Street Fighter Alpha: An oral history

Polygon recently did a write up on the history of Street Fighter Alpha, a small fork in the Street Fighter Universe that impacted and informed later games in the series. I’m consistently inspired by game development stories and this article is ripe with interviews from the game’s planners and developers...

A tale of four prototypes

Tis’ the season for spinning up new side projects and I feel compelled to free up some brain space. Here’s some prototypes of some ideas that have been lingering in my head for upwards of 7 years. These prototypes were tinkered on over various nights and weekends when I had...

Happier HTML5 form validation in Vue

Some time ago, I wrote about the need for simple HTML5 form validation in ~6 lines of JavaScript. Well, I’m back on my bullshit, this time in a Vue 2/Nuxt application. I finally hit the point on this project where I needed some form validation. Rather than jumping headlong into...

Technical debt as a lack of understanding

Some time back, I was working on a project where it felt like the timebomb of technical debt was exploding in our faces. We couldn’t refactor the whoositz because of the whatsitz and when we asked about the whatsitz no one knew about the whatsitz and how it exactly worked...

Darmok and Jalad at Tanagra

As we hurtle towards an election my mind is consumed with thoughts of the historic division in America. As luck would have it, two related videos about conspiracy theories appeared on Kottke’s website that intensely appealed to my interests. It’s frightening to look at fringe culture, but I think it’s...

Sass vars, CSS vars, and semantic theme vars

Last week I got the opportunity to work on a side project that has no plans to include IE11 in the support matrix and let me tell you; what a wonderful feeling! This opens the door to a lot of fun CSS, namely Custom Properties. Adding a proper “Dark Theme”...

A trip to the bookstore

One day this summer, my friend Richard and I masked up and headed to the Amazon Books store here in Austin. He had picked up a reading habit and was looking for a Kindle and needed some consulting on the purchase. I also hadn’t left the square mile around my...

A quintessential blogging mistake.

I made a mistake. Three weeks ago I settled into a nice blogging flow and had a decent stream of published posts. It felt so good to get ideas out of my head. Sitting on a handful of nearly done posts, I was putting the finishing touches on one of...

Do the next right thing

Frozen II is a masterpiece to me. Whereas the original Frozen was very much a princess movie (with a twist), Frozen II is a rock opera adventure. The power ballad anthem “Into the Unknown” sets the scene for adventure and the haunting refrain perfectly instills the mystery ahead. The overarching...

Follow the fun

alt attributes like paragraphs

The other day I was in a meeting discussing alt text and while I’m fairly savvy about Accessibility, I finally made the simplest of all connections: alt text is like a paragraph. Word pictures. Basic I know, but it helps me contextualize how to write good alt text as well...

The tangled webs we weave

Last month I worked on a prototype of three simple pieces of technology: Eleventy + Tailwind + Netlify CMS. I love a good mashup. Those are fairly distinct technologies with well defined roles, so I didn’t anticipate too many hiccups. I was more on the lookout for limitations or deal...

I'm writing this on my phone

This post is an experiment. I was thinking about how I tend to avoid reading a lot of longform content on my phone. I tend to push off a lot of news (NYT), some RSS, and tech articles. Longreads feel longer when scrolling one paragraph at a time interrupted by...

Boredom begets boredom

There’s an old Freakonomics podcast about the cost of boredom that I think about and re-listen to regularly. It starts with a fascinating study performed around the First World War. Britain created the Industrial Fatigue Research Board which sought to measure the productivity of fatigued factory workers and whether or...

What is the Value of Browser Diversity?

In May 2019 I attended a talk by Mike Taylor who works on webcompat at Mozilla. Mike told the sordid story of window.event, a non-standard IE invention that was replicated in Konqueror, which showed up in Webkit, which stuck around in Blink, and was now Mike’s problem in Firefox. It...

Jettison the cargo

This week has left me in an unexpected posture of regrouping and re-figuring out some of my life goals and short term objectives as some plans have completed and some have fallen apart. This year has already had a lot of priority shifting and malaise due to the virus and...

Gettin’ Foldy with the Dual-screen Web (Part II)

This is Part II of a two-part series on dual-screen and web design. For more context, you may want to read part Part I first.

Gettin’ Foldy with the Dual-screen Web (Part I)

In late 2019, Microsoft announced two new foldable devices: the smaller Android-based Surface Duo and the larger Win10-based Surface Neo. PC fanboy that I am, I got excited about these new devices and my brain jumped to thinking about how this new class of foldable devices (with a split down...

“We‘re in a rebuild the plane while flying situation”

That’s not how airplane maintenance works.

RFC 1925 - The Twelve Networking Truths

This little gem came across my Twitter feed. In April of 1996, Ross Callon messaged the IETF’s Networking Working Group with an RFC that was less a request and more of a list of anecdotes that “apply to networking in general, and are not limited to TCP/IP, the Internet, or...

Austin Revealed: Civil Rights Stories

Jon Batiste: Tiny Desk Concert

Tradeoffs and Shifting Complexity

Reading Maeda’s Laws of Simplicity in my twenties had a profound impact on me. Law 1 (Reduce) has been beneficial over the years as I think about UIs and experiences. Learning how to reduce complexity is probably the biggest skill you can learn in your career in UX, accessibility, performance,...

Five Key Milestones in the Life of a Design System

I’m approaching a Version 1.0 milestone on a Design System project and it has me thinking broadly about my 8+ years of experience with Design Systems. Unrelated to that project specifically, I came up with an abstracted list of five key milestones I feel exist in the life of a...

Initial Impressions of WSL 2

Soon the Windows May 2020 Update (20H1) will be released upon the world. This update will contain some nice UI improvements, but most relevant to me it allows Web Developers on Windows to upgrade to WSL 2. This is a significant milestone in the #davegoeswindows saga and it’s worth posting...

Oh, the Paywalls You'll Meet

Reading and exploring the Web is losing a little bit of its luster. In a single day, I encounter nearly a dozen paywalls and app/sign-in walls. Paywalls want you to pay a cover-fee for content. App/sign-in walls are just paywalls where you pay with your privacy.

Low-Challenge, High-Skill Tasks in Terrible Times

My friend Mina has a mood ring that I am enameled enamored with… technically, it’s not a ring, it’s a pin that she got off of Kickstarter. A simple circular pin with five emotions (Tired, Functioning, All Good, Apathetic, Happy!) and a spinning arrow labelled “Today”.

My tall friend Christopher

I first met Christopher in 2010 after giving my first talk at a local meetup on (Webkit-only) CSS Animations. A tall, soft-spoken man wearing Chuck Taylors approached me afterwards to say he enjoyed my talk and we instantly bonded over Doctor Who. I was smitten by his excitement and energy...

Maintaining Performance

A while back I was able to shave off ~33 seconds from my page load time by fixing how I load fonts.

What's in a Database Table Name?

I asked on Twitter about naming database tables. It goes without saying that Twitter polls are extremely scientific and a trustworthy tool for decision making.

HTML: The Inaccessible Parts

I’ve always abided in the idea that “HTML is accessible by default and then we come along and mess it up.” In a lot places this is very true and by just using a suitable HTML element instead of a generic div or span we can have a big Accessibility...

A Two Settings Problem

A couple Windows issues have been slowly gnawing at me over the last half year and, if I’m quite honest, have made me consider ending my ~5 year #davegoeswindows experiment and switching back to Mac (now that the Macbook Pros have good keyboards again). But I’m happy to report that...

The Web is Industrialized and I helped industrialize it

In 2013 I spoke about Responsive Deliverables at SXSW. While it felt in-tune to the emerging web design trends and my personal experiences, I didn’t really anticipate that I’d personally spend the nearly every day of the next 7 years working on component-based design systems. The work has been a...

How to Start a Podcast

Every year or so a friend or family member will reach out to me and ask about starting a podcast. I’ve started a few podcasts and have a modicum of experience in this domain, so here’s my standard advice…

When Public Speaking Goes Wrong

Anonymous writes in…

Twenty Nineteen

As 2019 comes to a close, I’ve taken some time to reflect. I’m aware of this self-brag blogging cliché, but I’ve done this before and find some value from it. So without further ado, here’s just some of the highs-and-lows from this year.

Everything I Know About Remote Work

Why <details> is Not an Accordion

I learned something this week and I thought I would share it. Earlier this year I read Adrian Roselli’s post “Details/Summary are not [insert control here]”. In this post Adrian says <details> is not a tab set, it’s not a subnavigation menu, not a dialog, not an accordion, not a...

Five packages

This past summer I came across a tweet from Kitze about starting a project with a limitation of five dependencies:

Working with pain

Malloc

This week I wrapped up a three year stint on a client project. The client services business can be emotional sometimes. Not just the flash mobs of new relationships and entanglements you enter into, but the emotional investment in various projects as well. I often feel that more than the...

Squandered Star Wars Characters

<spoilers>

Is Using Coil to Monetize Prompts Gonna Work?

Introducing Prompts

Weeknotes #9

As I write this I’m back in the home office. It’s been an adjustment, but so far so good. “Crash-ins” from the kids are obviously more common now but so far they’ve been tolerable. Compared to the beginning of the summer when I was last here, the kids are much...

Sticks and Ropes.

Death Stranding is an upcoming cinematic game from famed game director Hideo Kojima, designer of the renowned Metal Gear series. The trailers for Death Stranding have been surreal, dark, cryptic, and heavily feature a naked Norman Reedus and a gloved Guillermo del Toro. Weird, but intriguing.

What I Like About Eleventy

Over the last month so, I’ve been working with Dr. Julian Jones to port some design system projects from Jekyll over to Eleventy, the feral possum of static site generators. Why undertake a whole replatforming initiative? Well, there were two primary issues we were trying to solve:

Weeknotes #8

What I Like About Vue

Over the past six months I’ve had the opportunity to work on a simple PWA using Vue. To speed up the learning curve we brought in Eduardo San Martin Morote, a Vue core contributor, to help us on the project. If you ever get the chance to hire someone who...

Weeknotes #7

My wife and I celebrated our 11th anniversary, we’re still in love. There was Father’s Day, I’m still a dad. Then last Tuesday I decided to ride my gravel bike to work.

The Three Evils of Society

Books on Management

A couple months ago I was dumpster diving in the Twitter Explore tab and stumbled across a list of “Management book recommendations” from Alex MacCaw.

Getting Settled at the New Dave Rupert LLC HQ

This has been a monumental month in the life of Dave Rupert LLC. For the first time in 12 years I’ve taken the plunge and rented a private office instead of working from home.

Weeknotes #6

Over the last 11 days I travelled over 3500 miles with my family on two separate back-to-back trips. It has been great but I think we’re all exhausted and looking to stay home for awhile.

Weeknotes #5

Last week I turned 39 and to be honest it was a bit of a downer. I know, I know, too sad. It could be run of the mill birthday depression, but I attribute it to the 5 hours of consecutive meetings I had that day. I couldn’t quite shake...

Itemizing Responsibilities

Mr. Rupert we’re calling to let you know you’re overdue on your homeowners insurance policy and if you do not make a payment by midnight tonight your policy will lapse.

Weeknotes #4

In early March my wife and I ventured down to the southern tip of Baja, Mexico to a town called Todos Santos on our first kid-free excursion since… well.. since the kids arrived five and a half years ago. The Pacific coastline was remote enough you could look and see...

Goodbye Google Analytics, Hello Fathom

Big news! This site is no longer using Google Analytics and I’ve switched to a self-hosted version of brand new analytics product Fathom.

Some Unsolicited Blogging Advice

If you feel the need to write, write.

Perceived Velocity through Version Numbers

Humans are a gameable system. Exemplified by the fact that .99 pricing is more compelling than flat pricing, we tend focus on the left digits rather than the right. You don’t have to look far for anecdotes.

Anthology of Mute Buttons in Voice Chat Apps

Because I’m a remote worker, voice chat apps are an issue near and dear to my heart. Having sat through a lifetime of technical difficulties, I can say without a doubt that the most important piece of UI in any voice chat app is the Mute Button.

The State of Agile Software in 2018

Weeknotes #3

This entire month has been a slog against servers. Whether its lower environment outages, issues with provisioning auto-scaling AWS instances behind a load balancer, or even INVALID_REQUEST after INVALID_REQUEST against OAuth API endpoints. It’s been a series of setbacks drawing out even the most trivial of tasks. I’m fatter and...

Weeknotes #2

Inspired by Paul Robert Lloyd and Andy Bell, I’ve decided to ride the “Weeknotes” wave. Hope that’s okay. This is “#2” because at the end of last year I wrote a post called “RSS Digest No. 1” which is essentially the same concept of sharing somethings that I did and/or...

Accessible Page Navigation in Single Page Apps

I’m working on a Single Page Application with some accessibility requirements on the horizon. However, the recent legal ruling against Domino’s requiring ADA conformance, some recent #hotdrama around a CSS-Tricks article, as well as a private conversation I had with an accessibility expert who mentioned SPAs were one of the...

4 Things I Miss About Mac

It’s been almost 4 years since I pitched #davegoeswindows on Shop Talk. I’m a happy Windows user by most accounts and don’t really see myself switching back any time soon. But there are things on Mac that I miss! I feel as if I’ve finally reached the plateau of productivity...

Angular, Autoprefixer, IE11, and CSS Grid Walk into a Bar...

I had a conundrum last summer on an Angular project. We got a bug report from an influential stakeholder and attached to the bug report was a screenshot of our beautiful website mangled in IE11. There was another similar bug filed for Edge 15.

Twenty Eighteen

This past year was a mix of successes and heartache. My family bought and sold a house, moved to a new area of Austin, we shed tears in doctors’ offices, our oldest learned to swim, our youngest jumped in a pool while no one was watching but thankfully my wife...

Weeknotes #1

Reagan Ray just published an awesome digest post of things he’s recently found and enjoyed on the Internet. I love this style of post so much. It sends me down rabbit trails of enjoyment. This past weekend I cleared out some ~500 RSS items in my RSS reader. I thought...

#​Edge​Goes​Chromium

The Web Development world has been rocked by some unexpected news: Edge is switching to Chromium. As an Edge user this is a somewhat personal change for me. And let it be known, I’m totally comfortable with the possibility that I’m the only Edge user you know on the Internet....

The Good Path

“Any jackass can knock down a barn, but it took a carpenter to build it.” — Sam Rayburn

Afro-American Work Songs in a Texas Prison

Concerns of the Self, the Team, and the Org

I’ve been thinking about the needs of decisions (technical or design) to translate across the self, the team, and the organization. On any project I belong to each of those “bodies” simultaneously. Choices I make needs to cascade across each context. One such decision I’ve been mulling is the option...

How Mega Man 11's Levels Do More With Less

Hard Costs of Third-Party Scripts

I’m interested in the User Experience costs of third-party scripts. Every client I have averages ~30 third-party scripts but discussions about reducing them with stakeholders end in “What if we load them all async?” This is a good rebuttal because there are right and wrong ways to load third-party scripts,...

4 Podcast Arcs Worth Listening To

If Statements Should Cost $10,000 Each

Estimating project costs is hard. Do a project based bid… uf, it’s prone to your own optimism bias and you end up over a barrel. Hourly? Great. Fair for both parties, but as time drags on mistrust can grow as cost directly relates to the speed of development. In either...

Color Cycling with Workers

Ch-Ch-Ch-Changes

Summer is winding down and I find myself reflecting on change. In late March my family moved to a new house in a different part of Austin. We moved 13 miles for a bigger house and better schools, but it feels like we moved across country. It’s amazing how much...

Repetitive Strain

I returned from a conference last week and began to feel the creeping pain of Repetitive Strain Injury (RSI) in my hands and wrists. I finally have enough data points to make the connection that conferences and client visits exacerbate my RSI. It’s now obvious that using my laptop and...

A11Y Nutrition Cards

🚀 Announcing a new open source project called A11Y Nutrition Cards

Twitchonomics

I’ve developed a Twitch habit. I’ve even started streaming a bit and hosting some friends. It’s fun and I’ve even made it to the Affiliate level so that I can accept digital currency (“bits”) from chat as well as monthly paid subscriptions (“Ya heard about Twitch Prime, chat?”). I’m having...

Assistive Technologies I Test With

After a recent talk on Accessibility, I was asked during the Q&A about what Assistive Technologies (AT) I test with while I’m developing. Such a good question! I hadn’t ever thought about what I actually test with and as I rambled on I thought it might help to write it...

Fixing these webs

Today I added 4 analytics/ad/tracking <script> tags to a page and the number of requests went from ~13 to 38. If there was one problem I wish all webfolk could gather together to demand a fix for, it’s this. The other is more high-level accessible controls.

The Caves of Steel

The Righteous Mind

When

What’s Golf for People Like Me?

Capturing...

Telepresence

Lately I’ve been smitten by the concept of “Telepresence”, the idea that technology can transport and make you feel like you’re present elsewhere. Over the past few months, I keep connecting dots and am realizing how much of my life is actually centered around this concept.

The React is “just” JavaScript Myth

One oft-repeated phrase I hear in blog posts, talks, and podcasts is “React is just JavaScript.” I think this catchy truism is good marketing, but also false.

My Struggle with Testing Code

Brad Frost recently shared a post called “My Struggle to Learn React”. Inspired by that, I thought I’d share something I’m bad at: Testing Code.

Webdev on Windows with WSL and VS Code

This month I recently had the unfortunate pleasure of re-installing Windows on all my computers due to some botched Windows Insider updates. Yeah… ouch.

Larry Tesler Interview: The Laws of Interaction Design

While researching another post, I came across Tesler’s Law named after former Xerox PARC employee, Larry Tesler. Tesler’s Law is an interesting concept that makes you evaluate who should bear the burden of needless complexity.

The Eponymous Laws of Tech

It is my life’s goal to have a anecdotal law named after me. That or a breakfast taco platter.

Prototyping and the Wintergatan Marble Machine

How Much Are Podcasts Worth?

It’s “Fund Drive” season on almost all of my favorite podcasts. As a listener of NPR, it makes sense that podcasts would share the same listener supported business model. I listen to a lot of podcasts, so karma is nudging me saying I should support good content that I enjoy....

Pitfalls of Card UIs

I’m currently in the process of rolling out yet another Card UI. Since Pinterest, the end-state of every list view with decent imagery is to become a Card UI. But thar be dragons! I’m here to share some of the pitfalls Paravel have encountered building Card UIs over the years....

#davewentandroid

The Four Jobs in Web Design

Being such a new industry, web design job titles are endless and all of them feel completely made up. Job titles do hint at specialization, which is nice, but to me there are really only four jobs:

Animated SVG Radial Progress Bars

For a client project we tasked ourselves with building out one of those cool radial progress bars. In the past, we’ve used entire Canvas-based based charting libraries (156k/44k gzip), but that seemed like overkill. I looked at Airbnb’s Lottie project where you export After Effects animations as JSON. This is...

Machines are Ahead of Morals...

“I fear that machines are ahead of morals by some centuries and when morals catch up perhaps there’ll be no reason for any of it.” – Harry Truman

The Mammoth

It was 5:06 am on a foggy morning when the autocab dropped me off at the job site. I remember the time because I got to see the cargo drone drop off the shipping container filled with the day’s supplies. Exactly the right amount of supplies. No more, no less....

Cheapass Parallax

While doing some art direction on a recent post, I felt like the main header feature needed just a smidge of …*gulp*… parallax. Before you cast judgement, parallax is a nice effect sometimes… sometimes.. very sometimes.

Bad Month for the Main Thread

This past month has been a brutal succession of hidden hardware flaws being exposed. First, the revelation that iOS has indeed been throttling CPUs on older devices based on their claim to improve battery life. Second, the Meltdown/Spectre attack vectors threaten to slowdown CPUs ~20% in order to fix a...

Endless Content

When I think about all the books I’ll never read, the movies and TV shows I’ll never see, podcasts I’ll never hear, and the games I’ll never play; I get a bit overwhelmed. It sounds a bit mid-life crisis’y, but sometimes it feels like the world and news is moving...

Introducing ❬ASIDE❭ QUEST

I’m happy to announce the launch of my next podcast venture: ❬ASIDE❭ QUEST with my friend Danh Hoang. It’s a video games podcast for people who are too busy to play video games.

Twenty Seventeen

2017, what a year. A constant garbage fire. Despite all the bad stuff, I have a few things to celebrate…

More Insidiously Still...

Originally posted on May 16, 2014 over on Medium, the last time the FCC tried to destroy Net Neutrality. I regret to inform you that the FCC is back on its bullshit. Join the Battle for the Net

March

Cognitive Overload

The best talk I think I ever saw was by Scott McCloud at InCtrl Orlando 2014. Scott, a comic artist and graphic novelist, spoke about the evolution of comics as an art form and a communication medium. The talk was not web-centric at all but the parallels between Comics and...

4 Documentaries about Animation

4 Documentaries about Game Dev

4 YouTube Channels for Web Devs

Somewhat embarrassingly, I picked up a YouTube-while-working habit in 2017. What I’ve learned is this, watching other people code makes all the difference in improving your development skills. Especially if you’re a lone developer or work from home with few chances to pair program.

Team Incentives in Overwatch

Happier HTML5 Form Validation

I recently embarked on improving the client-side form validation for a client. There were about 400 lines of form validation code stuffed inside a 1000 line form_helper.js. I looked for lightweight form validation scripts but after some hemming and hawing I decided to try my hand (again) at native HTML5...

The Medium

I’ve had a few similar conversations lately with colleagues I admire in the Web industry. They’ve all mentioned that they are a bit tired and burnt out. This happens, especially over time. But there is a trend. For most it comes down to the fact that the etherial World Wide...

Is Heart the greatest rock band ever?

Let me break this down for you.

Me listening to any song by The Police

The following is an accurate account of me listening to any song by The Police:

Transpiled for-of Loops are Bad for the Client

This is the story of picking the right JavaScript for-loop. On a client project Julian Jones and I casually wrote heaps of NodeList.prototype.forEach() for the DOM manipulation in our Pattern Library.

The Era of Newshammer

Welcome to the brand new Dave-Rupert-Dot-Com! It’s been about 5 years since I did any kind of redesign to my site and it feels good finally get this done. Allow me to give you a tour of some of the new features.

A good science fiction story...

“A good science fiction story should be able to predict not the automobile but the traffic jam.” – Frederik Pohl

Dave Goes to the Microsoft Edge Web Summit 2017

Breaking the Grid

As a Front-End developer nothing bothers me more than seeing an unexpected horizontal scrollbar on a website. While building out a checkout layout with CSS Grid I was surprised to find something mysterious was breaking the container. I thought Grid sort of auto-solved sizing.

Jonathan Haidt: The moral roots of liberals and conservatives

Disalienation: Why Gender is a Text Field on Diaspora

It was early 2011 when I first read Sarah Mei’s “Gender is a Text Field” pull request. While I thought this post-structuralist idea was an interesting differentiator for the budding open source social network Diaspora, I wondered if it was overkill. Was skipping the gender field or lying about your...

Shigeru Miyamoto's 1999 GDC Keynote

The Problem with IE9

I typically take a conservative approach to building websites, layering in modern functionality in order to reduce code and technical debt and extend my client’s investment further into the future. A recent project uses Grid with Flexbox fallbacks and minimal ES6 features that are all ran through Autoprefixer and Babel...

Jekyll Includes are Cool

I’m building a pattern library in Jekyll. I like Jekyll for this because I can store all my reusable components in the _includes/ directory and use Jekyll’s {% include my-component.html %} tag to import components as needed. And those components can be seeded with ⚡REAL DATA⚡ from the client’s database...

Namespaces

The other day I met another dad at a kid’s birthday party at a zoo. After introductions we began the custom of figuring out what eachother do for work.

4 Things I Know About Pattern Libraries

It’s been four years since I wrote about Responsive Deliverables. Since then I’ve been working steadily with companies to build out their own “tiny bootstraps”. I’ve been reflecting on this work and I thought I’d share some of the things I’ve learned.

Having a Hard Time

The other day my son was telling his best friend, our 81 year old neighbor Cleo, about another boy at his school. This particular classmate has autism and from the perspective of my 3 year old son characteristics like limited communication or not sharing interests seem like misbehaving. So he...

Initial Impressions of CSS Grid Layout

In-somecontext Sass Partials

I stirred up some discussions the other day with a Twitter poll about :

How Buildings Learn

Thoughts on Negative Margins

Lately I’ve been sharing some CSS Tricks I’ve stumbled in to while trying to solve some problems on client work. It’s been fun uncovering new little solutions.

Hassle-free Full Bleed with *:not()

Let’s say you’re making a blog post layout. Content is entered into a CMS inside a WYSIWYG editor field. You echo that content to the page. You pull it up on a mobile device and notice the paragraphs go edge-to-edge. Yikes, it’s a little uncomfortable. So you add some kind...

My Bash on Windows Dev Environment

Web development moves fast. This post is old. A new step-by-step guide to setting up a Windows 10 web developer environment is now available.

My PocketCHIP

Disneyland and the Character Machine

In October my family took a trip to Disneyland. I couldn’t help but be infected by the magic of Disneyland that allows you to feel young at heart and compells you to wear mouse ears on your head. Walking mile after mile through the park it’s very clear this magic...

APT Features that Web Tooling Craves

Part of my switch to the Bash on Ubuntu on Windows (can we call this “Winbuntu”?) means that I’ve been using apt on a regular basis. The Advanced Packaging Tool (apt) is a package manager for installing Linux packages, not too different from web tool package managers like bundler, gem,...

Dave Builds a PC

While waiting for the updated specs on the laptop I said I was going to buy in the #davegoeswindows finale, I put it together that I could build a custom PC “gaming rig” with VR capabilities and buy a VR headset for considerably less money than the laptop + core...

Addiction, the Mobile Currency

This summer I saw a video of a guy playing Pokémon Go crash his car into a police car.

The Shitlord in the Forum Problem

There is a problem that I think every online community inevitably must face. One with potential to destroy the community from the inside; the Shitlord.

Desktop is Lava

My good friend, colleague, D&D party member, and fellow dad, Lon Ingram and I got into a good discussion the other night about Native Apps vs. Mobile Web vs. Desktop Web. In part, it was sparked by Google’s decision to fork their search index into mobile and desktop. It’s a...

How I'd Save Windows Phone

The Verge says “Windows Phone is Dead” every six weeks or so. Whenever a claim like that is made, I can’t help but think about it and how to begin to fix such a giant problem. How do you resurrect a mobile platform?

Super Mario 64 - 1996 Developer Interviews

How do you design and build a new paradigm for gaming while simultaneously designing and building the hardware that will enable this paradigm? This is an interesting question! Thankfully the Shmuplations blog has dug up 1996 Japanese language strategy guide interviews with Shigeru Miyamoto and the developers who created Super...

The Shock of the New: Trouble in Utopia

The Web Is Ruined and I ruined it

“The Web Is Ruined and I Ruined It” by David Siegel is a remarkable piece in the history of Web Design. For those unfamiliar with David Siegal, he’s the Father of Web Design. He literally invented the spacer.gif technique for styling websites using tables. That hack earned him the (self-proclaimed)...

Windows Shutdown Crapfest

Having just switched back to Windows after 13 years on Mac, this bit of #oldgold from 2006 feels highly relevant. As a response to a Joel on Software post about UI design gone bad, Moishe Lettvin shares a behind the scenes look at how Windows Vista ended up with all...

I don't care about accessibility

It’s SXSW 2004, the heyday of the Web Standards movement, at a panel called “Accessibility for Everyone!” Jeffrey Veen appears on stage and leads with the following statement, “I don’t care about accessibility.” Wow. I imagine this went over like a lead balloon. A statement so apostate to the culture...

Hidden Expectations

This job never came with a manual. If you’re like me, you got into the business of building websites writing bad teenage poetry or photoshopping crude posters for your band. Eventually, you learned the skills to put your creation on the Web and became addicted to the thrill of instant...

Solvable Chunks: One Week Video Game

The #davegoeswindows Finale

It’s been one year since I uprooted my dev environment and made the switch to Windows. I’m happy to share that after a year of ups and downs, I’ve made the decision… dramatic pause …to… more dramatic pausing …stick with Windows.

A Standard System of Measurements?

Lately I’ve been thinking about how the Web could benefit from a Standardized System of Measurements, especially in how we discuss performance.

Ruby on Rails on Bash on Ubuntu on Windows

Web development moves fast. This post is old. A new step-by-step guide to setting up a Windows 10 web developer environment is now available.

Dave Goes Build

At the end of March, I was invited out as a part of the #davegoeswindows experiment to attend Build 2016, the annual Microsoft developer conference. Think WWDC or Google I/O, but for Windows developers. Over three days of keynotes, roundtables, breakout sessions, and an expo I was able to learn...

Responsive Product Comparison Tables

I’m sure it’s not a rare use case, but between working hours I’m a mobile-only user. Young kids mean I need my hands free and not having a laptop in the house has made for better work/life balance. As a result of being mobile-only for half my waking hours, I...

Alternate Realities

Over the past 9 months, I’ve been exploring what alternatives exist to the lackluster reality of Lists, Details, and Flows, a personal journey to cure my boredom. New frameworks, switching programming languages, and changing build tools every 6 weeks keeps me on my toes; but what I really seek are...

Lists, Details, and Flows

I’ve become a bit discontented. In a fit of base reductionism, my brain has begun boiling down digital design (apps/web/product/interface/etc, all the same thing) into to three types of designs: lists, details, and flows.

Jekyll on Bash on Ubuntu on Windows

Web development moves fast. This post is old. A new step-by-step guide to setting up a Windows 10 web developer environment is now available.

Dave Goes Back to Mac for 20 Minutes

Here’s how it all started. I’ve been tinkering with a little Slack bot recently and wanted to deploy it on BeepBoop. BeepBoop requires a Dockerfile to deploy. “Okay,” I said, “I don’t really use Docker, but why not.” I set about trying to install Docker for Windows.

Spring Cleaning

Springtime is a great time to tend to your blog. On a recent 4 hour flight with no WiFi, I got my hands dirty and MURDERED THE HELL outta some things. Here’s the tl;dr on what’s new:

Screencasts on a (Performance) Budget

Occasionally I’ll run across the need to record a quick screencast for a blog post, client, or presentation. In the past I’ve made gifs with LiceCAP. Gifs can be large, have low framerates, and a low color profile. The better, free, easier, and more web performant way is HTML5 video....

Light Frames, Great Content

I’m constantly revisiting my opinion on what makes a good website. For years it was the immersive animation of Flash that defined a great user experience. Then it was the Web Standards, the quality and poetry of the underlying code that symbolized greatness. Just as my passion for Web Standards...

Dear Github

Last week a group of some high profile open source developers banded together to write an “Open Letter to Github” to express their sepecific frustrations with Github Issues. At the time of writing the number of co-signers is over 1200 individuals. Their demands are simple:

#davegoeswindows check-in

Every holiday season I try to lock my computer in a safe so I don’t see it for a couple weeks. As I pulled the Surface its vault and powered it on, I had a short conversation with myself:

Intrinsic Placeholders with the Picture Element

The leaner/faster your site is, the more noticeable/painful image loading becomes, especially with hero images. Layout getting recalculated when each image arrives results in a spastic hurk-jerk page reflow. This bothered us enough on DayTrip to find a fix.

The Cost of Frameworks

This week Paul Lewis (@aerotwist) posted a talk on “The Cost of Frameworks”. In his talk Paul raises the question on whether the cost of MVC frameworks is too high since their inclusion and execution likely means you’ve blown any respectable performance budget. Paul provides some data and a tool...

Chrometophobia

Chrometophobia is the Fear of Money. It’s not serious or life-threatening but, as far as phobias go, it’s a unique circumstance that governs my life to some degree.

On Hurk-Jerk

Paravel recently updated the look and feel of our portfolio site. Redoing your portfolio is always an exciting opportunity to express the newest and latest methods of how your organization likes to build things. We added color, trimmed copy, simplified content, and moved it all from a custom PHP Frankenstein...

Dave Goes to the Microsoft Store

The Surface had a blowout. The computer went to sleep and when I tried to wake it up, the Type Cover wasn’t responsive. Hardware bugging out isn’t strange to me, so I restarted the computer. It didn’t work. I finally found a troubleshooting document that looked promising. So I followed...

The Invisible Hand of the Barista

My wife and I have noticed that whenever we make coffee, it’s completely different despite the fact we use the same grounds, the same filters, the same coffee maker, the same water faucet, and the same measuring devices. We were both stunned that the flavor of our morning brew depended...

Windows Editors and Shells

Web development moves fast. This post is old. A new step-by-step guide to setting up a Windows 10 web developer environment is now available.

Making a Video Game

Side Products

Developing on Windows

Over the last month or so since switching to Windows I’ve been slowly piecing together my development environment and I have lots to share on what is and isn’t working. This post will be about Programming Languages I’ve played with and I’ll save Code Editors and Shells for another post....

Dave is Going Windows

It’s official: I’m going Windows! After my original blog post, I started a few conversations with Rey Bango from Microsoft who surfed all the proper channels and secured for me a Surface Pro 3. Over the past week or so I’ve been migrating over to the new machine.

Every Browser is the New IE (to me)

There’s been a lot of talk lately about “the New IE”. Heck, the Verge even tried to hang all their performance problems on it. There’s also been a lot of great (and not-so great) criticism about it all.

DUCK!

Terrifying Robot Dog is an excellent futurist/technologist podcast by Kelli Shaver and Jonathan Stark. This past week they discussed Amazon Echo and its Alexa natural language processing (NLP) software.

Children of the Magenta (Automation Paradox, pt. 1)

Last week’s 99 Percent Invisible tells the fateful journey of Air France 447. On its way to Rio De Janeiro the flight mysteriously fell off the radar. The plane’s automated systems failed, the fly-by-wire autopilot disengaged, and a critical mistake was made. The co-pilot –whose skills had atrophied from his...

The Gruen Effect

One of my favorite podcasts, 99 Percent Invisible, recently told the story of Victor Gruen, the man who invented the American shopping mall. Is he a sinner or a saint? Listen to the episode to find out.

A Special Feature

Craig Hockenberry had a powerful post this past weekend over on the Iconfactory blog. Last week Iconfactory’s flagship app, Twitterific, was one of around 20 apps in the App Store’s “Popular Apps Using VoiceOver” feature. To sum up this impact, Iconfactory posted a graph of their downloads over the last...

Loki’s Wager

I probably think about Loki’s Wager on a weekly basis. It could be too many Thor comics. But even now, there’s a healthy debate stirring up again about Progressive Enhancement needing a re-brand. Ye olde “Web Apps” vs. “Web Sites” debate. Can/should we draw a line? Yes, but no.

Apple and Google Race to See Who Can Kill the App First

WIRED recently ran a thinkpiece on Apps being cannibalized by the Operating System. I think the thesis is justifiable. I mean, just ask Spotify or Flipboard how they felt about the WWDC2015 keynote. Software has finished eating the world and is now eating itself.

Progressive Apps: Escaping Tabs Without Losing Our Soul

Alex Russell had a great post this week about Web Sites in an App World, he even coined a new term “Progressive Apps” which I enjoy immensely. Progressive Apps, in Alex’s view, are (web)apps that earn their spot on our homescreens over time and preserve the URL-based nature of the...

What’s New in Web Development in WebKit and Safari

The annual updates to Webkit and Safari are exciting for a web developer like me. A feature finally shipping on Mobile Safari tends to mean it’s now a feature we can actually use. Here’s my recap of what’s new.

The Economic Value of Rapid Response Time

While watching AMC’s Halt and Catch Fire, I learned about the “Doherty Threshold”, a discovery from a 1982 IBM report called “The Economic Value of Rapid Response Time”. The report is old gold and reads like a modern day #webperf article.

The Desktop Conundrum

I fully believe in designing and building websites Mobile First. Both on a theoretical level and a data-driven level. Three particular stats convince me we’re well past the tipping point: Google mobile search traffic is over 60%, 73% of all daily Facebook users access from a mobile device, and 80%...

#davegoeswindows?

On this week’s ShopTalk (162: Rapidfire 42), Chris and I received a somewhat frequently asked question, “What do you guys think about Linux as a developer environment?” Our answer devolved into a discussion about the Mac monoculture (which Chris and I are bought into) that seems to be pervasive in...

Deploy a Password Protected Jekyll Site on Heroku with Dropbox

UPDATE: Heroku has removed Dropbox Sync support. This technique will not work anymore. Recommend Netlify for easy static site deployments.

Ol’ John Henry

The Legend of John Henry is the tale of a steel drivin’ African American labor hero that defeated the Machine that came through town to take his job.

COMIC: How Mobile Browsers Market Themselves

COMIC: How Browsers Market Themselves

Mental Adoption Process

Web Archeology

RWD Bloat Part II

Building off of my previous post on RWD Bloat, the following is step-by-step how I made my site faster over the course of a few days. For the purposes of this test, I’m hyper-focused on my Speed Index numbers for my Home and Article templates (the 2 most visited templates...

RWD Bloat

One of Responsive Web Design’s biggest critiques is that it is responsible for slow load times and extreme page bloat. The best response to this criticism is Tim Kadlec’s Great Divorce:

Sharing Podcasts

Some recent posts have highlighted the challenges facing Podcasting as a medium. Stan Alcorn’s “Is This Thing On?” explains how audio rarely goes viral and Joe Steel’s rebound “Let Me Share This Podcast With You” explains some of the deeper challenges of sharing. I believe that by using HTML5 we...

2014: The year we all go 4K

This year at CES 4K televisions were a big deal. 4K UltraHD displays for computers have been available for awhile, there’s even one on Apple’s website, but at $3,500 they’ve been cost prohibitive. That all changes with the announcement of new 4K displays priced at less than $1000.

Caption Everything

A few months ago I attended an event where a young woman was sitting in the back row frustratedly signing with a friend. She seemed visibly bored, idling on her phone and unable to engage or maintain interest due to the lack of a professional interpreter. That struck me.

Garbage in the Walls

My wife and I are in the process of getting our small (36ft²), moldy “master” bathroom remodeled. During a break in jackhammering, I peeked around the worksite and noticed an empty concrete bag stashed away behind newly hung sheet of drywall.

So I trolled The White House...

A Renewed Perspective

Due to the birth of my firstborn, Otis, I spent two weeks on paternity leave. My hands were literally filled (read: with poop) and I was confined to “mobile”1 devices for consumption: 90% iPhone, 10% iPad mini. Holding a newborn is really a quite “immobile” activity. ↩

Ughck. Images.

Lots has happened in the world of Responsive Images since I wrote Mo’ Pixels, Mo’ Problems. And by lots, I mean nothing at all. It’s been over a year since The Great WHATWG Responsive Image Debacle and we’re still at square one.

Introducing TimeJump

Over the past 60+ episodes of ShopTalk, Chris and myself have amassed a lot of incriminating content. After a few requests, we decided it’d be helpful to our listeners to add the ability to deep link our episodes, modeled after the way YouTube handles deep linking. After we built it...

Responsive Deliverables

During the era of Print Design, companies would approach agencies for a brand identity system. Don Draper would then hire one of two people: either Paul Rand or Saul Bass. Paul Rand’s work with Westinghouse makes a great case study for building a design system.

Ideas of March

When I began blogging in 2002, I ran an emo webzine called Wimpkiller. It was the online continuation of a paperzine my friend DadBeard and I did in high school. There I chronicled my unemployment, employment, unemployment, three years spent in Japan, and more. The site had an active Phorum...

#Protip for Startups

At a recent conference I had the pleasure of witnessing a few startup demos. Genuinely interested, I did what any FOMO-suffering technophile attendee would do, I pulled out my phone to visit the URL on the screen. These are all brand new businesses, but the majority of the websites I...

The A11Y Project

I’ve been making websites for nearly 19 years and my biggest struggle is that I don’t have a good grasp on accessibility. Other web developers I’ve spoken with have similar feelings, a secret shame about not knowing enough. Universal Access is core to the philosophy of the web, yet it’s...

2013, the year the Mayans forgot.

For 2013 I’ve made a few resolutions. Spurred on by Chris Coyier, I’ve decided to blog my plans for the next year. This year is a little different than most because I made a conscious effort to formulate emperically measurable goals.

Em-limited Content

The number of characters per line is an important part of typography. It’s the basis of how comfortable or exhausted a visitor will be while reading your site.

A brander newer blog

Since May I have been deconstructing my site and rebuilding it bit by bit. Trying to keep the soul of the last version (which I liked) yet having an all new perspective. The new design is now em-based, mobile first. I think I’ve got the hang of this mobile first...

Making Video.js Fluid for RWD

Now, Uncle Dave is no stranger to video in responsive web design and I currently have a situation where I need to use Video.js on a project. Out of the box, Video.js isn’t super flexible. My first attempts at responsivizing1 it went awry, but I eventually grokked out a 3...

Uncle Dave's Ol' Padded Box

Inspired by Elliot Jay Stocks’ article “Better Background Images for RWD” and comments therein, I combined 2 of my favorite concepts for great success: Thierry Koblentz’ Intrinsic Ratios + background-size: cover.

Responsive Image Hierarchy

In a single column “mobile view”, taller images appear more important than wider images. We came across this unexpected maxim while working on a recent responsive design. Our design employed a ~3:1 hero image with three ~4:3 thumbs below it. At full width it was the proper hierarchy: Biggest ==...

Responsive Video Embeds with FitVids

Last week, Trent Walton tweeted about the frustration of getting standard video players to work in a responsive design:

Tiny Apps on Tiny Devices

In association with MIX Online and An Event Apart, Paravel is proud to take part in the launch of The 2011 10K Apart: Responsive Edition. It went fast but we had fun handling the the design process and frontend buildout of this year’s contest site.

Interaction

We now have CSS3 transforms, transitions, animations, media queries, HTML5 audio & video, Canvas, inline SVG, and even WebGL for full 3D rendering. Infinite possibilities and combinations that keep me up at night. Better Browsers, Better Devices, New Interactions Responsive Web Design by Ethan Marcotte has spurred my thinking about...

Two-Tone Borders with CSS3

We love texture at Paravel. When you settle on a good texture, there’s nothing better than a slighly embossed horizontal rule to give a letterpress like feel in between sections.

AustinJS Lettering.js Presentation

I recently had the opportunity to speak at AustinJS about Lettering.js, the jQuery plugin I created for The Lost World’s Fairs. The presentation starts at ~4:23 and is followed by a 10 minute Q&A. My favorite part of the whole talk is when I invent a brand new CSS property...

40 Things I Learned From Side Projects

It’s been a busy year at Paravel, no doubt. In addition to client work, we at Paravel put a high value on personal side projects, famously The Many Faces Of, because through goofing off we can stay at the top of our craft. In order to quantify the benefits side...

Lettering.JS

Oh wow! Lettering.JS now has it's own website with a little mini-gallery.Check it out to see how other people are using it. Paravel has just wrapped up an exciting secret project with three of the web's most talented designers: Jason Santa Maria, Frank Chimero, and Naz Hamid. These designs are...

Web Performant WordPress

On Episode 4 of the ATX Web Show, I interviewed Kyle Simpson and we discussed Web Performance and Google’s plan to “Make the Web Faster”. Since then, Google has announced they will start rewarding your site’s page speed and they hint that the bar is set at ~1.4 seconds. I...

Fuck Yeah Mobile Web

8xMobile internet adoption has outpaced desktop internet adoption by eight times. # 1.03M1.03 million touch screen phones sold per day in 2009. # 100k100,000 Android phones activated per day in May 2010.# 2011Smartphone sales will surpass worldwide PC sales by the end of 2011 .# 1BHeavy mobile data users are...

A Brand New Design

To date, my blog has had 3 themes in just 7 short months. Just about as many posts as themes really. But I’m making a concernedconcerted effort to change that. To start, I thought I’d write a little bit about the process of this version. The Prototype The new theme...

Dribbble Wordpress Plugin

Trent Walton seeded the idea and asked me to make a Dribbble plugin, so I created one that (by default) mimic’d the wonderful UI created by Dan Cederholm and Rich Thornett. After a couple emails with the gentlemen from Salem, we got their permission to use some assets and a...

Processor Fans Are A Part Of UX

The web is advancing with CSS3 Transitions. At Paravel we’ve been thinking a lot about the best practices and approaches to using these fancy jQuery and CSS3 animations. While our thoughts are loosely coupled with the HTML5 vs. FLASH debate, the web is moving forward and we’re excited about how...

Audio, the silent browser killer

Occasionally my wife and I will record a song together and release it on our blog. I was using the WP Audio Player plugin to show off these little ditties, but at some point this month it unexpectedly broke and ceased loading. I couldn't be bothered to track down and...

Announcing the ATX Web Show!

I just launched the ATX Web Show! A podcast that aims to feature the best and brightest in web design and development in Austin, TX. I’m pretty excited about it. It started as a late night idea then turned into a code binge. Less than 24 hours later it was...

NPR, NYTimes and the Future of News

Paper news is heading the way of the cassette tape. It used to be the primary method of distribution, but it has been made obsolete by faster, smaller, more portable forms of news. Waking up and reading the paper will soon be replaced by grabbing your Apple iTablet from your...

What I'd like to see from Lithium #li3

This week my framework of choice CakePHP forked. Now there’s CakePHP (the mothership) and Lithium (the project formerly known as Cake3). Let me tell you, oh people of the interwebs, it’s a weird feeling to wake up on a Friday morning to find out the leaders of your “online community”...

Rabbithole Log #1

"5 options when website budgets get slashed" -great article, sent me to the following sites: "Good Designers Redesign, Great Designers Realign" - This A List Apart by the famous Cameron Moll says "The desire to redesign is aesthetic-driven, while the desire to realign is purpose-driven". Sure it's great to have...

Digg forsakes its first love.

Let me start off by saying, I know what this looks like.  This appears to be “the little emo-kid trying to raise a huge ruckus by throw rocks at Digg because his/her articles never get dugg”.  But, let it be known, I have no gripe my lack of success in the...