41554 blogs · [ { "id": "01a0bb41-ff67-7075-a48b-b3362d1219ed", "title": "LocalSend: Sharing across operating systems", "url": "https://www.johbo.com/2026/localsend-sharing-across-operating-systems.html", "published_at": "2026-09-18T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b4db9427", "title": "Refreshing SSH known hosts after reinstall", "url": "https://www.johbo.com/2025/refreshing-ssh-known-hosts-after-reinstall.html", "published_at": "2025-12-02T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b50ff01d", "title": "Using Emacs batch mode in Spacemacs", "url": "https://www.johbo.com/2024/using-emacs-batch-mode-in-spacemacs.html", "published_at": "2024-04-12T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b5a89601", "title": "A simple DNS server for development and testing in Kubernetes", "url": "https://www.johbo.com/2023/a-simple-dns-server-for-development-and-testing-in-kubernetes.html", "published_at": "2023-08-22T22:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b61270ae", "title": "Running a local nameserver for the .test domain on MacOS", "url": "https://www.johbo.com/2023/running-a-local-nameserver-for-the-test-domain-on-macos.html", "published_at": "2023-08-17T22:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b6281461", "title": "Using a local nameserver for the .test domain on MacOS", "url": "https://www.johbo.com/2023/using-a-local-nameserver-for-the-test-domain-on-macos.html", "published_at": "2023-08-17T22:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b63d289d", "title": "Customized image in Kubernetes", "url": "https://www.johbo.com/2023/customized-image-in-kubernetes.html", "published_at": "2023-03-01T23:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b692bad2", "title": "Flashing an image to USB drive on MacOS", "url": "https://www.johbo.com/2022/flashing-an-image-to-usb-drive-on-macos.html", "published_at": "2022-01-08T23:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b6a3c700", "title": "Virtual Conferences - Thoughts after Lead Dev Live Summer 2020", "url": "https://www.johbo.com/2020/virtual-conferences-thoughts-after-lead-dev-live-summer-2020.html", "published_at": "2020-08-14T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b722e2f0", "title": "Using Nix in Docker to build Sphinx documents", "url": "https://www.johbo.com/2018/using-nix-in-docker-to-build-sphinx-documents.html", "published_at": "2018-04-14T22:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b76e7bb9", "title": "Run a command with extra packages available", "url": "https://www.johbo.com/2017/run-a-command-with-extra-packages-available.html", "published_at": "2017-12-28T19:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b84f2514", "title": "Building a NixOS image for VirtualBox", "url": "https://www.johbo.com/2017/building-a-nixos-image-for-virtualbox.html", "published_at": "2017-12-27T09:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b8f4f949", "title": "Minikube setup on macOS", "url": "https://www.johbo.com/2017/minikube-setup-on-macos.html", "published_at": "2017-11-18T23:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b92ebfeb", "title": "NixOPS Defaults", "url": "https://www.johbo.com/2017/nixops-defaults.html", "published_at": "2017-11-17T23:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b9370731", "title": "NixCon 2017 - Wrap Up", "url": "https://www.johbo.com/2017/nixcon-2017-wrap-up.html", "published_at": "2017-11-02T09:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b938c936", "title": "Building a NixOS container from macOS", "url": "https://www.johbo.com/2017/building-a-nixos-container-from-macos.html", "published_at": "2017-10-31T16:20:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b9716549", "title": "NixCon 2017 - Hackathon Day 2", "url": "https://www.johbo.com/2017/nixcon-2017-hackathon-day-2.html", "published_at": "2017-10-31T14:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b9b6baf5", "title": "Nixpkgs library discovery: remove", "url": "https://www.johbo.com/2017/nixpkgs-library-discovery-remove.html", "published_at": "2017-10-31T13:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703b9f8f0ce", "title": "Remote building", "url": "https://www.johbo.com/2017/remote-building.html", "published_at": "2017-10-31T12:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703ba7ce7fd", "title": "NixCon 2017 - Hackathon Day 1", "url": "https://www.johbo.com/2017/nixcon-2017-hackathon-day-1.html", "published_at": "2017-10-31T09:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703baf6669b", "title": "Loading a text dump into PostgreSQL", "url": "https://www.johbo.com/2017/loading-a-text-dump-into-postgresql.html", "published_at": "2017-06-02T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bb1815e8", "title": "Reproducible Development Environments with Nix", "url": "https://www.johbo.com/2017/reproducible-development-environments-with-nix.html", "published_at": "2017-05-27T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bc054ba1", "title": "NixOPS Container", "url": "https://www.johbo.com/2017/nixops-container.html", "published_at": "2017-05-26T16:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bc0e53a2", "title": "Presentations with Org-mode", "url": "https://www.johbo.com/2017/presentations-with-org-mode.html", "published_at": "2017-05-14T22:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bc654d71", "title": "First steps using GPGSuite", "url": "https://www.johbo.com/2017/first-steps-using-gpgsuite.html", "published_at": "2017-04-14T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bceb088b", "title": "On demand Redis service for your development environment", "url": "https://www.johbo.com/2017/on-demand-redis-service-for-your-development-environment.html", "published_at": "2017-01-30T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bd8e7eba", "title": "On demand PostgreSQL for your development environment", "url": "https://www.johbo.com/2017/on-demand-postgresql-for-your-development-environment.html", "published_at": "2017-01-14T09:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703be67a61f", "title": "Archive multiple headlines in Org Mode", "url": "https://www.johbo.com/2017/archive-multiple-headlines-in-org-mode.html", "published_at": "2017-01-02T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703bf5c54a4", "title": "How to revert a merge commit in Git", "url": "https://www.johbo.com/2016/how-to-revert-a-merge-commit-in-git.html", "published_at": "2016-12-09T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c011f843", "title": "NixOS Klinik - Hacking in November", "url": "https://www.johbo.com/2016/nixos-klinik-hacking-in-november.html", "published_at": "2016-11-26T17:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c0f4e293", "title": "#Nix geht mehr!", "url": "https://www.johbo.com/2016/nix-geht-mehr.html", "published_at": "2016-11-26T05:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c138e03e", "title": "Spacemacs layer: elfeed", "url": "https://www.johbo.com/2016/spacemacs-layer-elfeed.html", "published_at": "2016-11-22T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c1cd32e3", "title": "Dump HTTP headers via cURL", "url": "https://www.johbo.com/2016/dump-http-headers-via-curl.html", "published_at": "2016-11-12T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c2b1cf00", "title": "Update your node-env.nix for recent nixpkgs", "url": "https://www.johbo.com/2016/update-your-node-envnix-for-recent-nixpkgs.html", "published_at": "2016-11-09T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c2bbadc1", "title": "Python development with Nix - an update", "url": "https://www.johbo.com/2016/python-development-with-nix-an-update.html", "published_at": "2016-11-09T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c2d45539", "title": "Spacemacs layer: imenu-list", "url": "https://www.johbo.com/2016/spacemacs-layer-imenu-list.html", "published_at": "2016-11-05T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c348fb62", "title": "Creating a partial unique index with SQLAlchemy in PostgreSQL", "url": "https://www.johbo.com/2016/creating-a-partial-unique-index-with-sqlalchemy-in-postgresql.html", "published_at": "2016-11-04T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c43d54ab", "title": "Upgrading old NixOS machines", "url": "https://www.johbo.com/2016/upgrading-old-nixos-machines.html", "published_at": "2016-11-01T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c4bc0168", "title": "Custom meta tags with Pelican, canonical URL as example", "url": "https://www.johbo.com/2016/custom-meta-tags-with-pelican-canonical-url-as-example.html", "published_at": "2016-10-25T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c5307da8", "title": "Printing the generated query including parameters", "url": "https://www.johbo.com/2016/printing-the-generated-query-including-parameters.html", "published_at": "2016-10-23T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c5f00ca5", "title": "Sort certain result items on top in PostgreSQL", "url": "https://www.johbo.com/2016/sort-certain-result-items-on-top-in-postgresql.html", "published_at": "2016-10-19T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c6d4b139", "title": "Storing the Heroku Connect configuration in a repository", "url": "https://www.johbo.com/2016/storing-the-heroku-connect-configuration-in-a-repository.html", "published_at": "2016-10-01T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c75f3f38", "title": "Comparing tables in PostgreSQL", "url": "https://www.johbo.com/2016/comparing-tables-in-postgresql.html", "published_at": "2016-09-29T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c84c118b", "title": "Thoughts on a command line toolkit for Pyramid", "url": "https://www.johbo.com/2016/thoughts-on-a-command-line-toolkit-for-pyramid.html", "published_at": "2016-09-24T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c8be8372", "title": "Heroku Connect - Trigger sync of failed records", "url": "https://www.johbo.com/2016/heroku-connect-trigger-sync-of-failed-records.html", "published_at": "2016-09-21T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c8cf2270", "title": "Build a Nix derivation against a specific channel", "url": "https://www.johbo.com/2016/build-a-nix-derivation-against-a-specific-channel.html", "published_at": "2016-09-18T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c9243fd3", "title": "List of all packages for Nix", "url": "https://www.johbo.com/2016/list-of-all-packages-for-nix.html", "published_at": "2016-09-18T07:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c98df11b", "title": "Environment for the Salesforce migration tool", "url": "https://www.johbo.com/2016/environment-for-the-salesforce-migration-tool.html", "published_at": "2016-09-17T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703c98efc84", "title": "Thoughts on the CLI of Pyramid applications", "url": "https://www.johbo.com/2016/thoughts-on-the-cli-of-pyramid-applications.html", "published_at": "2016-09-15T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703ca0ec4ac", "title": "Roughly counting rows in PostgreSQL", "url": "https://www.johbo.com/2016/roughly-counting-rows-in-postgresql.html", "published_at": "2016-09-07T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703ca2740b5", "title": "Spin up a local web server with Python", "url": "https://www.johbo.com/2016/spin-up-a-local-web-server-with-python.html", "published_at": "2016-09-01T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703caeb38d6", "title": "Mercurial workflow based on bookmarks", "url": "https://www.johbo.com/2016/mercurial-workflow-based-on-bookmarks.html", "published_at": "2016-08-26T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703caf4f4db", "title": "Mercurial log from current commit - hgcl", "url": "https://www.johbo.com/2016/mercurial-log-from-current-commit-hgcl.html", "published_at": "2016-08-19T08:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cb108721", "title": "Hello Spacemacs", "url": "https://www.johbo.com/2016/hello-spacemacs.html", "published_at": "2016-08-12T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cb7f00f0", "title": "Migrate custom fields with the Salesforce Migration Tool", "url": "https://www.johbo.com/2016/migrate-custom-fields-with-the-salesforce-migration-tool.html", "published_at": "2016-08-11T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cbe004ed", "title": "Nix based projects: Supporting two versions of fetchgit", "url": "https://www.johbo.com/2016/nix-based-projects-supporting-two-versions-of-fetchgit.html", "published_at": "2016-08-09T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cc2d781d", "title": "Creating a test database with SQLAlchemy", "url": "https://www.johbo.com/2016/creating-a-test-database-with-sqlalchemy.html", "published_at": "2016-08-05T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cc8d1b8c", "title": "Recommended read: A re-introduction to JavaScript", "url": "https://www.johbo.com/2016/recommended-read-a-re-introduction-to-javascript.html", "published_at": "2016-08-01T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703ccad3750", "title": "Grab environment variables of a Heroku app", "url": "https://www.johbo.com/2016/grab-environment-variables-of-a-heroku-app.html", "published_at": "2016-07-28T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cd80bf2f", "title": "Data migrations with Alembic - Plain SQL", "url": "https://www.johbo.com/2016/data-migrations-with-alembic-plain-sql.html", "published_at": "2016-07-26T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cd89528a", "title": "Loading a PostgreSQL database dump for development environment", "url": "https://www.johbo.com/2016/loading-a-postgresql-database-dump-for-development-environment.html", "published_at": "2016-07-25T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703ce6e14d7", "title": "Remove a line from a text file via SED", "url": "https://www.johbo.com/2016/remove-a-line-from-a-text-file-via-sed.html", "published_at": "2016-07-21T18:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cec889c0", "title": "Supporting EditorConfig in Spacemacs", "url": "https://www.johbo.com/2016/supporting-editorconfig-in-spacemacs.html", "published_at": "2016-07-20T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703ced11a84", "title": "Local SMTP server built into Python", "url": "https://www.johbo.com/2016/local-smtp-server-built-into-python.html", "published_at": "2016-07-20T05:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703cfb6f866", "title": "Node development environment based on Nix", "url": "https://www.johbo.com/2016/node-development-environment-based-on-nix.html", "published_at": "2016-07-19T17:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d079c9da", "title": "Modifying Python packages via config.nix", "url": "https://www.johbo.com/2016/modifying-python-packages-via-confignix.html", "published_at": "2016-07-08T10:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d10f0bbf", "title": "Combining marshmallow and translationstring", "url": "https://www.johbo.com/2016/combining-marshmallow-and-translationstring.html", "published_at": "2016-07-01T17:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d1716357", "title": "Using pip inside of nix-shell", "url": "https://www.johbo.com/2016/using-pip-inside-of-nix-shell.html", "published_at": "2016-06-24T06:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d1a10006", "title": "Reproducible development environments based on Nix for Python", "url": "https://www.johbo.com/2016/reproducible-development-environments-based-on-nix-for-python.html", "published_at": "2016-04-02T13:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d1b28994", "title": "Hello Nix World", "url": "https://www.johbo.com/2016/hello-nix-world.html", "published_at": "2016-02-14T17:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d20ac212", "title": "Hello RST World!", "url": "https://www.johbo.com/2016/hello-rst-world.html", "published_at": "2016-02-14T14:00:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d2b0a6da", "title": "Hello Markdown World", "url": "https://www.johbo.com/2016/hello-markdown-world.html", "published_at": "2016-02-14T13:30:00+00:00" }, { "id": "01a0878f-3038-73a8-8a65-c703d383c5cf", "title": "Get the version of nixpkgs - Snippet", "url": "https://www.johbo.com/2016/get-the-version-of-nixpkgs-snippet.html", "published_at": "2016-02-03T16:00:00+00:00" } ] posts Claim your blog
Back to johbo.com
Blog · corpus.blog/blogs/johbo.com/posts

johbo.com

johbo.com

2026

2025

2024

2023

2022

2020

2018

2017

2016