Blog
-
ibis - a better pandas
short `ibis` method-chaining showcase for dataframe workflows.
-
Building Dashboards using Param and Panel in Python
guide to building reusable dashboard components with Param and Panel in Python.
-
Jupyter prelude
reusable setup template for Jupyter notebooks.
-
Power Lines with `ibis`
walkthrough for plotting power lines with Ibis and Folium.
-
Pandas vs Polars vs ibis
comparison of idiomatic data workflows in pandas, Polars, and Ibis.
-
The Basic Building blocks of Ratatui - Part 5
ratatui guide to designing custom widgets.
-
The Basic Building blocks of Ratatui - Part 4
ratatui fundamentals guide to built-in widgets.
-
The Basic Building blocks of Ratatui - Part 3
ratatui fundamentals guide to spans, lines, and text rendering.
-
The Basic Building blocks of Ratatui - Part 2
ratatui fundamentals guide to layout primitives.
-
The Basic Building blocks of Ratatui - Part 1
ratatui fundamentals guide to buffers and rectangles.
-
Effect of type inference on performance in Julia
analysis of how type inference affects performance in Julia.
-
Publishing documents with Quarto
guide to publishing documents with Quarto.
-
Graphing CGP Grey's Rock-Paper-Scissors YouTube Game
graph analysis of CGP Grey rock-paper-scissors YouTube game dynamics.
-
Julia Workflow Tips and Tricks
practical collection of Julia workflow tips and tricks for day-to-day development.
-
Visualizing roads in the cities of Canada
data visualization walkthrough of city road networks in Canada.
-
Using Makie with Quarto
guide to using Makie with Quarto via CairoMakie.
-
Understanding variables and mutability in Julia
introduction to variables and mutability in Julia.
-
Installing `homebrew` in an alternative location
guide to installing Homebrew in a custom location.
-
Programmers' preferences for package names
exploration of package-naming patterns across language ecosystems.
-
Quickstart guide to using a terminal
quickstart guide to using the terminal effectively.
-
Pandoc lua filter for alerts
pandoc Lua filter for rendering alert blocks.
-
Compiling firmware for the Moonlander keyboard with QMK
step-by-step guide to compiling Moonlander keyboard firmware with QMK.
-
Sveltekit tailwind starter
minimal starter template with SvelteKit, Tailwind CSS, and Font Awesome.
-
Using Tikz with Pandoc
guide to integrating TikZ diagrams with Pandoc using Lua filters.
-
Using MermaidJS with Pandoc
guide to integrating Mermaid.js diagrams in Pandoc-based posts.
-
Reinstall Xcode command line developer tools
step-by-step guide to uninstalling and reinstalling Xcode Command Line Tools.
-
Loading a Rust library as a Lua module in Neovim
guide to loading a Rust cdylib as a Lua module in Neovim with mlua.
-
Advent of Code 2020 Retrospective
julia retrospective covering all 25 days of Advent of Code 2020.
-
My Unicode cheat sheet
unicode reference for Vim, Python, Julia, and Rust.
-
Using `pre-commit` hooks
guide to improving a Git workflow with pre-commit hooks.
-
Three built-in `neovim` features
guide to three built-in Neovim features that improve editing workflow.
-
The egg tower puzzle
analytical solution to the two-egg, 100-story tower puzzle.
-
Drawing in ASCII
guide to creating ASCII diagrams and rendering them as SVG with svgbob, Pandoc, and Lua filters.
-
Neovim + LanguageServer.jl
showcase of Neovim with LanguageServer.jl for Julia development.
-
Python 2 vs 3
retrospective on the state of Python 2 and Python 3.
-
Pelican margin notes with Pandoc
guide to implementing margin notes in Pandoc-generated posts.
-
mpld3 networkx d3.js force layout
guide to force-directed graph layout with mpld3, NetworkX, and D3.js.
-
Raspberry Pi powered LED lamp
guide to controlling a desk lamp with a Raspberry Pi.
-
Neovim and Tmux
guide to configuring Neovim and tmux together on macOS.
-
Using conda to manage packages
guide to managing project environments and packages with Conda.
-
Writing technical papers with Markdown and Pandoc
guide to writing academic papers with Markdown and Pandoc.
-
Jupyter Notebook, Reveal.js and Github Pages
guide to publishing Jupyter Notebook presentations with reveal.js on GitHub Pages.
-
Spotify and tmux
tmux status integration that shows the current Spotify track.
-
Change `$PATH` inside vim
guide to updating PATH from inside Vim.
-
Uninstalling and re-installing Homebrew on OSX
guide to uninstalling and reinstalling Homebrew on macOS.
-
How to add line numbers for code blocks in Pelican
guide to adding line numbers to code blocks in Pelican.
-
How to install gdb on OSX
guide to installing GDB on macOS and fixing certificate issues.
-
Emacsclient and tmux split navigation
guide to seamless navigation between Emacs and tmux splits.
-
Emacs workflow — Using Emacs in the terminal
overview of an Emacs workflow in the terminal.
-
Emacs tips — Close compilation buffer
emacs tip for closing the compilation buffer automatically after successful builds.
-
Create Emacsclient.app using AppleScript
guide to creating an Emacsclient.app with AppleScript for launcher workflows.
-
Patched fonts madness
guide to using patched fonts on macOS.
-
Better git log with git ls
guide to replacing git log with a custom git ls command.
-
Vim, tmux and zsh — the productivity trio
setup guide for Vim, tmux, and zsh working together.
-
How to set up a Pelican blog with Github pages
step-by-step guide to setting up a Pelican blog on GitHub Pages.
-
Fast track to being productive in Vim
practical guide to becoming productive in Vim faster.
-
Active, reactive and apparent power
introduction to active, reactive, and apparent power concepts.
-
Mac OSX productivity apps
curated list of productivity apps for macOS.
-
Mac OSX Tweaks
collection of practical macOS tweaks and configuration tips.
-
Geektool and Desktop Widgets in OSX
geektool tutorial for building a custom macOS desktop widget setup.
-
Robotics
collection of videos and notes from undergraduate robotics projects.
-
Tasker and Google Maps
tasker workflow for automating Google Maps actions on Android.
-
Tasker projects
collection of Tasker automation projects.
-
Home monitoring system
raspberry Pi setup for monitoring room temperature at home.
-
Welcome to my blog
introduction to the blog and the topics it covers.