Getting started with plaintext accounting

For a long time I used Microsoft Money to manage my accounts, but that was eventually retired and stopped working. I had to find other options so I picked the easiest option - nothing.

A couple of years ago I started looking into setting up an actual system. I had a few requirements:

  • I didn't want an online-only solution.
  • It had to work on all platforms I use (GNU/Linux, MacOS, and Windows).
  • I didn't want a third-party storing my bank details.

In the end I settled on using ledger. It runs locally, stores everything using plain text, and doesn't require any remote service to work. And as a bonus there is ledger-mode which adds ledger integration to Emacs.

My system at the moment is pretty basic: I split each of my accounts into separate directories, and then use one file for each year. I also have a primary file that links to all of these files; this allows me to run reports across all of my money.

There are some pretty big things I want to improve on in my setup: importing entries takes time, I'd like to learn how to run better reports, and I want to set up a YNAB-style budget system.

By far the biggest pain-point right now is importing entries. Currently I have to manually download CSV files from my bank, convert them with a script, and then go through each item to remove duplicates and categorize the data. Ideally I'd like to be able to automate the entire process, but I'll be happy if I can simplify the conversion and importing process.

Resources to learn more:

plaintextaccounting.org
Provides a complete overview of the different applications available, along with instructions on getting started.
/r/plaintextaccounting
A community for discussing the ins-and-outs of plain text accounting.

New section for deliberate practice

One of my goals in 2021 is to spend more time on "deliberate practice". This is something I've written about before, and after reading Mastering Software Technique I decided to put some effort into improving my skills.

I'm treating this section like an online notebook. It's also a way to keep me focused on deliberately learning things instead of aimlessly messing around. A lot of these projects will be small - ideally only a few hours in length - but I wanted to keep track of them somewhere.

2021's section is a little barren right now, but I'll be adding more projects as the year progresses.


Groundhog Day Resolutions 2021 - Major Goals

I fell a bit short of where I wanted to be last year, so I've been stewing on how many goals to try this time around. Right now I have a list of 11 primary goals, although I will probably add one more goal to make it an even 12.

Here's what I'm thinking of so far:

Publish 100 blog posts
My 30 day blog trial was challenging but enjoyable. I'd like to increase my output this year and publish 100 posts on this site. It will be the same mix of reflective posts (like this one) and more useful, tutorial-style articles.
Release a small game for the Atari ST
Revisiting my nineties development setup brought back some really fond memories for me. A couple of my really old games got picked up by AtariMania, so I'd love to release something that's actually worth playing.
Improve my marathon time
Last year was my first time running a full marathon, but I was a little disappointed with my time. I'm training to improve on it this year.
Enter Ludum Dare
It's been 7 years since my last Ludum Dare entry. It's a great way to get feedback - and to actually release something - so I want to try against this year.
Release Craft Roulette 3.0
I started rewriting Craft Roulette in Rails in 2019, but I stopped short of actually releasing it. Since then I've upgraded it to Rails 6, made it mobile-friendly(ish), and come up with a long list of features I want to add. I want to release it this year.
Release a demo of The Game
I tried this last year and failed, but I made some pretty good progress. There's still a lot to do, but I think I have enough pieces to started building the finished article on.
Release version 1.0 of Writing PHP with Emacs
I published version 0.6 at the end of 2019, and I'm getting close to finishing version 0.7. All of the major content I originally planned is now in the book, but I want to add the "Recipes" section and get the whole thing edited and tidied up. My plan is to have it all finished and released in the first quarter of 2021.
Deliberately practice
This one is a little hard to quantify. My plan is to pick small projects to work on, and then write about the experience once they're complete.
Complete a maniac week
This is another 2020 goal that never was. I still like the idea of shutting myself away to work on a project for a week, although that might change depending on how the year progresses
Release a game and earn at least $1 from it
I've wanted to make games since I was a kid, but I've never sold a game I've created. I'd like to change that.
Release a side project and earn at least $1 from it
Nearly all of my income comes from freelance work. Given how things went last year, I'd like to diversify where my money comes from.

My list of secondary goals has around 20 items, but I'll be adding more to it as the year progresses.


My areas of focus for 2021

I'm currently figuring out the goals I want to work on this year. I'm going to try and focus on a few specific areas instead of throwing out a bunch of goals and seeing what sticks.

Here are the areas I'm looking at so far:

Creation
I like to make things. In 2020 I reduced the amount of goals that involved making software, but I think that was a mistake. Even though I've been doing it for a long time I still enjoy creating games, tools, libraries, or little code snippets. I also found my 30 days of blogging experiment really helpful, so I want to write more this year.
Contribution
Last year I submitted a couple of minor fixes to other projects - mostly typo fixes - but I'd like to do more. I'd also like to spend more time and energy helping others.
Finishing things
I am really bad at this. I want to get better.
Deliberately practicing
This is something I wrote about last year and I really want to use it more often. I've been doing the same job for over a decade now and I feel like I've let my skills stagnate.
Improving my processes
This is somewhat related to deliberate practice, but is more about refining my existing approach to things. I recently read "95%-ile isn't that good" and it gave me a couple of ideas about how to improve the things I do.

Looking over this list shows that there are two main things I want to concentrate this year: making more things (either for myself or other people), and getting better at how I make those things.


Groundhog Day Resolutions - January 2021

January is here. Let's get straight into my Groundhog Day Resolutions for 2021.

Primary goals for January

1. Finalize my 2021 major goals

I have 6 goals planned out, but I'd like to add another few before finalizing the list. I figure even if I only achieve 60% of 10 goals, it'll still be better than I did in 2020.

2. Finalize my 2021 secondary goals

Normally I have around 15 goals for this list, but so far I only have 3. This year I'd like to bump it up to around 20.

3. Set up the 2021 hub page

I'm adding completion dates to my goals this year, but otherwise I'm sticking to the usual format.

4. Release Splodey Boats 2000

Adobe is completely dropping Flash this month, so it seemed appropriate to rebuild one of my Flash games. I'm entering FFSjam 2021 and rebuilding Splodey Boats for Windows and GNU/Linux.

I'll be tracking progress on the Splodey Boats update page.

Secondary goals for January

1. Run 70 miles

I had a marathon scheduled for March, but it was postponed to May. Training starts again this month and I'd like to start strong.