RSSAmplifier

Blog

(untitled)

blobcode.netRSS feed ↗16 posts

Latest posts

An Intro to JJ

This is based off of a presentation given here . git can have terrible UX Interactive rebase is fragile, complex, and prone to breaking. Often this leads to messy incremental commits (like add tests , fix CI ), instead of ideally atomic commits. Rebasing stacked branches manually when parent branches update is tedious and error-prone. Large PRs are often attempted solutions to these problems, but…

moving to github pages

Once again, the optimization gods have taken their hold on me. The site is now running on github pages, with a nix-based build system running on top of github actions. It turns out that turning your website into a nix package lets you cache the build system! Magic Nix Cache is extremely cool, and means that deploys are pretty much instant.

A Reading List

Here I preset my reading lists (broadly split among a couple categories), mostly to provide as reference for myself / others. Also includes some notable papers / short stories. Entries marked with (*) are highly recommended. Programming, Programming Languages Iverson (1972), Algebra: An Algorithmic Treatment - this covers some the ideas behind APL and similar array languages. Dijkstra…

Dithering (and math)!

I love! (love) I love it so much dithering. You might ask - what is dithering? It's intentional noise applied to an image to prevent quantized error in some set of data. Dither - Wikipedia This data - at least for our purposes, is an image. It can also either be used to represent gradients and increase the number of representative colors in an image, or to increase the ability of data to be…

easy dev environments with nix and direnv

I recently delved back into the nixos ecosystem, now that it's more mature - I've found a new at least, new to me (it's been around a while, alright...) way to do dev environments for the many different projects, running on many different ecosystems that I have on the go at any given time. Enter the great combination of nix and direnv . Myself and many others have long extolled the…

Interactive Simulated Annealing

canvas { background-color: white; width: 60%; margin-left: auto; margin-right: auto; display: block; margin-top: 1em; } The Problem There exist many problems where finding the local, and in some cases, global minima of a function is desirable - most commonly in optimization problems such as the traveling salesman problem (TSP). Oftentimes, however, computing this minima often requires traversing…

hello again!

Hello once again - after a period characterized by a distinct lack of blog posts (me being busy) - I come again with a (for the third time, no less) rewritten website. It is now written using hakyll and deployed to a S3 bucket for simplicity's sake. I now have greatly improved features such as sidenotes They're pretty cool and references. I also have equation parsing handled, so things…

internet radio with icecast and liquidsoap

This is a quick guide on setting up a personal internet radio station. Note that this assumes you have a realtively mainstream linux vps (this tutorial will be using debian, but feel free to substitute distro of choice). a note on audio This guide will assume that you have audio files placed in a liquidsoap-compatible format in /usr/share/music , although feel free to substitute…

issues with nix

Inspired by this comment on hacker news , I feel as a fairly excited nix user that I could take a stab at lot of the issues and papercuts I've experienced in my time with nix and nixos. I'm highlighting a lot of issues that are at the forefront for anyone wanting to learn / adopt nix. As follows are some of the issues that I've experienced and that can (hopefully) be rectified,…

new year, new backend

This is a bit of an update on the backend / hosting changeover that I've made over the Christmas Break. The big items are backend rewrite Out of papercuts with both packaging go binaries / managing go dependencies with nix as well as wanting to try maud , a (relatively) new rust html engine that came highly recommended from a friend. This was relatively painless, as the old backend…

teaching go as a first programming language

I've been getting back into teaching coding lately, and coming back to it I had the chance to move away from teaching python, what we've historically taught in because of a myriad of small, irritating problems that exist in the teaching workflow. So the question was asked - what language do we use? Talking to my friends there were quickly very many suggestions. Java? Go? C++? Javascript?…

markdown!

If you've stopped by in the past little bit, you might have noticed I now have markdown . It was about 15 mins. to overhaul the templating system in the website, and it lets me do all sorts of fun stuff , like headings and proper lists that's about it for now - but expect me to be a bit more active writing since I'm back from all of my summer trips!

hello world!

Hello there - this is the start of a whole new blog, written by me, blobcode! I hope that this is the first article of many!

on cobalt

So I've spent the last little while writing a new project, cobalt https://github.com/blobcode/cobalt . It's a minimal reverse proxy that handles http - take a look if it sounds interesting. It's the descendant of the earlier pine https://github.com/blobcode/pine , which was a more naive implementation. I figured that talking about the design…

why I love tiny software

I love tiny software - it's no surprise. I've even written some myself over the past couple years such as [pine (https://github.com/blobcode/pine) and amp ]. First, let's define tiny . To me tiny means that it's small in file size simple to setup / configure with sane defaults simple in function and limited in scope Some might find this similar to the…

about this website

When I started with wanting to create a website, I decided that I wanted something that was easy to build / deploy minimal configuration / state easibly changable / hackable I decided to write some custom webserver software with go, mostly as a learning project - while I was doing this, I stumbled upon the embed 1 feature, which allows for you to embed static assets in a go binary.…