Hack On Self: The Alt-Tab Annihilator | usagoldmines.com

Last time, I told you about a simple script I made to collect data about my laptop activity, talked about why collecting data about yourself is a moral imperative, and shared the upgraded script with you alongside my plans for it. Today, I will show you a problem I’ve been tackling, with help of this script and the data it gives, and I also would love to hear your advice on a particular high-level problem I’m facing.

Today’s problem is as old as time – I often can’t focus on tasks I badly need done, even ones I want done for myself. This has been a consistent problem in my life, closing off opportunities, getting me to inadvertently betray my friends and family, hurting my health and well-being, reinforcing a certain sort of learned helplessness, and likely reinforcing itself as it goes, too.

It’s deeply disturbing to sit down fully intending to work on a project, then notice no progress on it hours later, and come to a gut-wrenching realization you’ve had hundreds of such days before – I think this screws with you, on a fundamental level. Over the years, I’ve been squeezing out lessons from this failure mode, making observations, trying out all sorts of advice, in search of a solution.

Join me today in non-invasive brain augmentation and reprogramming, as I continue trying to turn my life around – this time, with help of my laptop, a computer that I already spend a ton of time interfacing with. Ever notice that starting work on a task  is often the hardest part of it? It’s the same for me, and I decided to hack away at it.

Staying On Track

As you might recall from the last article, I wrote a program that produces a stream of “currently open window” data – which is a good proxy for “what I’m doing right now”. That looks like a good start for figuring out when I’m planning to do a specific task and end up doing something else entirely!

Starting small, what kind of specific problem could I solve here? Let’s see. There’s a difficulty jump when I’m starting certain kinds of tasks (like writing articles!), but the difficulty lowers a fair bit once I’ve been typing for a few minutes. In that crucial time, it’s way too easy for me to Alt-Tab and get distracted, and not just then – I also become more distractable when I stumble upon a hard-to-write block of text. As you might imagine, Alt-Tabbing when things are hard is the undesirable kind of habit to develop, and I’m concerned that this habit is priming me to give up early when I’m struggling. It’s definitely not the kind of brain wiring I ever wanted to have!

I don’t even notice when I Alt-Tab away from a task I’m not yet focused on. It’s not a conscious reaction – instead, it’s more like a split-second reflex. This concerns me – Alt-Tabbing from a hard task is not something I genuinely think I should do, it’s more of a coping mechanism, and an effective one at that.

how to quickly build helpful tools that are easy to use? consider this.

The idea to fix this problem was simple – making noises into my headphones when I Alt-Tab into something I’m not supposed to Alt-Tab into, and stopping the noises once I’m back on track, very rudimentary negative feedback. I already rely on headphones to listen to music and videos as I write, so that’s the actuator sorted out.

As for classification, I could classify the windows as I went about it, using hotkeys – unknown windows resulting in a noise by default, requiring me to whitelist windows manually. Whitelisting makes the most sense – there’s an infinite amount of possible distractions, and a limited amount of windows I want to be focused into. An important project was upcoming, and I couldn’t afford to fail it, so I switched into “I must have this ready today” mode and finished it in an evening’s time.

A lot of required building blocks, were things I already had developed by then – for instance, it’s best for me to monitor hotkeys using direct evdev input, instead of DE-provided mechanisms, which are limited, and I had enough code for it written already. As for audio, the usual import pygame trick everyone uses to play short audio clips from Python, was nowhere near quick enough, and didn’t even really let me control audio playback. Instead, I wrote a small proof-of-concept library using gstreamer to play audio files on a whim. I pilfered an online sound effect library a little, arming myself with files like Siren.wav, Martian Scanner.wav and Alarm Alert Effect.wav, then glued the building blocks together, added a simple task tracking system on top, and got a working prototype.

The algorithm currently is simple and effective. Press a hotkey to start a new task or resume a previous one – a task contains a list of “good” windows, and optionally a list of “bad” windows. There’s a global whitelist of known-good windows, containing mostly window titles like New Window – Firefox and Save As. When I open a new window, the system starts beeping at me within half a second – giving me immediate feedback that my Alt-Tab was perhaps uncalled for. As it’s beeping, I have the option to either whitelist a window for this specific task, or blacklist it – the whitelisting stops the beeping immediately, and the latter raises the beeping noise intensity next time I switch to the window again. As I’m working Alt-Tabbing between windows I need, the workplace is, and whenever I switch to a blacklisted window, I instantly get a notification that this particular window switch is not something I want myself to be doing.

