GitHub

A Blog About Software Development

Logo

About

This is my website about software development, primarily, but not exclusively, on iOS and using Swift.

Built with Jekyll and hand-written CSS — no front-end framework and no JavaScript dependencies. Gratefully forked from Jesse Squires, though little of the original design survived the 2026 redesign.

Requirements

Dependencies

Gems

Updating gems

$ bundle update

Usage

Installation

$ git clone https://github.com/vermont42/racecondition.software.git
$ cd racecondition.software/
$ bundle install
$ git config core.hooksPath .githooks

That last command enables the repo's pre-commit hook, which rejects HEIC/HEIF images. It is per-clone local configuration and is not tracked by git, so a fresh clone runs no hook until it is set.

Building the site

$ bundle exec jekyll build

Previewing the site locally

$ bundle exec jekyll serve
# Now browse to http://localhost:4000

Writing a draft

$ bundle exec jekyll serve --future --drafts --watch

Creating a post

$ scripts/new_post.sh

Checking the built site

$ scripts/verify_site.sh

Validates the Atom feed, the JSON feed, and the sitemap, and confirms that every internal link in _site/ resolves. CI runs it on every push, and again before the deploy syncs to S3.

Deployment

Pushes to master are built and deployed to S3 and CloudFront by .github/workflows/deploy.yml. The CloudFront Function handling the www → apex and /blog//archive/ redirects is checked in at infra/cloudfront/redirects.js.

License

Copyright © 2018-present Josh Adams.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Read the original on github.com ↗