Humans are well overdue for a technological revolution – not a profit-driven one like we’re having now, a human-centric one. Sci-fi is wonderful for having your brain run wild. Over the last century, we’ve had writers try and imagine what world would’ve had looked like if a new technology were to address different aspects of human condition, or, work to undercut us all in yet unseen ways, for a change.
Quite a few leading HaD projects have clear sci-fi inspiration, too, and same goes for a large number of Hackaday Prize entries. Over here, we live for fantasy made reality through skill, wit, and insights.
Ever got a sci-fi-esque dream that you’ve tried to implement with modern-day tech, only to fail because something fundamental was missing about how your phone/laptop/smartwatch functions? You’re not alone here, for sure – this describes a large chunk of my tech journey. In real life, you work with audience-tailored devices, the few fun usecases pre-cooked into the hardware-firmware blob.
Still, how much can you build on top of a consumer device? Alternative OSes that liberate you from the trend of enshittification, for instance, that one’s brilliant and a lifeline for preserving one’s sanity. Alternative platforms that bring a reprieve from a modern combative and ad-filled social media environment, sure. Still, feels limited
How about diary keeping? Personal diaries are really rad, aren’t they? Surely, that one’s a low-hanging fruit?
Betteridge’s Law Breaking
The first “hack on self”-like app I’ve ever built, was a parser/UI for our local public transport company schedules – letting me know when to run for a bus stop. I wanted to reduce resistance, and eventually, even integrate it into a portable device of some sort. I did bring that to a phone of mine, with help of Python SDK for Symbian S60, a wonderful if a little limited framework.
The next app of mine was a diary, encrypted with Blowfish, because that’s what I found a pure Python implementation of. I always tried keeping a diary, in a number of different paper forms, and I always failed in the end. The app though, it was fun, just secure enough to avoid relying on obscurity, and it worked great – for two weeks! It was pretty easy for me to forget about its existence, and every time I wanted to log something, I’d need to log in. Sounds easy? Yeah. In retrospect, I would’ve added a diary entry function before the decryption prompt, because even that small of a delay has backfired.
There’s a somberly fun saying, that with ADHD, a TODO list or a project can last at most two weeks. The diary is where I’ve really felt that one. Here I was, just having touched base with the dream of keeping a diary, and now it’s gone? How does that even work? How is it that I’m out of juice for it, somehow, why is it that opening the diary to make notes was fun two weeks ago, but is a chore today?
No worries, though, the sadness didn’t last long, I avoided learning too much in the moment, and immediately found something else to hack on. Every time I heard about journaling, keeping a diary, an archive, it felt fun, but also a fair bit more unreachable than before. I still wanted it, and, I’ve had my share of sadness to process through.
Or Did I?
Of course, if you’ve failed at building something, one way of processing the resulting sadness is to get distracted by other projects until you’re interested in the goal again, try and remember your mistakes, wait for the perfect conditions, and then build a new system that avoids those mistakes as you remember them.
Now, memories are fuzzy and malleable, so the “lessons from years ago” could be outright false, attention is hard to predict so it could take years to resume a project, and you’d want to reach for some actual insights, but whoops, you’d want some sort of diary to look back at, the whole thing is a chicken-and-egg problem yet again.
We don’t let that get in the way – we just build new stuff, and on average, it magically turns out to be better, because we’re building it differently this time. Really, just how many times can you try the same thing and fail? This time, it will be different! Seriously, it’s been days/months/years, how could it be the same? Keep pulling the lever of one-armed bandit that is project enthusiasm, see if you win the lottery and transform an aspect of your life for the better.
By that point, I had a few points of change filed away. I wanted some sort of daily notifications that’d motivate me to stick with it longer than two weeks, for sure. I also wanted to reduce resistance towards making entries – no more passphrase entry before logging, no more need for decryption. At the time, I spent 24/7 with my laptop on me, so that’s a low-resistance platform’s sorted out. I make it an Alt-Tab away, add regular notifications, should be easy this time.
Tale Of Two Scripts
I recalled one thing – the diary logs were accessible as long as I could remember the password, sure, and at the same time, I was rarely interested in re-reading them. Things changed, because I got a new question, trying to piece together a narrative about myself. How’d my days actually go? Could I draw trends of happiness, productivity, energy, excitement?
This time, I wrote a couple commandline apps with very simple text interfaces. The very first one, poc_1.py
for proof-of-concept 1, used a non-dismissable notification service to poke me once every 24 hours, every morning, asking a very simple question – “how do you feel?”. Wake up, alt-tab into the commandline window, write in how I’m feeling as a baseline, then get up and go about my day.
Really, I wanted my computer to care about me, because it felt like the only entity that possibly would and really could, even, had the energy to. It can be hard to untangle a brain’s inner workings, even though stars know we all try, and my country isn’t known for having quality therapists that are easy to find. So, my computer it is – non-judgmental by nature, giving me space to talk, space of the kind I lacked everywhere else.
The next two poc_N.py
scripts were about logging achievements and problems respectively, into the same logfile used by the poc_1.py
. 10 minutes after I wrote both of them, I realized that they were a carbon copy of each other, and united them into poc_4.py
– a script tailored for me to quickly log any sort of event into a commandline window at a whim.
The aim was very simple – let a stream of thoughts flow as quickly as possible. Type up your thoughts or an event, enter, type another, enter. One letter in the beginning to indicate event type, for rudimentary categorization – the script will remind you if you forget to input it, too. Primarily, I wanted to use it to log my day-to-day achievements and problems alike, but also general thoughts and feelings I wanted to let out.
"day_reflection": "it's been productive. Currently, I feel indifferent, to be honest. [...]"}
What Happened?
Two scripts, one asks me every morning how I’m feeling, and another is a place I can put any sorts of thoughts at any point. I wanted to – how my day went, and how I feel about the previous day. It was also pretty easy to read through the logs, or parse them – my “linebreak-separated json
” strategy remains undefeated.
Every morning, I would wake up, look at my laptop, see a notification, and alt-tab the console window to talk about how I feel first thing in the morning. While writing my feedback, I could look to the side and see the achievements/problems/thoughts of the previous day. It was nice – and it’s still nice to use, even though I’ve definitely had gaps in its use. It wasn’t the nicest part about it!
I realized that my feelings about the previous day had nothing to do with the previous day. Instead, it was defined by how I feel in the morning. My feelings were about how well I slept, what I ate, my dreams in the night, the first thought that came into my mind when I woke up, the last open window on my laptop. My feelings about yesterday were defined by anything except what I actually did yesterday.
It was sobering to be reminded how much my assessments and decisions are influenced by my feelings and state in the moment, rather than a recollection of facts and a weighted assessment of them. A year or two later, I saw this fact in a Twitter thread, described as a piece of common knowledge about life logging as a practice. I don’t think I’ve ever bookmarked it, and, I’m yet to track that thread down again.
Before, I used to put a lot of stock into the feeling of “how my last few days went”. Now, I keep it firmly in mind that I need strong references to make such conclusions. I still have big, months-long gaps in using the diary script, but I have not given up on it, or the idea – it’s not the only insight I’ve gotten from it.
Self: Hacked
So, that was a quick and fruitful finding – we take those. Collecting more data has proven to be helpful yet again, and so has building low-interaction-resistance context-aware systems. What else… a system that taps into feelings, might give you insights you couldn’t even hope for – it’s not like most of us get a solid toolkit to navigate or analyze our feelings day-by-day. Still a few problems left to solve and tricks to try out, and it’s all pretty exciting.
How can I make my diary keeping more consistent? Voice logging option for the days when text’s not as accessible? Building the diary system into multiple places at once, always having new aspects to switch to when one gets boring? Dynamic reminders that catch me exactly when I have some free time to write? More helpful event logging? Those are just a few of the directions I’m pursuing at once.
In the meantime, hacking continues. You’ll see more concepts, new findings, and even some lovely hardware – especially given that a couple other hackers have joined the fight.
Maybe I’m just a cold and without empathy cranky geezer, but I find this to be in the self-flagellation category.
That said, one thing that I learned from a mentor (remember when young engineers were mentored?) over 30 years ago was to keep an engineering log book. Calculations, design assumptions, record of spec changes, test data, management directives, customer discussions, this and all of the other technical and political minutiae that goes with day to day life of being an engineer.
There are also legal reasons to keep such engineering notebooks on a paper logbook, and to NOT keep logs of personal stuff, electronic or otherwise. ‘Diaries’ can dangerous. Discuss personal feelings and aspirations with your SO or your doggy; do not put it in a logged ‘diary’.
Yep, I agree …..
Diaries Are Dangerous
, but, in my own case not half as dangerous as if I did not have some kind of outlet for stuff that goes wrong . I only write something when something truly eventful happens and none of the every day boring stuff at all. Most of it is filled with events surrounding the people I work with, particularly the behavior of the more senior people. Mostly, it helps me work out which ones can be trusted and what their limitations are and even identify if any are actually toxic. It can easily be kept safe on Github and having a version history could be useful if the shit were to ever hit the fan. Ultimately, it helps me assess very accurately what the risk levels are – for example how much you can take the mick out of any particular person without them getting offending and how fragile any individual’s ego is. Writing stuff down also trains my brain to do all this stuff automatically and divert much more attention and energy to people watching.These longer format entries are cool. Thanks for sharing and keep hacking away.
I’m loving the gonzo journalism feel to these. Maybe that’s because I relate to the struggles so far. This one was more minor but I saw you described cleaning up your unsorted box as ‘put most away’ and ‘sorted some things, looked through others’ man if I don’t have that problem.
I start cleaning stuff up to make the little electronic bits look not so messy and I end up with a pile of bits that I completely forgot I meant to do something with. So much for organizing anything other than into piles of more or less important at the moment.
Sometimes it balloons into ‘I found the one piece I looked for recently, now where did I put that other thing?’ So I end up tearing apart any semblance of organization looking for it. O the struggles of my disorganized add.