sm

Articles

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


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