Jul 31, 2022 - Pi Frame

Raspberry Pi Picture Frame

My digital picture frame passed on to its reward and I was very dissapointed in the available options on the market. The resolutions seemed terrible and they were all 16:9 aspect ratio. As is typical no days, most also wanted to connect to some cloud service to get their pictures as well, although they would read an SD card too.

I had my first LCD monitor still, actually one of a pair as I’d given away the other years before. It is a 15” 1024x768 but excellent (for 2002) color and contrast. I also had an original Pi that I paid a friend 0.2 BTC for back when Bitcoin was $100 that was collecting dust. So, I put things together by making a VESA mount case out of some epoxy-filled oak I had lying around as well:

Unassembled Case

Detail of Case

Back View

Front View



I wanted to only power the monitor from 7:00 am to 5:00 pm when I’m in my office to see it. Conveniently, there is a Pi command to have the video core put the monitor into standby mode which consumes less than 1W. I wrote a simple BASH script to show a random image from a folder every 4 hours and put it in a cron job that runs every minute. Not terribly efficient but the Pi doesn’t have anything else to do.


hour=$( date +"%H" )
if [ $hour -ge 19 ] || [ $hour -le 7 ] ; then
        killall -q fbi
        vcgencmd display_power 0 > /dev/null
elif ! pgrep -x fbi > /dev/null  ; then
        vcgencmd display_power 1 > /dev/null
        killall -q fbi
        images=$( ls -d /home/pi/frame/images/* )
        fbi -a --noverbose -T 1 -t 14400 -u -1 $images > /dev/null

May 23, 2022 - Budget Castle

My motivations behind tracking spending

Over the years I found myself having two feelings about spending: first, that I can’t afford what I want so I will spend hours pining away thinking about whatever it is and second, simply buying what I want and feeling unsure about whether I will be able to afford it. Coincidentally the oversaving from the first has off-set the overspending from the second. However I was left with perpetual uncertainty about how my choices to buy something now affected what I could buy later and whether I was buying what I truly wanted.

Around 2014 I read All Your Worth and made a better effort to really separate out the money I put towards things that I needed, things I wanted, and savings for the future. After doing so for a little while I decided there was a second dimension to spending money besides what you spend it on and that is when you make the decision to spend it.

Most of the needs and savings spending ends up being decided at one time, often rationally with a spreadsheet, and that decision is perpetuated through automatic tools. Examples are picking a payroll deduction percentage for a 401k retirement plan, signing a lease on an apartment with a fixed rent and setting up automatic payments, and even utility bills and cell phone bills are mostly fixed in that you can figure out a monthly average with historical data and consider that amount to be your spending.

After figuring out the needs and saving categories of my budget, I was left with the wants. I quickly figured out that signing up for Netflix, eating out for a restaurant, and buying a new woodworking tool all feel very different even though they are all in the want category. Using the same strategy as I did with my needs and savings, I listed out all the things I had already decided to spend money on like haircuts, streaming media, and house cleaners and considered that part of my wants budget already spent. What was left with was money I was going to decide how to spend on a daily basis. This is the money I needed to manage emotionally.

I needed help managing how I felt about small daily treats like eating out and major hobby purchases that did require some saving. I wanted a way to be conscious in my choices about them instead of continuing to just spend and hope everything worked out. What I wanted was to control small impulsive spending and have that restraint enable me to feel that larger purchases were ok to make. I wanted both discipline and permission to be part of my spending. An obvious strategy would be to use only cash for this spending but cash can’t be used with modern spending like Amazon or Steam and most credit cards give rewards you would miss out on by not using them.

Enter the budget castle. I decided to imitate cash by using plastic poker chips. I would set out a fixed amount each week and when I purchased things, I would take them away to leave me with a physical representation of the money I had left. Of course, being a woodworker, I used a Forstner bit to put some holes in a board to keep the chips stacked and set the board on a spare fabric box to hold discarded chips. I later made a proper one for a friend out of southern yellow pine and its appearance led me to dub it the budget castle because the sections that hold the chips look like the outline of a castle turret and the bin for the chips looks like a moat. I made a run of four of them out of ½” plywood for myself.

Initially I did budgeting monthly but I decided later to do it on an interval of 4 weeks since that gave me a consistent day (Sunday for me) to lay out my next round of spending. This requires a bit more spreadsheet work since a lot of spending is set up to be monthly and it must be converted to weekly when figuring out your initial budget.

budget castle

Using the Budget Castle

The goal of the budget castle is to bring the tangibleness of cash to budgeting and spending decisions without needing to use actual cash or a data-stealing phone app. By not using cash, you can use and manage credit cards with rewards, points in app stores and other ways of spending that are more convenient or give you perks for using them. The compromise is that you have a physical thing you have to remember to update, the budget castle’s chips, but the act of doing that is what adds deliberateness to the act of spending.

The castle also provides a tangible representation of how much you have decided it is ok to spend. This means you can trade off current spending against future spending by making conscious decisions. As an example, you might choose to skip eating out during a cycle and collect leftover chips in order to use them on a vacation in a few months.

However, the castle is not a cash flow tool. The timing of your spending is not considered in the process so you must have the savings available to support that. If you already have several months of spending in a cash account, you can safely use this process. If you do not, you may need to greatly reduce your budget (below) and carefully manage your cash flow for a few months until you do.

Selecting a budget

The castle helps with making decisions about your priorities for spending your money. As such, the most important part of the process is selecting the amount of money you want help with making decisions about on a daily basis. The budget you pick should be the part of your income that you have a choice in how you spend it. Warren suggests dividing budgets into needs, wants, and savings in her book All Your Worth. You can further divide the wants category into those you have decided in advance to pay for, like an upgraded cable package or a spa membership, and those you make decisions about on a daily basis. It is these daily wants decisions that the budget castle is used for tracking.

To select a weekly budget:

  1. Calculate an average weekly income for yourself.
  2. Calculate all your needs and savings categories on a weekly basis and subtract them.
  3. Calculate any wants that you have that you regularly pay for on a weekly basis and subtract them.
  4. The remaining value is the amount you should be free to spend on discretionary wants.

What things to track

Picking what purchases count when tracking is the key to the castle working for you. Pick things you feel you have a choice about because that is what the castle is for: letting you feel good about your spending. We don’t feel good about being forced to do things so all your required spending should be subtracted upfront when picking a budget to represent with the castle.

The budget cycle

A spending cycle for the castle is four weeks. This means that the budgeting doesn’t line up with months but using weeks means you have a consistent day, like Sundays, on which to evaluate your week and reset the cycle if it is time.

The weekly time scale is also easy to think about when making decisions and seeing their effects because we often end up on a weekly cycle of spending eg dining out on Fridays, shopping on Saturdays, etc.

The main cycle

  1. Begin the cycle at the end of a Sunday by loading each column of the castle with chips that represent your weekly budget. You can define the denominations for the chips and the number of each denomination as you like. To start, try white = $5, red = $10 or $20, blue = $20 or $50.
  2. Starting Monday, each day that you spend money on your wants during the week, round the amounts to the nearest $5 and remove chips from the first week’s column and drop them into the bin. You can make change from the bin if you need to.
  3. For the next four weeks, continue to track your spending from the next column. You might have chips left over in a week, but leave them and start removing chips from the next week’s column on Mondays.
  4. At the end of the cycle, write down how much you have not spent. This can be spent in the future and can represent a long-term savings fund.

Advanced things

  • You can borrow chips from another week, typically left over chips from prior weeks but you can use future weeks, if you find yourself spending a lot in one week. Examples might be a large hobby purchase or special dinner. Or if you are spending prior weeks’ chips, your past decisions are enabling you to spend now. This borrowing makes it clear that you are choosing to spend this money now but that has an effect on what you can spend in the future.
  • You don’t have to have the same budget every week. You might find that you like to spend more at the beginning of the calendar month. When loading your castle, you can transfer more chips to that column so you don’t have to do so much borrowing.
  • Instead of saving your leftover chips separately you can roll them forward and add them to a future cycle. If you don’t have a long term saving goal, you can just distribute leftover chips onto the next cycle and spend them as you want in following weeks. You can also do both saving and rolling over.

Disclaimer: I don’t have experience with these practices without enough of a cash cushion that the timing of spending does not matter. In my case that means that all my spending comes off an account that has several months of spending in cash sitting in it. Be very aware that just following these practices won’t necessarily help you avoid carrying a credit card balance or overdrawing your account.

Aug 23, 2021 - No

I’m not interested in privacy tips right now, DuckDuckGo.

Zoom, I appreciate the offer to take your post attendee survey but I’d rather use that browser tab for something else right now.

No Confluence, I do not want to tell you how my publishing experience was. I guess I have to click an “X” to tell you that to get my screen real estate back from your question dialog now. Thank you for letting me know that you meet my minimum expectations by publishing my page when I told you to though.

I agree that the ability to block people in Google Drive is pretty important but I’m disappointed that I have to lose half an inch of screen until I click an “X” to be told about something that should have been part of the original system design.

Docker Desktop, your cash grab and r/assholedesign is now legendary. I look forward to my daily choice between clicking “Snooze” instead of “Skip this update” and killing all my Docker containers and losing my working context.

I genuinely thank you Chrome for your replacement of the options menu with the word “Update” in soft red without taking away any functionality or using any significant space. I really appreciate your thoughtful and non-invasive prompt. This is a rare example of asking me to do something without inserting yourself between me and the work I am trying to do right now.

Among the many things I have to decide today, I don’t think the choice of upgrading a wiki page to the new editor warrants an unclosable strobing purple and green circle in the footer during the entire time I’m making changes to a Confluence page.

It is also my pleasure to inform Apple that they have managed to construct the least reliable computer I have touched since my Windows NT 4 dual Pentium III workstation from 2000. At least when it reboots itself every other week, as it did this morning, it restores all its windows mostly correctly instead of just turning blue and saying “IRQL NOT LESS OR EQUAL”.

Lever, I’m sure the fact that I have not integrated my email and calendar with your service is lowering someone’s KPIs but an undismissable overlay on every page is not a great way to make me care.

And, as a special bonus, thank you Google for the modal “Getting Started” pop-up you showed me as I was collecting my notes to write this post. It is great that you replaced the perfectly adequate Hangouts with some other, probably also perfectly adequate but Totally New, thing that I have to spend time clicking through cheery screens to learn about.

For a week I kept track of all the things that appeared and forced me to deal with them before I could return to work. Somewhere in the past few years I feels like my computer changed from doing work for me to asking me to do work for it.

And in case you don’t see yourself mentioned by name, I’d like to tell you from the very bottom of my heart that I will never want your newsletter.