A Socratic Study of Euclid's Elements

Using the Socratic approach for the study of Euclid's Elements to increase the breadth and depth of understanding.
Studying The Elements of Euclid reveals the foundations of mathematical rigour and the systems through the lens of which we see the world today. Though the end result of the concepts covered in many of the books of the Elements will be familiar to those who have completed high school maths; seeing Euclid’s system come together to weave the fabric of maths and understanding the proofs from first principles is another matter entirely.

Creating a Zettelkasten with Hugo

Why you need a Zettelkasten, what a Zettelkasten is, and how to create a portable Zettelkasten using hugo and git. Based on the ideas of Niklas Luhmann and Umberto Eco.
Why do I need a Zettelkasten? The idea of a Zettelkasten struck me in a chat recently. I have been keeping physical journals, using a modified form of bullet journalling, for a while; I had been keeping less structured notes before that, and ruminating on how to digitize them. After learning about the concept of Zettelkasten, it seemed like the solution; and that led me down the rabbit hole of investigation.

Mounting RBD at Boot Under CentOS 7

A quick and dirty guide on how to mount a ceph RBD at boot under CentOS 7
This tutorial covers mounting an RBD image at boot under CentOS 7. Make sure to unmount the RBD you want to have mount at boot before following this tutorial. This tutorial requires a CentOS 7 client with a client or admin keyring from Ceph, and a working Ceph cluster. This tutorial also assumes you have already created the RBD image you want to be mounted at boot. Let’s begin! Assumptions This tutorial assumes the node you are implementing this on has connectivity to a working ceph cluster and also assumes that kernel module RBD is enabled.

Install HHVM, Nginx on Ubuntu 14.04 - Make WordPress Fly

A guide to installing nginx and HHVM on Ubuntu 14.04
Installing HHVM and Nginx on Ubuntu 14.04 is the next step in the “Make WordPress Fly” series. This tutorial assumes you have completed the prerequisites, read Part 1 and completed Part 2 of this guide. At this point you have a reasonably secure box with MariaDB installed and configured. In this (Part 3) of the “Make WordPress Fly” guide we will start out by preparing our system for Nginx. The first step is to reconnect to your VM via SSH.

A Trip to Acoma Pueblo

A visit to the Acoma Pueblo in New Mexico, as a stop on a roadtrip that traversed most of the continental United States.
Back in November of 2013 I had the opportunity to visit the Navajo nation and the Hopi and Acoma Pueblos. The Acoma had a nice museum and guided tours of a mesa-top city know as “Sky City”. Acoma Pueblo is a Native American pueblo approximately sixty miles west of Albuquerque, New Mexico in the United States. Three villages make up Acoma Pueblo: Sky City (Old Acoma), Acomita, and McCartys. The Acoma Pueblo tribe is a federally recognized tribal entity.

Ceph Raw Disk Performance Testing

Tooling and methodology for testing the performance of disk devices with ceph osd.
Ceph raw disk performance testing is something you should not overlook when architecting a ceph cluster. When choosing media for use as a journal or OSD in a Ceph cluster, determining the raw IO characteristics of the disk when used in the same way ceph will use the disk is of tantamount importance before tens, hundreds or thousands of disks are purchased. The point of this article is to briefly discuss how ceph handles IO.

Installing WordPress with Nginx on Ubuntu 14.04

How to install WordPress on Ubuntu 14.04 with an nginx webserever.
Installing WordPress with Nginx on Ubuntu 14.04 is a fairly straightforward task. In this tutorial we will do over how to do it. This tutorial assumes you have completed the Getting Started with an Ubuntu VPS guide and have an Ubuntu 14.04 VPS (if not you can get one at vultr). It also assumes that you already have a LEMP stack setup (Linux, Nginx, MySQL, etcetera) or you are following the WordPress HHVM guide.

Hiking to Ciudad Perdida

Hiking to Ciudad Perdida, the Lost City in Colombia. A trip report, photos and reflections on the journey to Teyuna from Santa Marta.
The Trip On a Saturday evening in August of 2018 my other half and I and left the Upper East Side of Manhattan in a taxi bound for JFK. Excitement and apprehension were in the air as we were eager to leave, but about to commend our kids to my mother in law for a week. We had, and have not since, been away for so long from our children. After arriving, we were informed that we were extremely early.

Ceph OSD Performance: Backends and Filesystems

Ceph OSD performance on various filesystems and backends including btrfs, for the Atlanta ceph meetup.
Ceph OSD performance characteristics are one of the most important considerations when deploying a RADOS (Replicated Asynchronous Distributed Object Storage) cluster. Ceph is an open source project for scale out storage based on the CRUSH algorithm. An OSD is an “Object Storage Daemon”, which represents a journaling partition and a data storage partition in the Filestore backend implementation. An OSD is, in a broader sense where Ceph stores objects which hash to a specific placement group (PG).

A Study of the Great Books

A footnote in the chronicle of my quest for greater understanding through reading.
In August 2019 I became interested in reading the great books of Western Civilization. This interest started whilst considering, at length, the public school system in the United States. Both in consideration of my mixed experiences with it, and in planning for my children’s educations. I have always been an avid reader. However, I haven’t read many of, or studied in great depth, the foundational works of the West. In my research I stumbled upon Online Great Books via the Art of Manliness Podcast.

A SimpleBiped with an RTOS on an Arduino Mini

A tale of how I once built a bipedal robot using C, arduino and an RTOS.
About eight years back, I wrote up a program for and designed a bipedal robot (I coined it the SimpleBiped) based on the Arduino Micro board. This article is an outline of what I did, mainly for reference if I revisit this later, but hopefully its useful to you as well. I designed a bipedal robot wh That code looks something like this:ich uses ultrasonic sensors for object detection, and some basic logic for navigation as well as some primitives for servo control.