56,966 blogs · [ { "id": "01a0bdf8-bd6c-700d-a1e9-ed537ad1fac4", "title": "Battleship Arena: Five Admirals, One Grid", "url": "https://russell.ballestrini.net/battleship-arena-five-admirals-one-grid/", "published_at": "2026-09-18T23:30:00+00:00" }, { "id": "01a087d9-0471-73d1-8307-882c073a0acc", "title": "I Am a Software Mechanic", "url": "https://russell.ballestrini.net/i-am-a-software-mechanic/", "published_at": "2026-03-20T16:00:00+00:00" }, { "id": "01a087d9-0471-73d1-8307-882c082acbdc", "title": "fix \"the dependency requires Elixir ~> 1.16 but you are running on v1.14\" on Ubuntu", "url": "https://russell.ballestrini.net/dependency-requires-elixir-1-16-but-running-1-14-ubuntu/", "published_at": "2026-03-18T21:00:00+00:00" }, { "id": "01a087d9-0471-73d1-8307-882c0892b44d", "title": "build server postmortem: disk full, CI dead", "url": "https://russell.ballestrini.net/build-server-postmortem-disk-full/", "published_at": "2026-03-08T05:00:00+00:00" }, { "id": "01a087d9-0471-73d1-8307-882c092bb144", "title": "two doors shut, one remains open, an olive branch", "url": "https://russell.ballestrini.net/two-doors-shut-one-remains-open-an-olive-branch/", "published_at": "2026-03-07T05:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628704a6014", "title": "royal we & our & one & you", "url": "https://russell.ballestrini.net/royal-we-and-our-and-one-and-you/", "published_at": "2026-03-04T05:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287141340b", "title": "A Love Letter to JSON Jason", "url": "https://russell.ballestrini.net/a-love-letter-to-json-jason/", "published_at": "2026-02-27T22:15:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628721b7ff2", "title": "Free Agent Looking for Work & JSONResume", "url": "https://russell.ballestrini.net/free-agent-looking-for-work-jsonresume/", "published_at": "2025-12-06T05:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862872377ab6", "title": "Brown Out Reboots Servers: NVIDIA Drivers Vanish, Ethernet Dies – Sneaker-Net Rescue with a Bare USB Stick", "url": "https://russell.ballestrini.net/nvidia-breaks-ubuntu-ethernet-linux-modules-extra-fix/", "published_at": "2025-11-06T16:51:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862872afb2ae", "title": "who owns yaml?", "url": "https://russell.ballestrini.net/who-owns-yaml/", "published_at": "2025-10-18T16:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862872b73892", "title": "Growing a 454-page ML reference manual in 5 days: permacomputer harvest", "url": "https://russell.ballestrini.net/growing-a-book-in-5-days-ml-and-devops/", "published_at": "2025-10-16T16:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628736779f2", "title": "pelican theme upgrade: right sidebar table of contents", "url": "https://russell.ballestrini.net/pelican-theme-upgrade-right-sidebar-toc/", "published_at": "2025-10-11T16:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862874576dba", "title": "webwords code golf: minimal HTTP servers in multiple languages", "url": "https://russell.ballestrini.net/webwords-code-golf-minimal-implementation/", "published_at": "2025-10-10T20:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628749863e3", "title": "unpotato webwords: cleaning up btrfs docker volumes after build-all", "url": "https://russell.ballestrini.net/unpotato-webwords-btrfs-cleanup-docker-volumes/", "published_at": "2025-10-10T18:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628749fe224", "title": "webwords reaches 42 languages: the ultimate programming kata", "url": "https://russell.ballestrini.net/webwords-reaches-42-languages-the-ultimate-programming-kata/", "published_at": "2025-10-09T16:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862874c410b1", "title": "Analyzing the Godot Engine Codebase: Millions of Lines of Code", "url": "https://russell.ballestrini.net/analyzing-godot-engine-codebase-millions-lines-of-code/", "published_at": "2025-07-28T13:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287523030e", "title": "Building and Modding MultiMower with Dry Engine", "url": "https://russell.ballestrini.net/building-and-modding-multimower-with-dry-engine/", "published_at": "2025-07-13T14:00:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862875fe420e", "title": "Introducing SLOP", "url": "https://russell.ballestrini.net/introducing-slop/", "published_at": "2025-03-21T14:22:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862876ba32a5", "title": "Free LLM Endpoints & Dynamic Distributed Model Inference Client with UncloseAI.js", "url": "https://russell.ballestrini.net/free-llm-endpoints-dynamic-distributed-model-inference-client-uncloseai/", "published_at": "2025-02-20T02:28:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862876c607b3", "title": "Free Hermes Machine Learning ai.unturf.com & uncloseai.js", "url": "https://russell.ballestrini.net/free-hermes-ai-unturf-com-uncloseai/", "published_at": "2024-10-22T00:52:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628774c97ad", "title": "Efficient Battleship Board Generation and Data Management with Python", "url": "https://russell.ballestrini.net/exploring-battleship-board-generation/", "published_at": "2024-09-14T20:49:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862877ef643b", "title": "Comparing Elixir and Phoenix Performance with a Community-Driven OpenAI Client", "url": "https://russell.ballestrini.net/comparing-elixir-and-phoenix-performance-with-openai-client/", "published_at": "2024-08-30T21:26:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287818aca2", "title": "Comparing Node.js and Python Performance with the Official OpenAI Client", "url": "https://russell.ballestrini.net/comparing-nodejs-and-python-performance-with-openai-client/", "published_at": "2024-05-28T12:49:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287825f220", "title": "Integrating OpenAI with Dry's Sample Chat Game", "url": "https://russell.ballestrini.net/integrating-openai-with-dry-sample-chat-game/", "published_at": "2024-02-17T19:11:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628790a466e", "title": "Optimizing Memory Management for Plausible Docker on Ubuntu", "url": "https://russell.ballestrini.net/optimizing-memory-management-for-plausible-docker-on-ubuntu/", "published_at": "2024-02-05T22:40:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862879653a14", "title": "Understanding Pause Functionality in LucKey Park Built on Dry Engine", "url": "https://russell.ballestrini.net/understanding-pause-functionality-in-luckey-park-game/", "published_at": "2024-02-05T13:57:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862879d10f96", "title": "Installing YaCy on Ubuntu", "url": "https://russell.ballestrini.net/installing-yacy-on-ubuntu/", "published_at": "2024-02-04T16:02:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287a913596", "title": "Building 'Dry' and 'Park' from Source on Fedora Linux", "url": "https://russell.ballestrini.net/building-dry-and-park-from-source-on-fedora-linux/", "published_at": "2024-02-03T14:19:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287a9726a3", "title": "Ubuntu 22.04 Letsencrypt Docker Hints", "url": "https://russell.ballestrini.net/ubuntu-22-04-letsencrypt-docker-hints/", "published_at": "2022-05-21T00:10:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287aff584b", "title": "Uncle Drops off server with note asking u to cl0ne ubuntu22 kvm", "url": "https://russell.ballestrini.net/uncle-drops-off-server-with-note-asking-u-to-cl0ne-ubuntu22-kvm/", "published_at": "2022-05-09T17:14:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287b58c350", "title": "Vertically Scaling GitLab Server For As Cheap As Possible", "url": "https://russell.ballestrini.net/vertically-scaling-gitlab-server-for-as-cheap-as-possible/", "published_at": "2022-01-06T00:13:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287ba11dee", "title": "Russell Open Sources Remarkbox & MakePostSell into Public Domain!", "url": "https://russell.ballestrini.net/russell-open-sources-remarkbox-and-make-post-sell-into-public-domain/", "published_at": "2021-12-23T17:08:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287c9a0908", "title": "GNUnet GNS Nameserver Operator Notes, Quickstart, & Cheatsheet", "url": "https://russell.ballestrini.net/gnunet-gns-nameserver-operator-notes-quickstart-cheatsheet/", "published_at": "2021-12-03T23:21:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287d25a11f", "title": "Copying files between cloud object stores like S3 GCP and Spaces using Boto3", "url": "https://russell.ballestrini.net/copying-files-between-cloud-object-stores-like-s3-gcp-and-spaces-using-boto3/", "published_at": "2021-05-12T22:50:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287d3ca6d3", "title": "I tried to install GitLab on TrueNAS and failed", "url": "https://russell.ballestrini.net/i-tried-to-install-gitlab-on-truenas-and-failed/", "published_at": "2020-10-25T18:28:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287d8155bc", "title": "WeeChat on-boot in a tmux session", "url": "https://russell.ballestrini.net/weechat-on-boot-in-a-tmux-session/", "published_at": "2020-09-15T17:32:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287dd20ea9", "title": "Dreaming of unlimited home computer storage capacity", "url": "https://russell.ballestrini.net/dreaming-of-unlimited-home-computer-storage-capacity/", "published_at": "2019-12-15T14:52:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287e59d61c", "title": "Unity Collab not working on Fedora because of an invalid CA certificate path", "url": "https://russell.ballestrini.net/unity-collab-not-working-on-fedora-because-of-invalid-ca-certificate-path/", "published_at": "2019-11-08T17:19:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287eb74360", "title": "How to fallback to an older FreeNAS version on update failure", "url": "https://russell.ballestrini.net/how-to-fallback-to-an-older-freenas-version-on-update-failure/", "published_at": "2019-10-31T21:06:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287efb2f84", "title": "Installing Unity on Linux", "url": "https://russell.ballestrini.net/installing-unity-on-linux/", "published_at": "2019-09-25T22:55:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86287fb61a01", "title": "Pre-signed GET and POST for Digital Ocean Spaces", "url": "https://russell.ballestrini.net/pre-signed-get-and-post-for-digital-ocean-spaces/", "published_at": "2019-07-12T20:01:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288007cba6", "title": "Hybrid Hot Water Heater Saves 69 Percent On Energy Consumption", "url": "https://russell.ballestrini.net/hybrid-hot-water-heater-saves-69-percent-on-energy-consumption/", "published_at": "2019-02-05T14:28:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862880c9e305", "title": "AWS nvme to block mapping", "url": "https://russell.ballestrini.net/aws-nvme-to-block-mapping/", "published_at": "2019-01-19T19:50:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288147da66", "title": "Yuletide Trains and Homegrown Video Games", "url": "https://russell.ballestrini.net/yuletide-trains-and-homegrown-video-games/", "published_at": "2018-12-25T22:15:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288238af37", "title": "All Local Heros need a Gig Side Kick", "url": "https://russell.ballestrini.net/all-local-heros-need-a-gig-side-kick/", "published_at": "2018-08-03T15:20:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288276c193", "title": "Running DynamoDB Local service container on CircleCI 2.0", "url": "https://russell.ballestrini.net/running-dynamodb-local-service-container-on-circleci-2/", "published_at": "2018-07-18T15:56:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288310ad41", "title": "Pyramid SQLAlchemy bootstrap console script with transaction.manager", "url": "https://russell.ballestrini.net/pyramid-sqlalchemy-bootstrap-console-script-with-transaction-manager/", "published_at": "2018-06-15T14:54:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628832dcdac", "title": "Quickstart to DKIM Sign Email with Python", "url": "https://russell.ballestrini.net/quickstart-to-dkim-sign-email-with-python/", "published_at": "2018-06-04T13:03:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288364c90f", "title": "Fulfilling Childhood Dreams: Solar", "url": "https://russell.ballestrini.net/fulfilling-childhood-dreams-solar/", "published_at": "2018-03-16T12:03:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862884396ea5", "title": "How-to Work From Home", "url": "https://russell.ballestrini.net/how-to-work-from-home-the-road-to-remote-chapter-1/", "published_at": "2017-11-09T14:51:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862884400dd5", "title": "webwords: a minimal viable web app with docker in as many languages as possible", "url": "https://russell.ballestrini.net/webwords-is-a-minimal-viable-web-app-with-docker-in-as-many-languages-as-possible/", "published_at": "2017-10-24T16:11:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288514505a", "title": "So You're Planning a Beta Test", "url": "https://russell.ballestrini.net/so-you-are-planning-a-beta-test/", "published_at": "2017-10-22T17:20:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862885b2f763", "title": "My Search for the Perfect Alternative Hosted Comment System", "url": "https://russell.ballestrini.net/my-search-for-the-perfect-alternative-hosted-comment-system/", "published_at": "2017-10-08T14:47:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288691130a", "title": "Selenium grid on Kubernetes", "url": "https://russell.ballestrini.net/selenium-grid-on-kubernetes/", "published_at": "2017-03-23T20:48:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628877ee51e", "title": "Minikube", "url": "https://russell.ballestrini.net/minikube/", "published_at": "2017-03-21T16:38:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862888379616", "title": "Nginx throw HTTP 503 maintenance JSON for all requests", "url": "https://russell.ballestrini.net/nginx-throw-503-maintenance-json-for-all-requests/", "published_at": "2016-12-21T20:09:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862888630c2b", "title": "Capability driven Presentation", "url": "https://russell.ballestrini.net/capability-driven-presentation/", "published_at": "2016-12-18T23:21:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288873eba1", "title": "Build RPM or DEB packages for Node.js using Jenkins and FPM", "url": "https://russell.ballestrini.net/rpm-deb-packages-for-nodejs-using-jenkins-and-fpm/", "published_at": "2016-12-01T20:30:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862888ac5987", "title": "Register Super Powers with Pyramid add_request_method", "url": "https://russell.ballestrini.net/register-super-powers-with-pyramid-add-request-method/", "published_at": "2016-11-24T20:30:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862889a94577", "title": "Sharing a Pyramid cookie with Flask or Tornado", "url": "https://russell.ballestrini.net/sharing-a-pyramid-cookie-with-flask-or-tornado/", "published_at": "2016-11-21T23:35:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862889d23b83", "title": "My first Systemd Service Script and Override", "url": "https://russell.ballestrini.net/my-first-systemd-service-script-and-override/", "published_at": "2016-10-28T19:54:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862889fd39c4", "title": "Set static hostname for RHEL Centos 7 on AWS", "url": "https://russell.ballestrini.net/set-static-hostname-for-rhel-centos-7-on-aws/", "published_at": "2016-09-06T15:18:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288af585bd", "title": "If I swallow lots of air will I be lighter?", "url": "https://russell.ballestrini.net/if-i-swallow-lots-of-air-will-i-be-lighter/", "published_at": "2016-06-22T23:17:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288ba20ca0", "title": "Output all instance identifiers of an AWS VPC to JSON", "url": "https://russell.ballestrini.net/output-all-instance-identifiers-of-an-aws-vpc-to-json/", "published_at": "2016-06-21T14:25:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288c00b0ce", "title": "Set DNS resolver options", "url": "https://russell.ballestrini.net/set-dns-resolver-options/", "published_at": "2015-12-16T15:17:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288c535d7a", "title": "Bind9 on Joyent Triton", "url": "https://russell.ballestrini.net/bind9-on-joyent-triton/", "published_at": "2015-11-29T23:47:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288d22709b", "title": "Migrating from WordPress to Pelican", "url": "https://russell.ballestrini.net/migrating-from-wordpress-to-pelican/", "published_at": "2015-11-15T20:39:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288d8367da", "title": "Boto3 get main route table", "url": "https://russell.ballestrini.net/boto3-get-main-route-table/", "published_at": "2015-10-16T16:15:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288e43a958", "title": "List all installed package names in Python", "url": "https://russell.ballestrini.net/list-all-installed-package-names-in-python/", "published_at": "2015-07-05T02:15:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288e7648e5", "title": "Filtering AWS resources with Boto3", "url": "https://russell.ballestrini.net/filtering-aws-resources-with-boto3/", "published_at": "2015-07-02T21:03:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288e9ce00a", "title": "Working with botocore's ~/.aws/config", "url": "https://russell.ballestrini.net/working-with-botocores-awsconfig/", "published_at": "2015-07-01T22:14:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288f0f2edc", "title": "My Mentor", "url": "https://russell.ballestrini.net/my-mentor/", "published_at": "2015-06-21T17:36:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288f5acc95", "title": "Change default gateway on all SmartOS Zones and KVM guests", "url": "https://russell.ballestrini.net/change-default-gateway-on-all-smartos-zones-and-kvm-guests/", "published_at": "2015-06-02T00:34:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86288fc01916", "title": "SmartOS Ubuntu guest, apt-get not working because IPv6", "url": "https://russell.ballestrini.net/smartos-ubuntu-guest-apt-get-not-working-because-ipv6/", "published_at": "2015-05-10T00:29:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289055f4b5", "title": "A Python script which searches for available interpreters", "url": "https://russell.ballestrini.net/a-python-script-which-searches-for-available-interpreters/", "published_at": "2015-05-08T14:34:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862891250207", "title": "Migrating libvirt KVM guest to SmartOS KVM guest", "url": "https://russell.ballestrini.net/migrating-libvirt-kvm-guest-to-smartos-kvm-guest/", "published_at": "2015-04-29T02:17:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628921dc9f3", "title": "Setting region programmatically in Boto3", "url": "https://russell.ballestrini.net/setting-region-programmatically-in-boto3/", "published_at": "2015-04-24T18:07:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862892bd97b2", "title": "Securely publish Jenkins build artifacts on Salt Master", "url": "https://russell.ballestrini.net/securely-publish-jenkins-build-artifacts-on-salt-master/", "published_at": "2015-02-22T17:39:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862893af60a2", "title": "Set postgres user password on PostgreSQL SmartOS Zone", "url": "https://russell.ballestrini.net/set-postgres-user-password-on-postgresql-smartos-zone/", "published_at": "2015-01-22T03:28:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862893f1097c", "title": "Risk, Process, and Balance", "url": "https://russell.ballestrini.net/risk-process-and-balance/", "published_at": "2015-01-11T03:35:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628940c6c4b", "title": "autofs /net automount stopped working", "url": "https://russell.ballestrini.net/autofs-net-automount-stopped-working/", "published_at": "2014-12-22T03:38:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628942f128f", "title": "Custom Rundeck HipChat notification templates", "url": "https://russell.ballestrini.net/custom-rundeck-hipchat-notification-templates/", "published_at": "2014-12-03T06:37:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862894bad908", "title": "Build release pipelines on S3 with s3p", "url": "https://russell.ballestrini.net/build-release-pipelines-on-s3-with-s3p/", "published_at": "2014-11-24T19:39:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289527a455", "title": "Dealing with pagination in Python", "url": "https://russell.ballestrini.net/dealing-with-pagination-in-python/", "published_at": "2014-11-14T02:06:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628961a466a", "title": "Turn python dict into a key=value string and back again", "url": "https://russell.ballestrini.net/turn-python-dict-into-a-keyvalue-string/", "published_at": "2014-11-10T03:02:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862896a94cc6", "title": "Migrating MongoDB from Ubuntu to SmartOS", "url": "https://russell.ballestrini.net/migrating-mongodb-from-ubuntu-to-smartos/", "published_at": "2014-10-12T00:52:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862896b3e454", "title": "Set Root Password SmartOS Percona MySQL Zone", "url": "https://russell.ballestrini.net/set-root-password-smartos-percona-mysql-zone/", "published_at": "2014-10-11T04:12:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-862897139e39", "title": "rabbits", "url": "https://russell.ballestrini.net/rabbits/", "published_at": "2014-09-19T01:11:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628978c6ad7", "title": "reality shattered", "url": "https://russell.ballestrini.net/reality-shattered/", "published_at": "2014-09-19T01:11:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628981d15dc", "title": "Heka, World2!", "url": "https://russell.ballestrini.net/heka-world2/", "published_at": "2014-08-24T02:54:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289860208f", "title": "Mailpile Salt States for Ubuntu or Debian", "url": "https://russell.ballestrini.net/mailpile-salt-states-for-ubuntu-or-debian/", "published_at": "2014-08-16T00:32:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628987b3d73", "title": "You can hack on FreeNAS 9", "url": "https://russell.ballestrini.net/you-can-hack-on-freenas-9/", "published_at": "2014-05-15T05:06:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289883cfdf", "title": "Nginx with SSL and mixed content errors with upstream WSGI servers", "url": "https://russell.ballestrini.net/nginx-with-ssl-and-mixed-content-errors-with-upstream-wsgi-servers/", "published_at": "2014-05-08T20:28:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-8628996eaf5e", "title": "How to patch Heartbleed OpenSSL defect (libssl) on Ubuntu", "url": "https://russell.ballestrini.net/how-to-patch-heartbleed-openssl-defect-libssl-on-ubuntu/", "published_at": "2014-04-09T02:42:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289a2c29d5", "title": "IRC Bot (Foxbot) runs canned remote executions using Salt Stack", "url": "https://russell.ballestrini.net/irc-bot-foxbot-runs-canned-remote-executions-using-salt-stack/", "published_at": "2014-03-15T20:33:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289af2db7f", "title": "Filter Salt Stack Return Data Output", "url": "https://russell.ballestrini.net/filter-salt-stack-return-data-output/", "published_at": "2014-03-13T22:21:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289b71cecd", "title": "Replace the Nagios Scheduler and NRPE with Salt Stack", "url": "https://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/", "published_at": "2014-03-08T20:53:00+00:00" }, { "id": "01a087d9-0472-7185-b3eb-86289be9e1c8", "title": "Configuration Management and the Golden Image", "url": "https://russell.ballestrini.net/configuration-management-and-the-golden-image/", "published_at": "2014-02-21T22:19:00+00:00" }, { "id": "01a087d9-0473-73ea-b033-e1f4ba5a56d9", "title": "Automatic Backups", "url": "https://russell.ballestrini.net/automatic-backups/", "published_at": "2014-02-07T22:14:00+00:00" }, { "id": "01a087d9-0473-73ea-b033-e1f4ba709a4b", "title": "tar-back", "url": "https://russell.ballestrini.net/tar-back/", "published_at": "2014-02-07T21:49:00+00:00" } ] posts Claim your blog
Back to Russell Ballestrini
Blog · corpus.blog/blogs/russell.ballestrini.net/posts

Russell Ballestrini

russell.ballestrini.net

2026

2025

2024

2022

2021

2020

2019

2018

2017

2016

2015

2014