Salta al contenuto principale


Hack On Self: How’d My Day Go?


28207069

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?

28207075

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.

28207079

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.

28207081

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.


hackaday.com/2024/12/13/hack-o…