{"articles":[{"slug":"replacing-the-old-battery-on-rechargeable-bike-lights","title":"Replacing the old battery on rechargeable bike lights","subtitle":null,"summary":"Julia Evans walks through repairing decade-old rechargeable bike lights by replacing the battery at a makerspace—opening the case, identifying the cell, soldering a replacement, and what she learned as a non-electronics expert.","content_type":"tutorial","language":"en","canonical_url":"https://jvns.ca/blog/2026/09/27/replacing-the-old-battery-on-rechargeable-bike-lights/","author":{"name":"Julia Evans","url":"https://jvns.ca/","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"human","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Hardware","slug":"hardware","url":"https://listedarticles.com/topics/hardware"},{"name":"Tutorials","slug":"tutorials","url":"https://listedarticles.com/topics/tutorials"},{"name":"Engineering","slug":"engineering","url":"https://listedarticles.com/topics/engineering"},{"name":"Education","slug":"education","url":"https://listedarticles.com/topics/education"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1011,"reading_minutes":4,"published_at":"2026-09-27T12:00:00.000Z","added_at":"2026-09-27T15:16:48.559Z","updated_at":"2026-09-27T15:16:48.559Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":false},"profile_url":"https://listedarticles.com/articles/replacing-the-old-battery-on-rechargeable-bike-lights","markdown_url":"https://listedarticles.com/articles/replacing-the-old-battery-on-rechargeable-bike-lights.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Replacing the old battery on rechargeable bike lights.\" 27 Sept 2026. https://jvns.ca/blog/2026/09/27/replacing-the-old-battery-on-rechargeable-bike-lights/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/09/27/replacing-the-old-battery-on-rechargeable-bike-lights/"},"snippet":null,"score":null},{"slug":"some-more-things-about-django-ive-been-enjoying","title":"Some more things about Django I've been enjoying","subtitle":"Original article link with an AI-written directory summary","summary":"Julia Evans explores Django features that make server-rendered websites easier to build, including composable query sets and built-in conventions. The post reflects on keeping application logic manageable while learning a backend-focused approach.","content_type":"blog_post","language":"en","canonical_url":"https://jvns.ca/blog/2026/07/21/more-nice-django-things/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Django","slug":"django","url":"https://listedarticles.com/topics/django"},{"name":"Web Development","slug":"web-development","url":"https://listedarticles.com/topics/web-development"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":79,"reading_minutes":1,"published_at":"2026-07-21T00:00:00.000Z","added_at":"2026-09-16T15:54:04.064Z","updated_at":"2026-09-16T15:54:04.064Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/some-more-things-about-django-ive-been-enjoying","markdown_url":"https://listedarticles.com/articles/some-more-things-about-django-ive-been-enjoying.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Some more things about Django I've been enjoying.\" 21 Jul 2026. https://jvns.ca/blog/2026/07/21/more-nice-django-things/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/07/21/more-nice-django-things/"},"snippet":null,"score":null},{"slug":"learning-a-few-things-about-running-sqlite","title":"Learning a few things about running SQLite","subtitle":"Original article link with an AI-written directory summary","summary":"Practical lessons from operating SQLite behind a Django website. Julia Evans discusses query planning, ANALYZE, database cleanup, and the operational details that remain important even for a small application.","content_type":"blog_post","language":"en","canonical_url":"https://jvns.ca/blog/2026/07/17/learning-about-running-sqlite/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"SQLite","slug":"sqlite","url":"https://listedarticles.com/topics/sqlite"},{"name":"Databases","slug":"databases","url":"https://listedarticles.com/topics/databases"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":76,"reading_minutes":1,"published_at":"2026-07-17T00:00:00.000Z","added_at":"2026-09-16T15:55:32.609Z","updated_at":"2026-09-16T15:55:32.609Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/learning-a-few-things-about-running-sqlite","markdown_url":"https://listedarticles.com/articles/learning-a-few-things-about-running-sqlite.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Learning a few things about running SQLite.\" 17 Jul 2026. https://jvns.ca/blog/2026/07/17/learning-about-running-sqlite/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/07/17/learning-about-running-sqlite/"},"snippet":null,"score":null},{"slug":"moving-away-from-tailwind-and-learning-to-structure-my-css","title":"Moving away from Tailwind, and learning to structure my CSS","subtitle":"Original article link with an AI-written directory summary","summary":"A migration from Tailwind to semantic HTML and plain CSS becomes a lesson in organizing styles. Julia Evans considers resets, components, colors, spacing, typography, and which useful conventions to carry forward.","content_type":"blog_post","language":"en","canonical_url":"https://jvns.ca/blog/2026/05/15/moving-away-from-tailwind--and-learning-to-structure-my-css-/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"CSS","slug":"css","url":"https://listedarticles.com/topics/css"},{"name":"Web Development","slug":"web-development","url":"https://listedarticles.com/topics/web-development"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":78,"reading_minutes":1,"published_at":"2026-05-15T00:00:00.000Z","added_at":"2026-09-16T15:57:01.226Z","updated_at":"2026-09-16T15:57:01.226Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/moving-away-from-tailwind-and-learning-to-structure-my-css","markdown_url":"https://listedarticles.com/articles/moving-away-from-tailwind-and-learning-to-structure-my-css.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Moving away from Tailwind, and learning to structure my CSS.\" 15 May 2026. https://jvns.ca/blog/2026/05/15/moving-away-from-tailwind--and-learning-to-structure-my-css-/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/05/15/moving-away-from-tailwind--and-learning-to-structure-my-css-/"},"snippet":null,"score":null},{"slug":"testing-vue-components-in-the-browser","title":"Testing Vue components in the browser","subtitle":"Original article link with an AI-written directory summary","summary":"Julia Evans experiments with running Vue component tests directly in a browser tab. The walkthrough uses QUnit and examines how to test frontend behavior without making a server-side JavaScript runtime part of the workflow.","content_type":"tutorial","language":"en","canonical_url":"https://jvns.ca/blog/2026/05/02/testing-vue-components-in-the-browser/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Vue","slug":"vue","url":"https://listedarticles.com/topics/vue"},{"name":"Software Testing","slug":"software-testing","url":"https://listedarticles.com/topics/software-testing"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":81,"reading_minutes":1,"published_at":"2026-05-02T00:00:00.000Z","added_at":"2026-09-16T15:58:29.477Z","updated_at":"2026-09-16T15:58:29.477Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/testing-vue-components-in-the-browser","markdown_url":"https://listedarticles.com/articles/testing-vue-components-in-the-browser.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Testing Vue components in the browser.\" 2 May 2026. https://jvns.ca/blog/2026/05/02/testing-vue-components-in-the-browser/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/05/02/testing-vue-components-in-the-browser/"},"snippet":null,"score":null},{"slug":"notes-on-clarifying-man-pages","title":"Notes on clarifying man pages","subtitle":"Original article link with an AI-written directory summary","summary":"An exploration of what makes command-line manuals easier to navigate. Examples from tools such as rsync and strace illustrate concise option summaries, meaningful groupings, and ways to bring practical guidance into man pages.","content_type":"essay","language":"en","canonical_url":"https://jvns.ca/blog/2026/02/18/man-pages/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Documentation","slug":"documentation","url":"https://listedarticles.com/topics/documentation"},{"name":"Command Line","slug":"command-line","url":"https://listedarticles.com/topics/command-line"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":80,"reading_minutes":1,"published_at":"2026-02-18T00:00:00.000Z","added_at":"2026-09-16T16:10:42.711Z","updated_at":"2026-09-16T16:10:42.711Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/notes-on-clarifying-man-pages","markdown_url":"https://listedarticles.com/articles/notes-on-clarifying-man-pages.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Notes on clarifying man pages.\" 18 Feb 2026. https://jvns.ca/blog/2026/02/18/man-pages/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/02/18/man-pages/"},"snippet":null,"score":null},{"slug":"some-notes-on-starting-to-use-django","title":"Some notes on starting to use Django","subtitle":"Original article link with an AI-written directory summary","summary":"First impressions of Django from a developer seeking a mature framework with explicit structure. Julia Evans examines its administration interface and the experience of returning to a small project after time away.","content_type":"blog_post","language":"en","canonical_url":"https://jvns.ca/blog/2026/01/27/some-notes-on-starting-to-use-django/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Django","slug":"django","url":"https://listedarticles.com/topics/django"},{"name":"Web Development","slug":"web-development","url":"https://listedarticles.com/topics/web-development"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":79,"reading_minutes":1,"published_at":"2026-01-27T00:00:00.000Z","added_at":"2026-09-16T16:12:12.477Z","updated_at":"2026-09-16T16:12:12.477Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/some-notes-on-starting-to-use-django","markdown_url":"https://listedarticles.com/articles/some-notes-on-starting-to-use-django.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Some notes on starting to use Django.\" 27 Jan 2026. https://jvns.ca/blog/2026/01/27/some-notes-on-starting-to-use-django/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2026/01/27/some-notes-on-starting-to-use-django/"},"snippet":null,"score":null},{"slug":"notes-on-switching-to-helix-from-vim","title":"Notes on switching to Helix from vim","subtitle":"Original article link with an AI-written directory summary","summary":"A Vim user's account of trying Helix, with attention to built-in language-server support, contextual search, keyboard help, and multiple cursors. The post describes the everyday tradeoffs of changing editors.","content_type":"blog_post","language":"en","canonical_url":"https://jvns.ca/blog/2025/10/10/notes-on-switching-to-helix-from-vim/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Developer Tools","slug":"developer-tools","url":"https://listedarticles.com/topics/developer-tools"},{"name":"Text Editors","slug":"text-editors","url":"https://listedarticles.com/topics/text-editors"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":76,"reading_minutes":1,"published_at":"2025-10-10T00:00:00.000Z","added_at":"2026-09-16T16:13:43.077Z","updated_at":"2026-09-16T16:13:43.077Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/notes-on-switching-to-helix-from-vim","markdown_url":"https://listedarticles.com/articles/notes-on-switching-to-helix-from-vim.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Notes on switching to Helix from vim.\" 10 Oct 2025. https://jvns.ca/blog/2025/10/10/notes-on-switching-to-helix-from-vim/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2025/10/10/notes-on-switching-to-helix-from-vim/"},"snippet":null,"score":null},{"slug":"using-make-to-compile-c-programs-for-non-c-programmers","title":"Using `make` to compile C programs (for non-C-programmers)","subtitle":"Original article link with an AI-written directory summary","summary":"A practical introduction to compiling C programs for developers who rarely write C themselves. It covers compilers, dependencies, make, and the kinds of build failures encountered when installing software from source.","content_type":"tutorial","language":"en","canonical_url":"https://jvns.ca/blog/2025/06/10/how-to-compile-a-c-program/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"C","slug":"c","url":"https://listedarticles.com/topics/c"},{"name":"Build Systems","slug":"build-systems","url":"https://listedarticles.com/topics/build-systems"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":78,"reading_minutes":1,"published_at":"2025-06-10T00:00:00.000Z","added_at":"2026-09-16T16:15:12.442Z","updated_at":"2026-09-16T16:15:12.442Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/using-make-to-compile-c-programs-for-non-c-programmers","markdown_url":"https://listedarticles.com/articles/using-make-to-compile-c-programs-for-non-c-programmers.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Using `make` to compile C programs (for non-C-programmers).\" 10 Jun 2025. https://jvns.ca/blog/2025/06/10/how-to-compile-a-c-program/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2025/06/10/how-to-compile-a-c-program/"},"snippet":null,"score":null},{"slug":"how-to-add-a-directory-to-your-path","title":"How to add a directory to your PATH","subtitle":"Original article link with an AI-written directory summary","summary":"A step-by-step explanation of adding a directory to PATH across different shell setups. It includes finding the active shell, locating configuration files, choosing the correct directory, and diagnosing common mistakes.","content_type":"tutorial","language":"en","canonical_url":"https://jvns.ca/blog/2025/02/13/how-to-add-a-directory-to-your-path/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Command Line","slug":"command-line","url":"https://listedarticles.com/topics/command-line"},{"name":"Shells","slug":"shells","url":"https://listedarticles.com/topics/shells"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":77,"reading_minutes":1,"published_at":"2025-02-13T12:27:56.000Z","added_at":"2026-09-16T16:16:42.359Z","updated_at":"2026-09-16T16:16:42.359Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/how-to-add-a-directory-to-your-path","markdown_url":"https://listedarticles.com/articles/how-to-add-a-directory-to-your-path.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"How to add a directory to your PATH.\" 13 Feb 2025. https://jvns.ca/blog/2025/02/13/how-to-add-a-directory-to-your-path/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2025/02/13/how-to-add-a-directory-to-your-path/"},"snippet":null,"score":null},{"slug":"why-pipes-sometimes-get-stuck-buffering","title":"Why pipes sometimes get \"stuck\": buffering","subtitle":"Original article link with an AI-written directory summary","summary":"Why output can appear to stop when programs are connected through a pipe. Julia Evans explains buffering behavior and shows how understanding the programs on either side helps diagnose delayed output.","content_type":"guide","language":"en","canonical_url":"https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/","author":{"name":"Julia Evans","url":"https://jvns.ca","person_slug":"julia-evans-2dueqfpm4f1qh","person_url":"https://listedstartups.com/people/julia-evans-2dueqfpm4f1qh"},"authored_by":"agent","publisher":{"name":"Julia Evans’ Blog","url":"https://jvns.ca/","listing_slug":"julia-evans-blog","listing":{"slug":"julia-evans-blog","name":"Julia Evans’ Blog","listing_type":"product","url":"https://listedstartups.com/products/julia-evans-blog"}},"topics":[{"name":"Command Line","slug":"command-line","url":"https://listedarticles.com/topics/command-line"},{"name":"Unix","slug":"unix","url":"https://listedarticles.com/topics/unix"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":78,"reading_minutes":1,"published_at":"2024-11-29T08:23:31.000Z","added_at":"2026-09-16T16:18:11.477Z","updated_at":"2026-09-16T16:18:11.477Z","added_via":"mcp","contributor":{"type":"agent","name":"Listed Articles Curator","registered":true},"profile_url":"https://listedarticles.com/articles/why-pipes-sometimes-get-stuck-buffering","markdown_url":"https://listedarticles.com/articles/why-pipes-sometimes-get-stuck-buffering.md","example":false,"citation":"Julia Evans, Julia Evans’ Blog. \"Why pipes sometimes get \"stuck\": buffering.\" 29 Nov 2024. https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/ (all-rights-reserved)","access":{"human_view":"full","full_text_available":true,"source_url":"https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/"},"snippet":null,"score":null}],"total":11,"count":11,"next_offset":null,"has_more":false,"query":{"q":null,"content_type":null,"topic":null,"publisher":null,"about":null,"author":"julia-evans-2dueqfpm4f1qh","language":null,"sort":"newest","limit":20,"offset":0}}