BlogWikiAbout

Kyle Pericak

"It works in my environment"

Mermaid Diagrams in Markdown

Mermaid Diagrams in Markdown

Created: 2025-12-05, Modified: 2025-12-06

Adding Mermaid diagram rendering to a Next.js blog via a custom remark plugin, with syntax examples for flowcharts, sequence diagrams, and state diagrams.

Github Pages: Basics

Github Pages: Basics

Created: 2020-02-27, Modified: 2019-10-25

Spinning up a GitHub Pages site from the docs folder on master, with a custom domain via Cloudflare CNAME, a Jekyll theme, and Markdown-based sub-pages.

Python Ceph Examples

Python Ceph Examples

Created: 2020-02-03, Modified: 2020-02-03

Use Ceph's rados and rbd Python libraries to check cluster health, list and create pools, and manage RBD block-device images with real code samples.

CircleCI: Continuous Delivery for Firebase

CircleCI: Continuous Delivery for Firebase

Created: 2020-01-16, Modified: 2020-01-16

Set up continuous deployment for a Firebase Hosting app using CircleCI, a firebase login:ci token, and a minimal config.yml that runs firebase deploy.

Firebase Basics: Hello World

Firebase Basics: Hello World

Created: 2020-01-11, Modified: 2026-04-11

Set up Firebase CLI and deploy a Hello World app from Ubuntu. Includes a Vagrant port-forwarding trick for authenticating the Firebase CLI without a desktop browser.

Installing Node.js with Ansible

Installing Node.js with Ansible

Created: 2019-12-13, Modified: 2019-12-13

How to install a current Node.js version on Ubuntu with Ansible using the nodesource apt repository. Covers why NVM fails in Ansible and includes complete playbook tasks for the apt key, repo, nodejs, and npm packages.

CloudFlare HTTPS CDN

CloudFlare HTTPS CDN

Created: 2019-12-02, Modified: 2019-12-02

Put HTTPS in front of an HTTP-only static site like Google Cloud Storage using Cloudflare's Flexible SSL mode and the Always Use HTTPS redirect.

Vim Spell-Check

Vim Spell-Check

Created: 2019-10-25, Modified: 2019-10-25

Enable Vim's built-in spell checker with :set spell spelllang=en_ca, jump between misspellings with ]s and [s, and fix, add, or flag words using z=, zg, zw.

Docker Shared Memory (/dev/sdh)

Docker Shared Memory (/dev/sdh)

Created: 2019-09-06, Modified: 2019-09-06

Docker's 64MB /dev/shm default is tiny. Raise it per-container with --shm-size, set a daemon-wide default in daemon.json, or remount /dev/shm on the host.

Upload a Python Package to PyPi

Upload a Python Package to PyPi

Created: 2019-09-06, Modified: 2019-10-2

Publish a pip-installable Python package to PyPI. Walks through setup.py, setup.cfg, a GitHub release for download_url, and uploading with twine.

Working with JSON SQL values in Python

Working with JSON SQL values in Python

Created: 2019-09-05, Modified: 2019-09-05

Pull a JSON blob out of a MariaDB column into a file, edit it, and write it back using raw SQL in Python with the mysql-connector library.

Local Pelican Development Environment

Local Pelican Development Environment

Created: 2019-08-04, Modified: 2019-08-04

Preview Pelican markdown changes live in a persistent Docker container with content, config, and theme mounts plus auto-regeneration on save.

Writing Blog Content for Pelican

Writing Blog Content for Pelican

Created: 2019-08-03, Modified: 2019-08-03

Set up a Pelican static site project with pelicanconf.py, structure posts and pages under content/, and write markdown with the metadata fields Pelican uses.

Building a Docker Pelican Image

Building a Docker Pelican Image

Created: 2019-08-01, Modified: 2019-08-01

Build a reusable Docker image that runs Pelican to convert markdown into a static site, bundling a theme from GitHub and the series plugin in one layer.

Blog code last updated on 2026-04-16: 8579f34f0a3ec5b8043d5eade8e87124d41cf83b