Archive
Tags (i.e. things I’ve written about more than once): arc90, bookNotes, bookNotesBeethoven, bookNotesCoders, bookNotesLeonardo, bookNotesSoftwareCrisis, bookNotesStevenKing, bookNotesThinkAgain, browsers, css, darkMode, data, deno, design, designEngineer, designProcess, domainHandle, engineering, generalNotes, html, iconGalleries, iconGalleriesBook, javascript, jsTemplating, kindling, localFirst, myBlog, netlify, notesRichHickey, openWeb, podcastAppearance, podcastNotes, postlight, progressiveEnhancement, prototyping, quadratic, quickChartIo, readingNotes, readlists, remix, rss, rssClub, sagesure, stories, theMoreYouKnow, timshel, tips, typography, webComponents, webPlatform
Years: 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012
2024
- You Are What You Read, Even If You Don’t Always Remember It
- Implementing Netlify’s Image CDN
- Expose Platform APIs Over Wrapping Them
- The Case for Design Engineers, Pt. III
- The Allure of Local-First Sync Engines
- Making Films and Making Websites
- Following Links
- Is Making Websites Hard, Or Do We Make It Hard? Or Is It Some of Both?
- My Guest Appearance on ShopTalk Show #605
- AI Is Like a Lossy JPEG
- Notes from “Why Can’t We Make Simple Software?” By Peter van Hardenberg
- More Files Please
- The Subversive Hyperlink
- Two Quick Tips When Building With React Router
- UI=f(org): UI is a Function of Your Organization
- Zero to Unmaintainable in 1.2 Commands
- The Case For Design Engineers, Pt. II
- A Golden Era of Blogging
- Using Quadratic to Discover Newsletter Links
- Treating the Symptoms
- An Inbox Full O’ Receipts
- Online Handles: A Round-Up
- The Origin of Online Handles
- Immeasurable Impact
- RSS in HTML: A Follow-Up
- RSS in HTML
- “The macOS App Icon Book” IRL
- Idioms as Code
- It’s Humans All the Way Down
- Notes from “An approach to computing and sustainability inspired from permaculture” by Devine LuLinvega
- Cold-blooded Software
- A Subtle Nicety of Fault Tolerance in HTML & CSS
2023
- Blogging and Composting
- Getting an Unread Badge Count For the Docked Gmail Web App in macOS
- The Largest Money-Printing UI Element Ever Made
- “That’s Another Podcast”
- How I Take and Publish Notes
- Examples of Great URL Design
- Width and Height in CSS
- HTML Web Components: An Example
- HTML Web Components
- As Good as HTML
- Embeds and Quotations in Writing
- Advice on Blogging
- JavaScript Is Enabled by Default in Web Browsers
- People and Blogs and Me
- LLMs and Naming Things
- The Cost of Avoiding Annoyance
- Using Web Components on My Icon Galleries Websites
- There’s TypeScript and Then There’s TypeScript
- A Few Details About My Notes Website
- Making a Website is for Everyone
- Robots.txt
- Software is What We Learned Along the Way
- Build Great Software By Repeatedly Encountering It
- Notes from “Weathering Software Winter” by Devine Lu Linvega
- “The iOS App Icon Book” in Japanese
- LLMs, Intuition, and Working With Computers
- “Out of the Software Crisis”: Making Software
- “Out of the Software Crisis”: Gardening
- “Out of the Software Crisis”: Dependencies
- Book Notes: “Out of the Software Crisis” by Baldur Bjarnason
- Family Tree Wisdom
- There’s Something You Need to Know About Web Design and Development
- Counting to Ten
- Reloading a Document (and Preserving Query String Parameters) Using Only HTML
- “We’re All Just Temporarily Abled”
- My Guest Appearance on JS Party #288
- There’s Meaning in the Ordering of the Web’s Tech Stack
- Stealth Airplanes & Best Practices
- Knowledge Laundering
- User Feedback
- The Nuance of “Domain”
- Domain Sins of My Youth
- Things I Like Over Things I Don’t
- Stop Being Fancy
- Language-Level Toll Roads
- Apollo and App Icons
- Components and LEGOs
- Thoughts from “Meet Safari for Spatial Computing”
- An Ode to An Event Apart
- JavaScript Imports Under The Hood
- Minute Rice, Minute Text, Minute Websites
- Watch Transitions in Slow Motion in Chrome’s DevTools
- Browser Defaults We Throw Away
- Link Preload as Image
- Single Line Comments in CSS
- A Well Known URL For Your Personal Avatar
- Get You Some Practical Accessibility
- Date and Time with a Static Site Generator
- Building an Infinite Spreadsheet
- The Power of Fast Feedback Cycles
- Setting Your Social Handle as Your Domain Name on Bluesky
- Cite Your Sources, AI
- Gratitude For a Web That Tries Not to Break
- Circles and Momentum
- Notes and Reflections from Rich Harris’ Talk
- Notes to Self on Mastodon
- Offline Is Just Online With Extreme Latency
- Site Search in Arc Browser — For Your Own Site
- AI & The Science of Creativity
- More Everything With AI
- Types in JavaScript With Zod and JSDoc
- AI Takes Over Because of Human Hype, Not Machine Intelligence
- Logical Properties and Ease
- The Alphabet as Technology
- The Figma to Browser Chasm
- Deadlines as Technology
- An Oasis of Quiet
- The Tension Between Logical Reasoning & Illogical Creativity
- End Users Over All Else, Even In Our Tools
- Faux Progress
- Introducing: notes.jim-nielsen.com
- My 2023 CSS Wishlist
- Productive Procrastination
- The Validity of Custom Element Tag Names
- The Birth of “Disable JavaScript”
- CORS, CORB, CORP, COOP, COEP, C…
- Reading Notes, January 2023
- Nothing’s Bulletproof
- Digital Preservation and “The App Icon Book”
- The Best Time to Own a Domain Was 20 Years Ago; The Second Best Time Is Today
- A Short, Totally Unofficial, History of Port Numbers in Web Development
- The Anti-Capitalist Web
- The Art of Knowing When to Quit
- Curating Artwork From Humans and AI
- Subscribe Wherever You Get Your Content
- OK LCH, I’m Convinced
- Justify Space Between Individual Items in Flexbox
- Thinking Systematically
- Book Notes: “Pirate Hunters” by Robert Kurson
2022
- Reading Notes, December 2022
- Prototyping and Practicing
- Notes from Ryan Dahl on Shop Talk Show
- Good Design, Pt. II
- Select The Right Tool For The Job
- Music, Programming, and Practice
- A Change of Employment
- Reading Notes, November 2022
- The Word “Value” in CSS
- CSS For URLs and HTTP Headers
- Natural Language Inputs
- Artistic Prototypes
- Remix and the Alternate Timeline of Web Development
- Obscure Things Power the Imagination
- Verified Personal Website
- Browsers, JSON, and FormData
- npm Dependency Queries and the Cross-Pollination of Ideas
- Website Fidelity: Browser Perspective
- Reading Notes, October 2022
- Optimize For Nothing
- Scroll to Text Fragments
- What “Work” Looks Like
- Seeing vs. Using
- Labels, Spectrums, and The Web
- Website Fidelity
- Fiddling With iOS App Icons and AI Art Generation
- Sketch Design Challenge: App Icons
- Patching The Open Web
- Remix, React, and State
- Reading Notes, September 2022
- Creating Custom RSS Feeds For Following Others
- Moving With Prototypes
- My Contribution to Launching React Router 6.4
- Font Family and @supports
- Building Software Together as a Type of Translation
- Building Together
- Good Design
- Podcast Notes: Jen Simmons on ShopTalk Show
- Generating an EPUB File in the Browser
- Reading Notes, August 2022
- Validating HTML
- Trying
- Stats Page
- Re: “The web is a harsh manager”
- Re: “The web is a harsh manager”, Pt. II
- The Web’s Diversity
- Old African Proverb on Web Design
- A Well-Known Links Resource
- Playing With My Blog’s Home Page
- Things You Can And Can’t Do
- Markdown Sans Front Matter
- Saying Thank You
- The OG Social Network: Other People’s Websites
- Multiple Inline SVGs (From QuickChart)
- Reading Notes, July 2022
- HTML Emails: A Rant
- Book Notes: “On Writing” by Steven King
- There Is No Bar — But Having One is Good Too
- Finding Stuff to Write About
- Writing and Waiting
- The Resiliency in the Web’s Layers
- My Office Space
- Visualizing SF Font Variations
- The Unlocked Possibilities of the :has() Selector
- Software Over Time
- Reading Notes, June 2022
- Notes From “In And Out Of Style”
- A Previous Sibling Selector
- Doing Well
- Favorite Excerpts from the Postlight Podcast, Part II
- The Message Behind the Medium of a Personal Blog
- Form Data and Structured JSON
- Visualizing My Blog’s Internal Links
- A Short History of iOS App Icons
- Reflections on Design Systems and Boundaries
- Avoiding Flash of Inaccurate Theme Color [Edit: I Was Wrong]
- Reading Notes, May 2022
- The Case for Design Engineers
- Loading, Parsing, and Executing JavaScript in 2022
- Quick and Dirty Text Diffing
- Netlify Public Folder, Part IV: Simplification with macOS Shortcuts
- Principles of Color? Going Beyond sRGB
- Rationale for a Browser-Level Color Scheme Preference
- Podcast Notes: Michael Jackson on devMode.fm
- The Web Beyond Browsers
- Joining Remix
- Reading Notes, April 2022
- Trusting Browsers
- Progressively Enhanced Builds
- Podcast Notes: Fred Schott on the Shop Talk Show
- Ordering CSS Declarations
- Having Fun Writing APIs With Glitch
- The Side Effects of Tailored Digital Experiences
- Examples of the Permeating Principles of the Web
- Automating My Netlify “Public Folder” Workflow With macOS Shortcuts
- Thoughts on Exerting Control With Media Queries
- Reading Notes, March 2022
- There’s More to Design Than Data and Rationality
- Implementation Details of My New Blog Theme
- What is the Web?
- Deno is Webby (pt. 2)
- Design Happens in an Ecosystem
- Inline All The Things
- Family IT Support Turned Blog Post Turned Anecdote in The Wall Street Journal
- Reading Notes, February 2022
- My Guest Appearance on ShopTalkShow #504
- Inspecting Web Views in macOS
- Things the CSS Spec Folks Got Right
- Book Notes: “Millions, Billions, Zillions” by Brian Kernighan
- Building a Netlify Analytics Email Digest
- The Cluttered Web: A Scrapbook of Sreenshots
- Reading Notes, January 2022
- The Web in 2036: Predictions on a Whim
- How to Increase Reach Into Your Total Addressable Market With Zero Marketing
- Exporting and Parsing Emails for “The iOS App Icon Book”
- Talking App Icons on the Postlight Podcast
- The Optional Chaining Operator, “Modern” Browsers, and My Mom
2021
- Reading Notes, December 2021
- For the Love of the Web
- App Icons: Don’t Gotta Catch ‘Em All
- Templating in JavaScript, From Zero Dependencies on Up
- Notes on Metadata
- Book Notes: “An Essay on Typography” by Eric Gill
- Reading Notes, November 2021
- A Web Thanksgiving
- Dynamic Color Manipulation with CSS Relative Colors
- Podcast Notes: “Measuring Design” by Clearleft
- Launching “The iOS App Icon Book”
- Hairsplitting the Pseudo-Element Syntax
- Reading Notes, October 2021
- A Note to Self on Churn
- Thoughts on Avoiding an Excessive DOM Size
- Notes: Hammock Driven Development by Rich Hickey
- A New Toilet
- Hide My mailto: Email
- Notes from Josh Comeau’s Article on Stacking Contexts
- Things Learned Blogging
- Reading Notes, September 2021
- The Power of the Link
- Job Titles: What You Do vs. Who You Are
- Learning and Being Wrong
- Book Notes: “Think Again” by Adam Grant
- Defining Basic JavaScript Terms: map, filter, and reduce
- An Analysis of Feed URLs
- Reading Notes, August 2021
- Thank You For Reading
- canistilluse.com
- I Want To Confirm a Prompt That We Stay Alert
- Cool URIs and Image Hotlinking
- Browsers and Representation
- Reading Notes, July 2021
- Quibbles With Social Share Imagery
- Propagating Up in CSS
- Things I Learned Reading Webkit’s UA Stylesheet
- Conditional Style Loading? Not So Fast
- Deno is Webby
- CSS Gap
- Theme Color in CSS
- Recursive Citation
- Reading Notes, June 2021
- Courting WEBP
- Font Size and Control
- The Unseen Work of Design
- Displaying Favicons For Any Domain
- CSS System Colors
- Reflections on HTML
- Reading Notes, May 2021
- Useful and Useless Code Comments
- Designing Between the Lines
- Making Your RSS Feeds Automatically Discoverable
- (Re)Introducing Readlists
- Shadow DOM and Its Effect on the Unofficial Styling API
- Reading Notes, April 2021
- Custom Elements Without JavaScript?
- Fetch and 3xx Redirect Status Codes
- This is the Internet Folks
- SVG Stroke Positioning, iOS Masks, and the Browser
- Reflecting on My Own Experience Using the Web to Get the Vaccine
- Giving Style to Select Option Values
- Web Languages as Compile Targets
- Reading Notes, March 2021
- A Collection of Reading Notes
- CSS Is, In Fact, Awesome
- A Simple Tactic For Progressively-Enhanced Search
- Speculative Prefetching
- Book Notes: “Let Your Life Speak” by Parker Palmer
- Sites v. Apps: A Reverie
- Reading Notes, February 2021
- Wisdom From the Forums: “The Gap Between Expectations and Reality”
- “Incomplete” Designs & Miscellaneous Thoughts
- Reverse Domain Name Notation
- Doing Web Design
- Judo Throw the Hype
- IKEA, JavaScript, and Assembling Things Yourself
- Codebase Collaboration Between Humans and Robots
- Graphing My Blog Post Goals
- Reading Notes, January 2021
- Favorite Excerpts from the Postlight Podcast
- Feat: New Style
- Custom Style Sheets in Safari
- Writing in 2020 and 2021
2020
- Reading Notes, December 2020
- Setup a CORS Proxy With Netlify
- The Missing Hit and the Open Web
- Reading Notes, November 2020
- Leveraging System Fonts on the Web
- The Organic Web
- React Without Build Tools
- Reading Notes, October 2020
- Book Notes: “Demand Side Sales” by Bob Moesta
- Ten Anti-Principles of Good Design
- Exporting to HTML from JavaScript Using Blob URLs
- Approaches to Using autosize.js to Automatically Resize a textarea on User Input
- Cheating Entropy with Native Web Technologies
- Reading Notes, September 2020
- Indexing My Blog’s Links
- The Economics of the Front-End
- ES Modules: There is No Registry
- Reading Notes, August 2020
- Deploying a (Wannbe) Monorepo in Netlify
- Make Me Think
- The Predispositions of Inexperienced Talent
- Growth, Creativity, and You
- Web Technologies and Syntax
- Remote Work is a Craft
- The Resiliency of the Internet
- Webster’s Dictionary Defines “View Source” As...
- Reading Notes, July 2020
- Book Notes: “Coders” by Clive Thompson
- Comparing Data in Google and Netlify Analytics
- Any Day Can Be CSS Naked Day
- Email Replies in Feeds
- Book Notes: “Martin Luther King, Jr.” by Marshall Frady
- Letter Case on the Web
- Git Info in Node for a Babel Config
- Import ES Modules from Github
- The Web as an Information System
- Reading Notes, June 2020
- Sass Color Functions in CSS
- Don’t Forget the color-scheme Property
- Reading Notes, May 2020
- Notes on “The Ugly Truth about Design Systems” by Mark Boulton
- Thoughts on Designing a UI Driven By User-Controlled, System-Level Preferences
- Musings on the Documentary “For Everyone”
- Downloading and Uploading Text Files Using the Dropbox JavaScript SDK
- Reading Notes, April 2020
- Perception and Balancing Idealism with Pragmatism
- Visual Design Inspiration from Agency Websites–And Other Tangential Observations
- Reading Notes, March 2020
- Writing vs. Coding
- Credentials in URLs
- Empowering the Few
- Using Netlify Analytics to Build a List of Popular Posts
- Design Systems and Airplanes
- Switching from CJS to ES Modules
- Progressively Enhancing a Small Widget
- 50 Blog Posts in 2020
- Software and Home Renovation
- The Spirit of “View Source”
- Reading Notes, February 2020
- Programming Pairs Well With Other Disciplines
- Texting is Cerebral
- Static Site Templating: Switching from React & JSX to JavaScript & Template Literals
- Using PropTypes Outside of React in Template Literal Components
- Reading Notes, January 2020
- Follow Your Values, Not Your Passions
2019
- Reading Notes, December 2019
- A Node.js Helper Function for Accessing the CommonJS Equivalent of __dirname in ES Modules.
- Twitter Cards and Visually Representing That I’ve Got Stuff To Say
- Netlify Public Folder, Part I: What? Recreating the Dropbox Public Folder With Netlify
- Netlify Public Folder, Part II: Why? Netlify Large Media Wasn’t For Me, But Netlify Still Was
- Netlify Public Folder, Part III: How? The Winding Road to Making a Local Folder Sync to Netlify’s Global CDN
- ECMAScript Modules in Node: My Own Personal Rabbit Hole
- Reading Notes, November 2019
- Reading Notes, October 2019
- Book Notes: A Mathematician’s Lament
- My Favorite RSS Feeds
- Design Principles Applied to the SF Fonts
- Thoughts on Rich Harris’ “Metaphysics and JavaScript”
- Dealing With Uncertainty in Art...and Life
- Reading Notes, August 2019
- Good Things
- Designing and Engineering for Progressive Disclosure
- On The Web, Yesterday’s Questions Are Answered in Today’s Platform APIs
- JSX-Like Syntax for Tagged Template Literals in JavaScript
- Dynamically Darken a Color in CSS
- Leveraging Regexes and Git to Find/Replace Dates in Markdown Files
- Saying No
- Reading Notes, June 2019
- Notes on “Rethinking Asynchronous Programming in JavaScript” by Kyle Simpson
- How to Create a macOS Menu Bar App for Netlify
- Reading Notes, May 2019
- Your Product Doesn’t Have to Look the Same On Every Platform
- Applying Multiple Background Colors with CSS
- Using @import in CSS to Conditionally Load Syntax Highlighting Styles in Dark Mode
- Thoughts on Jeremy Keith’s “Split”
- Moving from EJS to JSX
- Down the Rabbit Hole of Image Optimization Tooling
- Reading Notes, March 2019
- Improving Server-Side Rendering with React
- One-Press Deploys: Triggering a Build in Netlify via an Amazon IoT Button
- Book Notes: “Creative Selection” by Ken Kocienda
- The Power of Prototypes in the Creative Process
- Reading Notes, February 2019
- Generating Shades of Color Using CSS Variables
- Reading Notes, January 2019
- How Apple Engineers Decided the App Icon Size for the Original iPhone
- Building a Progressively-Enhanced Site
- Designing the “Quick Quote” Experience in Agent Portal
- Conditionally Load Material Icons
- The Difference Between substring and substr in JavaScript
2018
- Personal Observations on “CSS and Network Performance” by Harry Roberts
- Bringing “Dark Mode” to My Icon Galleries Sites
- Reading Notes, December 2018
- Supporting CSS Variables in Sass
- Book Notes: “The Pun Also Rises” by John Pollack
- Reading Notes, November 2018
- Triggering a Deploy in Netlify With Bookmarklets
- Migrating from Pathnames to Subdomains for jim-nielsen.com
- Reading Notes, October 2018
- Dark Mode on the Web via OS-Level Preferences
- Netlibox: My Guest Post on Netlify’s Blog
- Reading Notes, September 2018
- Reading Notes, August 2018
- My Little Cabin in the Woods of Logo Integrity
- Choosing a Static Site Generator
- Reading Notes, July 2018
- Reading Notes, June 2018
- Detective Work for “The App Icon Book”
- Blog Redesign: Out with the Old, in with the Old
- Reading Notes, May 2018
- A Short Perspective on Hiring
- Installing and Building an NPM Package from Github
- Writing as a Process for Iterative Problem Solving (and Thoughts on Structuring a Small Redux Project)
- Reading Notes, March 2018
- URL Design and Automated Redirects in Jekyll
- Reading Notes, January 2018
2017
- Creating iOS Icon Masks in the Browser
- The Value of Visual Design
- Reading Notes, October 2017
- The World Wide Web of People at My Disposal
- Limitations in Software
- I Liked this Podcast
- Designing and Engineering Event Management for Timshel’s “Admin” Web Application
- Notes on “Functional Lite Javascript” by Kyle Simpson
- Notes from Fluent Conference
- Reading Notes, June 2017
- Reading Notes, May 2017
- Designing Integrations for the Admin Application at Timshel
- Stop Using the Term “Pixel Perfect”, Start Focusing on Experiences
- Reading Notes, April 2017
- The Analog Web
- Designing Cross-Application Login Screens (and Business Relationships)
- Reading Notes, January 2017
- The Art of the Side Project
- Migrating Away from Compass and Susy to Sass Exclusively
- Designing and Engineering Color Usage in Agent Portal
2016
- Redesigning and Engineering the UI/UX for Unauthenticated Users of Timshel’s “Admin”
- Text as UI
- Reading Notes, November 2016
- Reading Notes, October 2016
- SassMe v2.0
- Reading Notes, September 2016
- Reading Notes, July 2016
- Paul Rand on Logos
- Arc90 “Work” Page Design Updates
- Designing and Developing the DCP Application
- Going the Extra Mile with Tasks and Feature Requests
- Designing and Building the Assignment Desk Application
2015
- Innovation Sales Sheet
- Assignment Desk Logo
- Reading Notes, December 2015
- Reading Notes, November 2015
- One Algorithm to Rule Them All
- Reading Notes, September 2015
- Kindling Marketing Site 2.0
- Reading Notes, August 2015
- Designing Kindling’s Pricing Page
- A Web of People
- Skinning the Idea Poster Anew
- Conceiving Blog Post Artwork
- Everything But Visual Design
- Team Colors 2.0
2014
- Words Have Meaning: Creating the “Let’s Talk Innovation” Page
- Designing a Successful Transaction Receipt
- Creating Apple Touch Icons
- Kindling Rubber Stamp
- Logo Integrity Brought into Focus
- Defining Beauty on the Web
- A Logo Is an Image, The Image of a Company
2013
- Benjamin Franklin, an Open Source Contributor?
- The Evolution of Creativity
- Wireframes and Gravity
- Ostentatious Design & Profanity
- Home Page Redesign of kindlingapp.com
- The “Kinda-Sorta Looks Like the Internet” Internet
- Automating Feelings
- Once Again, It’s About Putting the User First
- Workarounds to Variable Interpolation in Sass
- Things to Be Informed About in Life
- Preserving CSS Comments For Wordpress During Sass Compression
- Thoughts from “On Writing Well”
- Retrieving Recent Posts from Scriptogram in JSON Format Using PHP
- When Advertising Became About the Buyer, Not the Product
- Seemly Selectors
- Changes to max_upload_filesize not working in php.ini? Restart Apache!
- Scriptogram Logo in Vector Form (.svg)
- Stop Direct Spam Comments in Wordpress
- The Incredible (Frustrating) Potential of Google Glass
- Why Do We Sketch?
- An Analysis of Infinte Scrolling
- Unintended Visual Relationships
- Coming to Appreciate Art
- Team Color Codes
- Freebie Resources - Don’t Assume, Double Check
- Modularize Your PSDs by Embedding Them Inside Each Other
- Quick Change and the Web
- Miscellaneous Unicode Symbols, Font Stacks, and You
- Science Speaks: Good Typography = Good Mood