Hotkeys are focused on the right side of the keyboard, using right Ctrl and AltGr – an underutilized hotkey space.

Hotkey input, audio output – the system ties into the “flow” state pretty damn well, as long as I am wearing headphones – they are required for this specific augment program. And thankfully, I wear my headphones 24/7 already. Of course, I had to make the algorithm less obtrusive – make the relationship between “current window” and “what I’m doing right now” into a more direct one.

There’s a few heuristics I’ve added, that “normalize” the window name – for instance, Notepad++ adds an * in front of the title if you haven’t yet saved the document, which makes the window title change every time you save your text file, Discord, Gmail and YouTube append unread notification numbers in front of the tab (each in their own way), and GIMP puts the currently open image resolution in the title, which results in plenty of beeps as I’m resizing article images for Hackaday articles. Also, I ended up adding a few of my closest friends’ nicknames into the global whitelist – people I want to make sure I always pay attention to.

Does it Work?

Exceptionally well – I just used this system to write the very words you’re reading, this entire article, and many articles you might’ve read before. The audio files seem to lose their effectiveness over time, but I’ll soon be trying out swapping the files to a different sound – it’s not like there’s a shortage of siren sounds online. As you might noticed, in the end, I’ve built something like Windows Recall, except my program is a thousand times simpler, to its benefit. It is also consensual, open-source, and it actually does something directly useful for me, not to mention that it does not capture any passwords or private messages by accident.

I’ve been using this script for the past few months’ time, and my life is notably better nowadays because of it. Sometimes it’s finishing an article where the conclusion can’t quite seem to come into words, sometimes it’s pushing myself through writing a tricky email I must send out, and sometimes it’s staying in a chatroom with a friend helping them as they’re dealing with some emotional turmoil. Alt-Tabbing away from these situations never helps me or anyone else, somehow, it’s a reflex I ended up with, and I’m hell bent on rooting it out. Slowly, over time, it helps me re-align my life in the way I always wished it to be.

One thing I’ve noticed over time – this project focuses mainly on negative reinforcement. I don’t want to lean into negative reinforcement – it has notable negative consequences. For me, I often don’t want to switch into “task” mode when I’m supposed to work on something. This means that I have to look for various ways to add positive reinforcement sources to my life, and, I’m coming up short. I’ve also noticed that I rarely ever blacklist windows – instead, leaving the even distracting ones in the “beeping” state; associating a distraction window with a more-intense beep is not something I can quite teach myself to do automatically, somehow, even though I adore everything else about the system. There absolutely are methods of positive reinforcement that can work, so not tapping into that feels like a major waste.

I want to ask you all about positive reinforcement – it’s something I am a little baffled about. I strongly suspect that a cultural layer is missing here, because it feels so much easier to think of methods for negative reinforcement than positive reinforcement. Is it that my culture doesn’t treat positive reinforcement with the respect it deserves, or did I get trapped in a self-reinforcing loop because I only knew to put points in a specific skill tree? Maybe a mix of these two, maybe something else, the outcome here is the same – I struggle to come up with positive reinforcement methods, and today’s augment reflects it.

Positive Reinforcement: Gamification?

We have quite a few shining examples of positive reinforcement done right, like videogames – they rely a ton on it, at their core, tapping into fundamental human drives I didn’t even know I had. Some do it a little too well, usually, when money gets involved.

There’s a wealth of material on just how much focus you can extract from someone – the video above is a good introduction. Modern-day mobile games are a well-known offender, to the point where smartphone gaming companies hire behavioural psychology researchers, who then get paid to figure out ways of capturing our attention and converting it into money, hijacking the brains of people most susceptible. The consequences of the mobile game microtransaction-backed reinforcement loops are pretty daunting, and have a close parallel with gambling – from people pushed to recklessly spend their money, to increased suicidality and depression, and most often, significantly reduced ability to achieve tasks in day-to-day life. Remember the perils of external data collection? Once again, large entities wield significant power over us, in ways we barely discuss, and we get none of the benefits – even though we could benefit tremendously if we started to use the same methods.

honestly, I just want this kind of menu, but for tasks that actually benefit me

