About Me

Hi, I'm Will Schenk and I co-founded HappyFunCorp in 2009. We build software products for companies large and small. We've built hundreds.

When I'm not helping to run the company as the COO, I'm a software craftman in my spare time. This is my personal site where I document some of my findings wandering around the internet.

My wife and I have 3 children (currently all under the age of 5) and a dog, and live in Brooklyn, NY.

We are about to buy an RV. We have the RV.

Recent posts

Using Org Mode in Hugo

emacs everywhere

Published August 2, 2019 #howto, #emacs, #hugo

I'm learning org-mode and I don't really know what I'm doing, but this is how I'm trying out writing hugo posts with it. I'm used to markdown, so this is a what's different post. Some minor org-mode tweaks For some reason when org-mode starts it doesn't softwrap the paragragh text. I like to have it soft-wrapped so everything is on the screen if it's not collapsed. Also having some nice indentation makes things visually cleaner, so add this snippet to your ~/.

Reading time: about 3 minutes


Installing guix on IntelNUC

using the hardware you have, even if we are nonfree

Published July 25, 2019 #freesoftware #guix #docker

I’ve been getting into Guix and Emacs lately, going back to my Free Software roots. It’s amazing. Guix is a functional package manager that you can use on top of a linux distribution to have repeatable and rollbackable builds. Guix System is a distrubution that’s Guix all the way down. I have an Intel NUC lying around that I wanted to use, so this is my effort to get a working Guix System installation on it.

Reading time: about 10 minutes


Reverse engineering APIs using Chrome Developer Tools

its your data after all

Published May 1, 2019 #howto #chrome #api #scraping

I want to get a list of all of the podcast episodes that I’ve starred on PocketCasts. There’s no obvious way to export this from the application, and they don’t have a published interface. Lets look at hope to use chrome developer tools to figure out what the API is. We know that PocketCasts must have an API since it also has a mobile app – the code in the mobile app must talk to the code in the server using a format that computers understand, which is basically the definition of an API.

Reading time: about 12 minutes


Controlling IKEA Tradfri devices from your computer

IKEA is cheap and everywhere

Published April 24, 2019 #howto #zigbee #IKEA #node

I stumbled upon a fun blogpost about the Dumbass Home and it turned me onto the IKEA Tr√•dfri line of products. So I got a couple, and figured out how to control them from my laptop (or say a Raspberry PI) from node. Here’s how to do it.

Reading time: about 7 minutes


Playing with cabal

serverless code

Published April 23, 2019 #p2p #node #cabal

Cabal is a “experimental p2p community chat platform”. It’s fully distributed over the dat protocol. When you create a new chat area – something like a Slack – it allows anyone with the same key to post and view messages everywhere. When you post a message, everyone gets it and shares it with everyone else, so even when your computer drops off there will still be a coherent view of the data.

Reading time: about 8 minutes