sm

Articles

To search for an article, use your browsers find feature or visit the search page.


  1. Axe DevTools doesn't flag multiple h1 elements on a page
  2. Writing code was never the bottleneck in software engineering
  3. Colocate functionally-related code
  4. Maccy is a great clipboard manager for Mac
  5. My on-again-off-again relationship with AI assistants
  6. Introducing Speed Catan
  7. Zed still isn't ready
  8. Rewriting in Eleventy (again)
  9. Mc-Pher-son
  10. Balance bikes are just better
  11. Deleting my GPTs
  12. Smile and wave
  13. Pittsburgh TechFest 2024
  14. Seventy7 Ventures feigns credibility with fake "Best of British Business" award
  15. Bypass "Error: There are no prompts" in promptfoo
  16. Use state callbacks in React
  17. VIVO sit/stand desk
  18. Simplify event delegation with the Element.closest method
  19. Align content in Markdown tables
  20. Solo-playing Adventure Games with AI
  21. CSS nesting is (almost) ready
  22. Looking over the fence at Eleventy
  23. ChatGPT 4o isn't a good researcher yet
  24. Astro and release velocity
  25. Render and effect call order in React
  26. Tweaking garden details
  27. Manage your photo archive
  28. Site update May 2024
  29. Measuring and cutting
  30. A Few Things #12
  31. A Few Things #11
  32. A Few Things #10
  33. Create a custom search for a static site
  34. Fix missing Astro files on GitHub pages
  35. Create a useIsOnline React hook
  36. Fix static file endpoints after Astro v4 upgrade
  37. Upgrading from Astro v2 to v4
  38. A Few Things #9
  39. On articles and blogs
  40. A Few Things #8
  41. Why Microsoft Edge?
  42. Switching from Ubuntu to Linux Mint
  43. A Few Things #7
  44. A Few Things #6
  45. Running Ollama without a GPU
  46. Use Ollama with the official Python library
  47. A Few Things #5
  48. Get started prompt engineering with local LLMs
  49. Adding a components page
  50. Making a video game with my kids
  51. A Few Things #4
  52. A Few Things #3
  53. Adobe has the worst captcha
  54. A Few Things #2
  55. Receiving cold-emails from GitHub stars
  56. A Few Things #1
  57. Did OpenAI's Web Browser GPT leak its prompt?
  58. Migrating from Google Domains to Porkbun was...
  59. Normalizing data is a good idea
  60. How I'm using AI in November 2023
  61. Sli.dev review
  62. Is it better to have one large file or multiple small files with GPTs?
  63. What is the file limit for GTPs?
  64. How I'm using AI in October 2023
  65. GPTs read text files better than markdown
  66. Thoughts on Web Speech API
  67. Declarative code and cognitive load
  68. Attempting #divtober 2023
  69. How I'm using AI in August & September 2023
  70. See what object properties are accessed in JavaScript
  71. Remove duplicates from an array in JavaScript
  72. Off to Kindergarten
  73. 1000 commits
  74. How I'm using AI in July 2023
  75. Timeboxing types
  76. CSS columns are neat
  77. Quality requires iteration
  78. A workable emoji picker on Ubuntu
  79. Losing steam
  80. Reviewing "Go By Example"
  81. How I'm Using AI in June 2023
  82. A quick comparison of JavaScript and Go executables
  83. I have never reviewed a podcast
  84. Compairing Objects, Maps, and WeakMaps for lookup tables in JavaScript
  85. Web-browser Accessibility Tools
  86. Linux Update in 2023
  87. How I'm using AI in May 2023
  88. Declaring variables in Go
  89. What is nullish in JavaScript?
  90. QA questions for everyone to ask
  91. Learning Go
  92. Set up Decap CMS
  93. Zed is a rocket-powered skateboard
  94. Fix failed Fastify deploy on Render
  95. Find and replace with Regex groups
  96. Fix SVG CSS animation issue in Safari
  97. Listen for class change in JavaScript
  98. Reviewing my Netlify Analytics
  99. Create Axios-style articles with CSS
  100. CSS :empty pseudo class
  101. Fix trailing whitespace in Astro components
  102. Farewell Create React App
  103. Starting an RSS Club
  104. On closings
  105. How long should it take to write an article?
  106. My writing process in February 2023
  107. Learning about Smart Brevity for writing
  108. Valid JavaScript variable names
  109. Burrito emoji
  110. Migrating to IndieWeb.social
  111. Publishing a Qwik component
  112. Fix Astro dev server hanging with new collections API
  113. Site improvements in 2023
  114. Back from time off
  115. Be careful parsing formatted numbers in JavaScript
  116. New command palette
  117. Fix "package esbuild-linux-64 could not be found" error on Netlify
  118. Adding images to articles (again)
  119. Portable custom search engines
  120. A first look at Static CMS with Astro
  121. Astro components do not merge HTML attributes
  122. Run Netlify CMS and your dev server in one command
  123. Fix Netlify Dev's 'Multiple possible start commands found' issue
  124. Astro components for Netlify features
  125. Create a "Dave Rupert"-inspired activity graph
  126. Use your domain on Mastodon with Astro
  127. Thoughts on Steve Job on consulting
  128. Are command bars the future?
  129. Node.js is great for scripting
  130. There is no multi-tasking on the Raspberry Pi
  131. Finding a Linux distro and software that work
  132. Giving Linux another try
  133. Awesome browser extensions
  134. Using dynamic routes to organize blog posts in Astro
  135. Rebuilding with Astro
  136. Jest tips & tricks
  137. Solid VS Code extensions
  138. How to use StackBlitz with Firefox
  139. How to replace Math.random with crypto in JavaScript
  140. Starring content
  141. Use multiple Chrome Profiles when debugging
  142. When to use React's memo HOC
  143. Calculate the sum of everything up to a given number
  144. English words by consonant-vowel pattern
  145. Music to code to
  146. Add a custom emulated device in Chrome
  147. Upgrading an Eleventy site to 1.0.0
  148. Make a web component
  149. Prevent Chrome from adjusting audio input levels on Mac
  150. My best Slack emojis
  151. Helpful online tools for diagramming
  152. What is a build.gradle file?
  153. Three new games on Toollama
  154. React Native Glossary
  155. What happened to @react-native-community packages?
  156. Find an iOS simulator identifier
  157. Using BEM names in React Native
  158. Reflecting on a new role
  159. What is Hermes in React Native?
  160. What is the song from Boston Dynamic's Spot Launch video?
  161. Add a YouTube-embedder shortcode to your Eleventy site
  162. Get innerHTML of Enzyme wrapper
  163. Use remark to covert markdown into HTML
  164. Count class methods in JavaScript
  165. A modest redesign for 2021
  166. Latin phrases to know
  167. Handy git commands
  168. Read URL search parameters with JavaScript
  169. Fix 'downloadable font: rejected by sanitizer' error in Firefox
  170. Fix Netlify CMS YAML error 'Implicit map keys need to be on a single line'
  171. COVID-19 journal
  172. Copy the last git commit hash on macOS
  173. Add Heroicons to an Eleventy site
  174. Create a URL shortener with Netlify
  175. Set innerHTML of an element in Svelte
  176. Let's stop skinning cats
  177. Search all files for two strings
  178. Setup Netlify CMS with Eleventy
  179. Fix "Error: Could not resolve pagination key in template data" in Eleventy
  180. Geddes' Guide to Crafting
  181. Send data to the window with Eleventy
  182. Checkout the previous git branch
  183. Make all properties required in TypeScript
  184. Add text to the beginning of every file
  185. Sass converts hsla to hex incorrectly
  186. Change extensions of all files in a directory
  187. Increase the playback speed on any audio or video online
  188. Standardize character width with CSS
  189. See all package versions in npm cli
  190. TypeScript without TypeScript
  191. Emulate iPhone & iPad in Safari
  192. Get started with Preact
  193. Make a POST request with fetch
  194. Why you shouldn't mutate parameters
  195. Remove an item at a given index in JavaScript
  196. Tab focus not working in Safari?
  197. Don't remove default focus styles, enhance them
  198. The Economics of Software Development, Part III
  199. Fix 'EMFILE: too many open files' error in Jest
  200. Updated TypeScript mega-course on Egghead.io
  201. The Economics of Software Development, Part II
  202. Access the home directory in Deno
  203. The Economics of Software Development, Part I
  204. Manage analysis paralysis while programming
  205. Before You Debug
  206. Before Debugging
  207. Intro to "The Economics of Software Development"
  208. Nodemon for Deno
  209. Adding images to my articles
  210. Parse argument aliases in Deno
  211. Await multiple promises in JavaScript
  212. TypeScript mega-course on Egghead.io
  213. Six video update
  214. Read a json file in Deno
  215. Read a json file in Node.js
  216. Publishing my first YouTube video
  217. How to get the browser and version in JavaScript
  218. Logging with Eleventy and Nunjucks
  219. Store readable data
  220. MagnoliaJS 2020 conference notes
  221. How to open the Dev Tools
  222. Tools for custom Slack emojis
  223. Laws I Love
  224. Programming reads
  225. Great programming reads
  226. Free to grow
  227. How to check npm scripts in current directory
  228. What to include in every node module
  229. How to remove duplicates from an object array?
  230. Write a draft script for your SSG blog
  231. A new Twitter handle
  232. What default parameters do (and don't do)
  233. Reviewing 2019 goals
  234. 2019 into 2020
  235. The fastest way to look for object properties
  236. "Stop Teaching Code" in JavaScript
  237. 5 Lessons from 10k open-source downloads
  238. Should I snapshot my UI components?
  239. Lessons Learned at Abstractions 2019
  240. Edit a previous commit message
  241. Arguments or parameters?
  242. Reasons to use prop-types
  243. How to pronounce my name
  244. Add event listener for class change
  245. Why I switched from Gatsby to Eleventy
  246. Storing data in state vs. class variable
  247. Filter out premium Medium articles
  248. Adding accessibility checks to your React app
  249. Three reasons to learn Python
  250. JS Basics: Generate a random number
  251. JS Basics: Ternary Operator
  252. Convert class components to functions with React Hooks
  253. Accessibility Wednesday
  254. 2018 into 2019
  255. Why a blog?
  256. How to create a render prop component