Videogame-tailored methods sure work well on me, in particular – I’ve spent dozens upon dozens of hours in videogames, feeling pretty fulfilled in life as I go through a list of in-game tasks, or perfect a level time after time. It’s not an unpopular topic, either – you’ll find quite a few open-source solutions trying to tap into it. Where’s my own quest menu, and why can’t I have a quest progression system for my real-life tasks? Why is this system of positive reinforcement reserved to virtual stories that I will forget in a year’s time?

I’ve only started learning about all the yet-unexplored ways of positive reinforcement harnessing, and there’s a ton of them that could work pretty well, and I keep discovering new options – just that they’re harder to think of. Audio feedback works for me well when it comes to noticing unwanted Alt-Tab presses – what about figuring out when I’m doing well, and giving me audio feedback on it too? Tracking time spent in whitelisted windows, together with monitoring typing speed, the system could put pleasant sounds in my headphones as long as I’m focused, reminding me that I’m on the right track, or maybe provide a summary right after. Could this help, or would it be distracting? Can’t know until I finally try them out, one by one.

What about keeping a running-tally summary of what I hack on, and perhaps creating some sort of “streak” or “levelling” system? Maybe, each morning, giving me an overview on how my days went? I’ve written a “productivity calendar” program before, a generator of printable PDFs for each month. Every day, I’d try and write in my day-to-day tasks with a ballpoint pen.

“Productivity” is not a word I use anymore – I find it tainted, typically aimed at you from the outside world. Today, I’d call this a “hacking calendar”.

It largely failed to uphold itself – the A4 sheet of paper and a pen were easy to lose track of, given how I move from place to place all the time. It would be pretty simple to repurpose this script, however, putting task summaries into the empty boxes and regenerate it every hour. Say, I have this summary generate & open automatically each morning, right after I wake up – could it help? What about adding messages from the past into the mix? I’m probably jumping ahead a bit too much here – this one’s a whole self-hacking topic of its own.

Once again, sadly, I have committed the sin of not collecting enough data over time – this program, too, needs to grow an API. The bringup of my software stack has been pretty recursive, in a bad way, aimed at solving exactly the problems preventing me from working on it – an uphill climb with no peak in sight. Seems like I really ought to forgive myself for this journey taking years. Exploring new ground, with what feels like barely enough language to describe it, is not a pleasant process, but today’s Alt-Tab Annihilator program has helped me gain a strong foothold that felt long overdue, and it helped me spot a fundamental weakness in the way I learn, too.

Thankfully, I know that I can ask advice from your all. What’s your experiences, ideas, and opinions on positive reinforcement methods? What kind of positive reinforcement methods do you use for yourself, or wish that someone explored?

 

This articles is written by : Nermeen Nabil Khear Abdelmalak

All rights reserved to : USAGOLDMIES . www.usagoldmines.com

You can Enjoy surfing our website categories and read more content in many fields you may like .

Why USAGoldMines ?

USAGoldMines is a comprehensive website offering the latest in financial, crypto, and technical news. With specialized sections for each category, it provides readers with up-to-date market insights, investment trends, and technological advancements, making it a valuable resource for investors and enthusiasts in the fast-paced financial world.

Recent:

