When I started this blog I intended to leave programming for medicine fairly soon. After a long medical leave that let me recover from burnout, I realized that programming is actually a really valuable skill and before I throw it away and spend several years in school, I should see how far it can take me towards my goals. My goals are unchanged (mostly around nutrition and mental health, but with some bonus input from Effective Altruism), but maybe there’s a better way I can contribute.
Eventually this means founding or joining a company working on something I care about, but I’m still not capable of consistently working sufficient hours to work with other people. But I can play on my own projects with no coordination costs, so I started learning to program for android. Meanwhile on the health end, my nutritionist informs me there are states of hunger between “unpleasantly bloated” and “would shank an infant for juice” that are useful to experience, and that the first step to achieving that is tracking my hunger consciously. She meant with pen and paper, but I am an engineer, so I wanted something on my magic pocket computer to do it for me. I’m sure something exists on android that would do this, but I couldn’t find it, so I did the logical thing and started developing my own.
Thus was born the Hunger Tracker app. Here is my dream feature list for Hunger Tracker:
- Alarm goes off at pre-set or random times (your choice), to shut it off you enter a number between 0 and 9, representing your fullness level.
- Timestamp + fullness level data is dumped…somewhere, I don’t know. A google docs spreadsheet would work for me but there’s probably other services I should integrate with.
- UI not actively offensive
Here’s what version 0.1 does
- No alarm, user must manually call up app.
- User enters number in ugly ass UI. Actually user can enter any arbitrary string, but don’t, it will break the retrieval.
- User can retrieve first 10 numbers entered. Any further entries are skipped, if there are too few entries the last one is repeated.
- It’s a debug build rather than a release build because Android Studio won’t produce a working release build and fixing that is not at the top of my priority list.
If you are interested, you can download version 0.1 here and install it the usual way for non-market apps. If you are spectacularly interested, you can check out the source code at github. Comments are extremely welcome
My next step is not actually features, but testing, which I will explain in the next entry.