Tagged “Projects”

Backyard Fiber Update 2

You ever have one of those moments where you realize that what you've actually been doing is not at all what you thought you were doing?

Yeah. I had one of those a couple weeks ago.

See, I thought I was just installing some fiber in the back yard to get my shed gear off of a lightning-prone shallowly buried cat5e connection. What I actually ended up doing is rebuilding my home network (almost) from scratch while maintaining a passable SLA. A real ship of theseus type of deal.

Backyard Fiber Update 1

Today is day one of three installation days. Yesterday they came and dug the trenches and today they're starting to put in the electrical and gas for the generator.

Trench in the back yard

Tomorrow and possibly the next day are for actually hooking everything up.

When that's all taken care of I'll still be waiting on FS.com to build and ship the fiber assemblies that will go in the conduits.


At least I can finalize some other decisions while I wait for other people to do their thing.

Backyard Fiber

We moved into our current house in the middle of 2020. Between then and now (end of March 2023) we've experienced at least one power outage per year longer than 12 hours, the most recent of which was five days due to a historically bad ice storm. We were lucky to get a hotel room that let us stay the entire time, but we still had to discard a fridge and a freezer full of food.

Even at our old house we had been throwing around the idea of getting a whole home generator, but it was always just too expensive. This most recent event put us over the edge, though, and so now we have a generator in the yard waiting to be hooked up next week.

As part of this work, the contractors happen to be installing trenches exactly where I've wanted them since we moved in, so I'm having them put some low voltage conduit into the trenches and running it into junction boxes.

Dokuen Update

After writing last blog post I started to build out another app using Dokuen and the pain really got to me. I've addressed the caveats that I listed at the bottom of that article and I think Dokuen is ready for tryouts. I wouldn't put anything mission critical on it, but that's not really what it's for anyway.

Dokuen, a Personal App Platform

Dokuen (Japanese for "solo performance") is an amalgamation of open source components that I mashed together so I could run Heroku-style services on my shiny new Mac mini while retaining the paradigm of git push deployments and environment variables for configuration. Effectively, I wanted to be able to seamlessly deploy 12 factor applications in my local environment.

Update: I've rewritten Dokuen and released it as a gem. See this article for details.

Update 2: I've added linux support.

A Robust Reporting System for Ledger

Note: you can find much more information about ledger on ledger-cli.org, including links to official documentation and other implementations

For the last five years I've kept my personal finances in order using the ledger system, a sophisticated command line program that consumes a lightly formatted text file. It's helped me repay debts and get everything in order, helping me financially absorb an injury last month that would have been extremely detrimental just a few years prior.

The stock ledger program is exclusively command-line oriented. For quick checks and greping over output, this is fine. For some time, though, I've wanted a more graphical, more robust way of looking at my finances. I've also wanted a more familiar query language, since version 2.0's queries were someone limited and version 3.0's query syntax is not very well documented yet. Last year I wrote a simple system that pushed monthly reports out to static HTML files, which got me part of the way there but I really wanted something more flexible. Something where I can just write an arbitrary query and have the output dumped to HTML.

Thus, I present Ledger Web. In Ledger Web, your ledger is kept in a text file, just the same as always, reports are ERB files, and queries are SQL. Ledger Web watches your ledger file and whenever it changes dumps it into a PostgreSQL database table. It's also quite customizable, letting you set hooks both before and after row insertion and before and after ledger file load.

Another Tiny Webapp

Literally ten minutes after hitting the publish button on my last post I took a little tumble and broke a rather important bone in my back, and now I'm on medical leave from work for awhile.

That doesn't stop me from doing fun things, though, so this morning I cooked up a tiny webapp using [Sinatra][], [DataMapper][], and [Bootstrap][] that will help me keep track of when I take painkillers. It's called [Painkiller Jane][] after the comic book character.

Concurrency on Heroku Cedar

I started a small product a few weeks ago called FivePad, a simple easy way to organize your apartment search. It's basically the big apartment search spreadsheet that you and me and everyone we know has made at least three times, except FivePad is way smarter.

The initial versions of FivePad did everything in the web request cycle, including sending email and pulling down web pages. The other day I was about to add my third in-cycle process when I threw up my arms in disgust. The time had come to integrate resque, a great little redis based job queueing system. Except if I ran it the way Heroku makes things easy my costs would get a little bit out of control for a project that isn't making much money yet.

Introducing FivePad

For over two years I've been ruminating on an idea for a webapp that would help people coordinate apartment searches amongst roommates. Finding a place is pretty tough, and finding the right place for you and one or more other people is even harder. Emails, phone calls, spreadsheets, links, bookmarks. It's a mess. So, I built FivePad. More details after the fold.

What sucks about apartment hunting?

I want to brainstorm everything that sucks about searching for an apartment. Why is it always so painful? Does it have to suck so much? I have some ideas but I haven't done this in almost a year so the pain, it is not so fresh.

Bootstrapping a Side Business - First Steps

For the past few weeks I've been working on a little product that I'm calling remindlyo, which I'm hoping to turn into a secondary income stream. The basic idea is that you put events about the important people in your life, like birthdays, anniversaries, or what have you, into remindlyo. On the day of the event, remindlyo calls you to remind you and connects you to them, all on the same phone call. You can read more about it on the main remindlyo site. In this post I want to talk more about the why instead of the what.