RSSAmplifier

Blog

sharphall.org

sharphall.orgRSS feed ↗12 posts

Latest posts

NixOS is magic

I’ve been using NixOS recently on my laptop, because I know how great declarative configuration is from my experience deploying software on servers with tools like Kubernetes and Terraform. Along the way, I’ve had a few experiences with it that have left me impressed with how powerful a declarative approach to the configuration of my personal computers can be. Declarative vs imperative If you’ve…

5 patterns in Rust that are kind of a big deal

Recently I’ve been learning and building in Rust to the point where I’m feeling productive with it. Like many others, I’ve found the “The Rust Programming Language” book (or “the book” as my rustacean friends like to call it) to be an incredibly helpful resource. But as I’ve progressed beyond the book I’ve found that reading the source code of the standard library and the crates I was using was…

Notes on setting up Hyprland

I tried out the Hyprland tiling window manager today, and wrote up some notes that might make a useful cheatsheet for new users. Configuration, as it turns out , can get pretty involved. These notes are just intended to give a lay of the land, at times from the point of view of someone who wants to get it to work on Debian. Using Hyprland Unlike Gnome or KDE , Hyprland is extremely minimal, and a…

Building s-rack — a modular softsynth — from scratch (Week 2 and 3)

A few weeks ago I started working on s-rack , a modular synthesizer written in Rust. An earlier post describes my first week of development. The big news since then is that this project now runs inside a web browser through WASM as a compilation target. I followed the example at eframe_template . I found that Trunk is a builder for WASM apps. During development it will watch your code, recompile…

Building a modular softsynth from scratch (Week 1)

To kick off my time at the Recurse Center I decided to build a modular softsynth in Rust to expand my knowledge of Rust and DSP , as well as build something I and others could use to make music. I’m inspired by an old modular softsynth I used to use called SpiralSynthModular . Unfortunately, this software is dated and no longer updated, and doesn’t compile easily in a modern environment.…

nanometer

nanometer is a small framework I made in TypeScript to control ILDA show lasers via the Ether Dream DAC . It consists of two parts: A WebSocket server, which requests a stream of points (defined as an X/Y position and RGB color values) from a connected client and forwards them to the DAC using its TCP interface. A library for writing clients, which connect to the server and provide points.…

wheresepta.com

This labor day weekend I decided to see if I could complete a small web project that might be of use to Philadelphians and maybe learn React in the process. I came up with a mobile friendly page that will tell you how far away your bus is with the API that SEPTA makes available . Behind the scenes, it grabs your geolocation from your device, finds stops near your location, filters all SEPTA…

A quick and dirty dot density map of contibutions to Blackwell and Gauthier

After creating a small analysis of campaign finance data for the Blackwell and Gauthier campaigns, I thought it would be interesting to see on a map where financial contributions come from. I extended my script to geocode all of the addresses of donors and output them to a CSV file. I wrote another script to read this CSV file and write another file with a point per $50, with the location…

Some small analysis on Blackwell vs Gauthier campaign finance

With campaign finance an issue in the 2019 election for councilperson for Philadelphia’s 3rd district, I thought I would list and sort sources of funding for both candidates for both 2018 + 2019 to see if there is anything that can be learned. This information is from the public record at https://apps.phila.gov/campaign-finance/search/all , but after processing the listing I generated sums of…

SHA2017

I’ve got some pictures from when I attended SHA2017 .

The Sansa Fuze Clip+ is the best digital audio player

I used to store a copy of my music collection on my Android phone. For various reasons it became necessary to buy a new phone, and as I did the phones lost their microSD card which held the most of the music. And then the capacity of the internal memory on the phones actually got smaller. All of this is to presumably encourage users to use Google Music or otherwise coerce users to use cloud music…

sharphall.org is rebooting

After not updating my personal website for a long time, I’ve decided to relaunch it as a blog. Stay tuned!