For the past couple of nights I was able to sleep for 3 consecutive hours. That’s a big improvement for me. I didn't violently scratch myself awake; I didn't spend all night in the weird liminal space of not being sure if I slept at all. It's amazing what modern medicine can do when you can actually have it.
I think if I can keep taking this medication for another month I can finally get a full night's rest. The retail price is over $6000/month, so that means I have to have a job that either pays me enough for some part of that $6k or includes good insurance. There is some level of income between the poverty line and $50k/yr where I lose access to this medication, go back to eczema prison, and inevitably lose that job as my health descends again. At least when I’m unemployed and zero’d out I know I’ll keep my access.
Based on my work history and experience, my best bet is to get another programming or sysadmin job. The problem is, years of being trapped in the atopic triangle of allergies, asthma, and severe full body eczema, I’m not as productive as I used to be. That’s an understatement. My memory is shot, I have trouble with executive function, and the three or so hours of sleep I do get hasn’t been enough to restore my cognitive abilities yet.
I'd argue I'm not fully well yet, but the state and society disagrees . Years of pursuing disability was fruitless, so I have to get a job soon or figure out how to get healthy while homeless.
Honestly I do want to work. It's frustrating to have the knowledge and skills to make a positive impact on the world but not being able to because I can't afford the luxury of not being sick. Ideally I wish to stick to my values and not enable the distraction industrial complex that is harming society, but I can't be choosy right now; I'm officially desperate. So my minimum ask is to have a job where I can afford my medication.
Desperation doesn't mean I don't have a talent for programming and other technical work, but admitting it is just asking to be taken advantage of or ignored. I maintain this silly secret identity (citizen eight) because getting a job if you don't already have one seems to require not disclosing any disabilities or limitations, pretending you're up for any task right now, and getting your friends to be fake references for you to hide that auto-disqualifying work gap.
In real life I haven't worked in tech in over a decade. I don't want my job seeking efforts (so far fruitless) to be sabotaged by a blog. I don't have much faith in real me getting a job as-is, especially since I'm competing against people who get in excess of 5 or more hours of sleep, so my secret identity is a hedge against the improbable odds I face as the foreign sounding name with a huge resume gap employers view me as.
In the short term, tools like github Copilot will greatly reduce the need for programmers, but in the even shorter term it enables me to be somewhat productive in my diminished cognitive state. That’s the theory anyway. The last non-trivial bit of software I worked on was a shell script to help automate anything I do with my computer. At the time it was enough to make it possible to maintain my linux install, journal everyday, and keep up with the many small tasks that are difficult with diminished executive function. Without Copilot, in my current state I don’t think it would be possible to re-create this software from scratch.
To see if I can still code, I decided to create a simple streak tracking program with Copilot. I started with some variables and a comment detailing the sort of logic I’ll need:
#!/bin/bash
# testing co-pilot
work_dir="$HOME/_p/bash-dope"
task="write-and-code" # no spaces, used for filenames
tasking="writing and coding" # "good for you, consistently $tasking"
app_to_run="vim"
streak_file="$HOME/.config/$task.streak" # format: 1 line of date, streak
stats_file="$HOME/.config/$task.stats" # format: multiple lines of date+time, streak
# this script tracks how many times you run the above app.
# if you run it at least once a day, it will increment your streak.
# if a day is missed, the streak will be reset to 0.
# if you run it 7 days in a row, it will print a message "yay you did it"
# if you run it 30 days in a row, it will print a message "wow amazing keep going"
# streak will be stored in a file called app_name.streak
# with this format
# time app opened, current streak count
# yyyy-mm-dd hh:mm, n
With that, the rest of the program came together in two hour-long sessions of work. If I wasn’t so damn itchy during the first session I probably could have finished it in one. For the most part, Copilot was very helpful. The workflow was to write a comment of what I wanted to do next and start typing what I think is right and my text editor would suggest some code via Copilot.
As an experienced but rusty and sleep deprived programmer, Copilot mostly worked for blocks like this:
# itterate streak IF todays date is not the same as the last run date
if [[ $today_date != $last_run || $first_run -eq 1 ]]; then
streak=$((streak+1))
#update streak and stats
echo "$(date "+%Y-%m-%d"),$streak" > $streak_file #overwrite
echo "$(date "+%Y-%m-%d %H:%M"),$streak" >> $stats_file #append
fi
but it also made obviously wrong suggestions like this:
# iterate streak
streak+=1
That’s not even valid bash syntax. Time-wise, it was a good trade-off since off the top of my head I don’t have the date arguments memorized and bash control structures are different enough from every other language I’ve ever used that I have to look it up every time I do it. Essentially Copilot allowed me to write code without having to open a web browser to grep for examples.
With the brain I’m working with, Copilot made this line possible in a few seconds instead of a 15 minute web spelunking session that would have probably ended in checking my e-mail.
echo "$(date +%Y-%m-%d:%H:%M),$streak" > $streak_file
Copilot can help an experienced programmer be more productive, but it’s not going to grant your boss’s wish of firing everyone and replacing them with a couple of interns. The program works in the sense that it runs without errors, unfortunately the logic is wrong. It doesn’t reset the streak to 0 if you miss a day! I didn’t catch this until I made a list of test cases to run through. I guess even on virtually no sleep I can be productive. The trick is now is somehow convincing someone of that while other AI tools are used to actively filter out candidates like me.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.