Winamp Taken Down: Too Good For This Open Source World Jenny List | usagoldmines.com
Module Makes Noisy Projects Easy Al Williams | usagoldmines.com
Clockwork Derby: Digital Robo Rally, Steampunk Style Heidi Ulrich | usagoldmines.com
FLOSS Weekly Episode 805: Mastodon — Bring Your Own Algorithm Jonathan Bennett | usagoldmines.com
Keebin’ with Kristina: the One with the Folding Butterfly Keyboard Kristina Panos | usagoldmines.com
Tech In Plain Sight: Tasers Shooting Confetti Al Williams | usagoldmines.com
Linus Live-Codes Music on the Commodore 64 Elliot Williams | usagoldmines.com
Arduboy Cassette Award Explores New Features Tom Nardi | usagoldmines.com
An Arduino Triggers a Flash With Sound Jenny List | usagoldmines.com
Assessing Developer Productivity When Using AI Coding Assistants Maya Posch | usagoldmines.com
Solve: An ESP32-Based Equation Solving Calculator Dave Rowntree | usagoldmines.com
A Phone? A Ham Radio? Relax! It’s Both! Al Williams | usagoldmines.com
Your Battery Holder Is Also Your Power Switch With ToggleSlot Dave Rowntree | usagoldmines.com
Experimenting with MicroPython on the Bus Pirate 5 Chris Lott | usagoldmines.com
Mapping a Fruit Fly’s Brain with Crowdsourced Research Maya Posch | usagoldmines.com
Breaking News: 2024 Supercon SAO Contest Deadline Extended Elliot Williams | usagoldmines.com
ANTIRTOS: No RTOS Needed Dave Rowntree | usagoldmines.com
Modular Magnetic LED Matrix Danie Conradie | usagoldmines.com
What Actually Causes Warping In 3D Prints? Dave Rowntree | usagoldmines.com
A RISC-V LISP Compiler…Written In Lisp Dave Rowntree | usagoldmines.com
New Study Looks at the Potential Carcinogenicity of 3D Printing Dan Maloney | usagoldmines.com
The Greengate DS:3 Part 2: Putting a Retro Sampler to use Adam Fabio | usagoldmines.com
Solving a Retrocomputing Mystery with an Album Cover: Greengate DS:3 Adam Fabio | usagoldmines.com
Calculating the True Per Part Cost for Injection Molding vs 3D Printing Maya Posch | usagoldmines.co...
The Biological Motors That Power Our Bodies Maya Posch | usagoldmines.com
Using the 555 for Everything Bryan Cockfield | usagoldmines.com
Alphabet Soup: Haskell’s Single-Letter Naming Quirks Heidi Ulrich | usagoldmines.com
Portable Pi Palmtop Provides Plenty Jenny List | usagoldmines.com
DIY 3D-Printed Arduino Self-Balancing Cube Heidi Ulrich | usagoldmines.com
Hackaday Links: October 13, 2024 Dan Maloney | usagoldmines.com
A Homebrew Gas Chromatograph That Won’t Bust Your Budget Dan Maloney | usagoldmines.com
Bad Actors Selling Deepfake Tool To Bypass Crypto Exchange Security Protocols, According to Cybersec...
Retro Wi-Fi on a Dime: Amiga’s Slow Lane Connection Heidi Ulrich | usagoldmines.com
Building An Automotive Load Dump Tester Dave Rowntree | usagoldmines.com
Levitating Magnet In A Spherical Copper Cage Danie Conradie | usagoldmines.com
A VIC-20 with no VIC Al Williams | usagoldmines.com
All System Prompts for Anthropic’s Claude, Revealed Donald Papp | usagoldmines.com
Solar Planes Are Hard Danie Conradie | usagoldmines.com
Remembering John Wheeler: You’ve Definitely Heard of His Work Donald Papp | usagoldmines.com
Thousands Drained From Elderly Man’s Bank Account in Sophisticated ‘Hi Dad’ Email Scheme As Lender R...
Cockroaches in Space: Waste Processing and a Healthy Protein Source Combined Maya Posch | usagoldmin...
Three US Banks Reveal Data Breaches, Exposing Hundreds of Customers’ Personal and Account Informatio...
Wells Fargo, Bank of America Customers Lose Thousands of Dollars To Bank Impostor Scams – How One Vi...
Approximating an ADC with Successive Approximation Al Williams | usagoldmines.com
US Bank Customers Deposit Fake $100 Bills As Police Issue Warning on Counterfeit Cash: Report Daily ...
If You Can’t Say Anything Nice Elliot Williams | usagoldmines.com
Have You Heard Of The Liquid Powder Display? Jenny List | usagoldmines.com
What’s Your SWR? Are You Sure? Al Williams | usagoldmines.com
Are CRT TVs Important For Retro Gaming? Dave Rowntree | usagoldmines.com
PC Floppy Copy Protection: Vault Corporation Prolok Jenny List | usagoldmines.com
Repairing a Component on a Flex Connector Al Williams | usagoldmines.com
How To Make Conductive Tin Oxide Coatings On Glass Lewin Day | usagoldmines.com
C64 Gets a Graphics Upgrade Courtesy Of Your Favorite Piano Manufacturer Lewin Day | usagoldmines.co...
Hackaday Podcast Episode 292: Stainless Steel Benchies, Lego Turing Machines, and a Digital Camera M...
The US’s New Nuclear Weapons, Mysterious Fogbanks and Inertial Confinement Fusion Maya Posch | usago...
This Week in Security: The Internet Archive, Glitching With a Lighter, and Firefox In-the-wild Jonat...
Easily Program RP2040 Boards With Your Android Device Lewin Day | usagoldmines.com
Tiny Drones Do Distributed Mapping Danie Conradie | usagoldmines.com
Symbolic Nixie Tubes Become Useful For Artistic Purposes Lewin Day | usagoldmines.com
77,099 Americans Exposed As Financial Giant Leaks Private Customer Information, Discloses Data Breac...
10th-Largest US Bank Paying $3,100,000,000 Fine in Historic Admission of Guilt After Criminals ‘Dump...
Sailing the High Steppes Navarre Bartz | usagoldmines.com
A Power Supply With Ultra High Resolution Current Measurement Built In Lewin Day | usagoldmines.com
Building A Sound Camera For Under $400 Lewin Day | usagoldmines.com
Supercon 2023: Receiving Microwave Signals from Deep-Space Probes Lewin Day | usagoldmines.com
Photochromic Dye Makes Up This Novel Optical Memristor Dan Maloney | usagoldmines.com
Meet The Optical Data Format You’ve Never Heard Of Before Lewin Day | usagoldmines.com
The Internet Archive Has Been Hacked Lewin Day | usagoldmines.com
Wimbledon Goes Automated Al Williams | usagoldmines.com
The Punched Card Detective Al Williams | usagoldmines.com
Revolut Says Company Has Prevented $621,880,000 in Potentially Fraudulent Crypto and Fiat Transfers ...
On-Site Viral RNA Detection in Wastewater With Paper and Wax Microfluidics Maya Posch | usagoldmines...
3D Printed Bearings With Filament Rollers Danie Conradie | usagoldmines.com
Fail of the Week: The Case of the Curiously Colored Streetlights Dan Maloney | usagoldmines.com
FLOSS Weekly Episode 804: The AI Alliance — Asimov was Right Jonathan Bennett | usagoldmines.com
Lagrange Points and Why You Want to Get Stuck At Them Maya Posch | usagoldmines.com
Braun TS2 Radio Turns 68, Gets Makeover Al Williams | usagoldmines.com
Dot-Matrix Printer Brings Old School Feel to Today’s Headlines Dan Maloney | usagoldmines.com
What Happened to Duracell PowerCheck? Al Williams | usagoldmines.com
That’ll Go Over Like a Cement Airplane Al Williams | usagoldmines.com
$14,000 Drained From Wells Fargo Account in Alleged Chemical Con Job – Bank Says ‘Your Money Is Gone...
Soaring at Scale: Modular Airship Design Heidi Ulrich | usagoldmines.com
A Flip Digit Clock, Binary Style Jenny List | usagoldmines.com
Mechanical Tool Changing 3D Printing Prototype Al Williams | usagoldmines.com
3D Printering: Listen to Klipper Al Williams | usagoldmines.com
Recycling Tough Plastics Into Precursors With Some Smart Catalyst Chemistry Lewin Day | usagoldmines...
Running Game Boy Games On STM32 MCUs is Peanuts Maya Posch | usagoldmines.com
Printed Rack Holds Pair of LattePandas In Style Tom Nardi | usagoldmines.com
Barbie’s Video Has Never Looked So Good Jenny List | usagoldmines.com
GPS Tracking in the Trackless Land | usagoldmines.com
Using Donor Immune Cells to Mass-Produce CAR-T Autoimmune Therapies | usagoldmines.com
Internet Service Giant Says 237,703 Customers’ Social Security Numbers Exposed in Major Data Breach ...
The Piezoelectric Glitching Attack | usagoldmines.com
The Turing Machine Made Real, In Lego | usagoldmines.com
JawnCon 0x1 Kicks off Friday, Tickets Almost Gone | usagoldmines.com
Vehicle-To-Everything: the Looming Smart Traffic Experience | usagoldmines.com
First Benchies in Stainless Steel, With Lasers | usagoldmines.com
WiFi Meets LoRa for Long Range | usagoldmines.com
2View: The Self-Erasing VHS Tape With Paperclip Hack | usagoldmines.com
3D Printed Hydrofoil Goes From Model Scale To Human Scale With Flight Controller | usagoldmines.com

By

Leave a Reply