This website is a repository of documentation for projects I've done in my spare time. Most were done in the interest of learning new methods and figuring out curious things. As is typical with hobby projects, sometimes interest is lost and the projects are not completed, so some of the documentation may be lacking or have errors in them. I've chosen not to go back and edit old errors even though I know there are some to not misrepresent my past self.
  • Struct Packing Pragmas and Fiddly Fields of Bits

    Addressing packed structs as arrays, platform dependent behavior of types, and the unexpected nature of byte-boundary-crossing bit-fields.

  • Minimum Viable – in Three Lines of Javascript

    An underwhelming, non-innovative, single-page web "application."

  • C-repl – Most vulnerable calculator

    The REPL that shouldn't have been. An eval function that intentionally allows execution of arbitrary machine code from data memory. What could go wrong?

  • Morse Code, and a Training Application With GUI

    A bus ride with no internet connection and a sub-par smartphone app for Morse code training. What better way to spend 2 hours that building an application that does exactly what it needs to do? Python, GTK, and some inevitable matplotlib figures.

  • Myloc #6 - Airplanes and Azimuthal Projections

    Myloc #6 - Azimuthal projection and airplanes

  • Inadvertent Art by Möbius Projection

    A little bit of mathematics with a side of nice looking debug output. Also solving equations using Mathomatic.

  • Hello.c – Smashing the stack

    A look at the first ever C program I wrote. How much C do you need for smashing the stack? Evidently not much.

  • F-secure KEY on Linux

    Run F-Secure KEY password manager on Ubuntu

  • Free Flight Characterisation of Unidentified Diptera

    An exercise in meta-productivity, to learn new tools and methods by applying them to a practical problem while feeding a personal curiosity about the characteristics of the flight path of a particular insect. The analysis finds that the fly can make saccadic turns at over 1000 deg/s and fly almost at a speed of 2 m/s. The observed flight patterns are compared to published data about the flight behavior of Aedes aegypti and Drosophila melanogaster. The analysis is done using a smartphone camera and the Python 3 language for images processing and data manipulation.

  • Writing electronic lecture notes and lab notebooks

    Someone asked what are some good way to take notes without using actual paper. This write-up documents the tools and workflows that I used during my bachelor's studies in electronic engineering. Jupyter notebooks, Atom, Python, and plaintext markup goodness.

  • Where on Google Earth #589

    Having found the Hoba meteroite of WoGE #588 it's this blog's duty to host #589

  • Mystery Location #5 - Railroad Crossing

    A quick mystery location photo analysis using overpassQL and dumb luck

  • Mystery location overpass analysis

    A geospatial analysis workflow using ja python3 jupyter kernel with geopandas and folium in nteract

  • Over-optimizing Blink.ino

    A delve down the rabbit hole of abstractions and the structure of AVR firmware by over-optimizing Blink.ino at progressively lower abstraction layers.

  • E/V Nautilus Brine Pool Exploration: ROV Data Plots

    Using python to scrape temperature and depth data from ROV Hercules dunring a dive to the Hot Tub of Dispair? Jacuzzi of Death? Some permutation of those. It's a brine pool in the Guld of Mexico.

  • Implementing the Mic1 processor

    A complete description of a virtual implementation of the Mic1 processor using Logisim.

  • Papilio FPGA Development Environment for Ubuntu 14.04

    Process for installing and configuring a functioning VHDL development environment for use with the Papilio FPGA boards using Xilinx ISE.

  • Breaking a Weak php Captcha

    Describes a particularly poor captcha, including implementation details on circumventing it using bash a bash script.

  • Interfacing with microcontrollers using audio

    A part of a project for maybe eventually communicating with a microcontroller over a serial protocol using a laptop's audio heahphone jack as the output.

  • Interactive SVG files

    These are some SVG files embedded using the html tag. Some of the interactivity is done using either the SVG animate functionality or with javascript embedded inside the SVG.

  • Computer vision based pointer input

    A foray into computer vision using OpenCV to control pointer input via ioctl

subscribe via RSS