seanmcp.com

Articles

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


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