On confessing I called a suicide hotline … Also! Recursion! Wee!
I’m already breaking my own rules so I am going to be quick.
Holy shit I have no fucking idea how my money situation is going to work out over the next couple of months. I sat down with my budgeting spreadsheets and came up short. Oh boy. Oh shit. Oh fuck.
The ensuing panic attack … friends, I have been to the Shadow Lands and back. I know my Shadow Lands aren’t as dark as other folks’ Shadow Lands. My Shadow Lands are nothing compared to the dark realms other people have to roam in. So don’t pity me — I’m a fucking asshole and I know it.
Still … I’d never been that close before. Did I really think I’d do it? Maybe. Sometimes, ya know, everything is just so overwhelming, and the burdens you’ve been bearing since — fuck — forever are sometimes just so heavy. Sooo heavy. Sometimes, ya know, everything seems really hopeless, and you’re standing in the bathroom in tears with a razor pressed to your wrist because fuck it hurts so goddamn much that you’re sure the permanent passage to the Shadow Lands will pale in comparison. Like I said, don’t pity me. I don’t deserve it. Fuck me and my lack of gratitude.
Maybe it’s that voice that stopped me though. That voice saying, “Man, you’re so exasperating. This is why no one can stand you.” There was another voice — a smaller voice — but it was screaming, “There’s gotta be more — there’s gotta be more!”
That’s why I’m destined to be an excellent programmer. You see, when we push and everything breaks, I’m going to be the one glued to the computer screaming, “No no, we can fix this!”
I called a hotline. Keep that number handy. I’m telling you: If you’re feeling on the edge, call a hotline. I know it seems silly. The words “suicide hotline” sound like some sort of Livejournal title. But do it. Because just hearing someone’s voice can be enough to shake you out of despair.
She gave me some resources for counseling and told me to call once I got off the phone. I wasn’t expecting a city health department to be available on a Sunday afternoon, but they were. My shit is all scheduled, folks.
But, like, honestly? How rad could San Francisco be if tech poured some money into city resources? Can we please do that? WiFi utopia, bitches — it’s totally possible.
So, right — tech. Today I wanted to brush up on recursion because in two different tech interview settings, recursion was the answer. I was also listening to this Songs: Ohia song on repeat. I know — suicide music. Literal suicide music: The band’s steadfast member, Jason Molina, died in 2013 of alcohol abuse-related organ failure.
But he was trying, and “I’ve Been Riding With the Ghost” is the song I listened to over and over again today. You might have noticed that ghosts are one of my recurring creative themes. I’m also obsessed with the idea of being a cowboy. When I listen to this song, I imagine riding a black horse across the desert, desperately trying to outrun demons rising from the very sand.
It seemed like a good setup to practice some recursion.
So this is a really good tutorial mostly because it mentions the words “these rabbits are immortal,” which adds a mystical flair to something otherwise dry.
I decided I wanted to write something recursive that involved the lyrics to “Ghost,” something that appealed to my mysticism and current life situation. Tomorrow is the Big Day. Tomorrow is Day One of my Two Hundred and Twenty-Four days.
Here are the lyrics.
Omg, yesss, they’re in my GitHub, because then I made this.
It doesn’t quite work the way I want it to, and yeah, it’s a mess. I should be commenting shit, but I ain’t, so there!
What it does is it takes the .txt file with the lyrics, opens that file up, breaks it down line by line and then word by word to create a big old list of strings comprised of the song lyrics.
Then it counts a parameter <word>, which, in this case, is “change.” Because: duh. So much change is about to happen.
“None of them could ever love me if they thought they might lose me … unless I made a change.”
Then it counts the number of times the lyrics mention “change” using recursion. I mean, no — it’s not the most impressive use of recursion, but it’s an implementation that’s intriguing and accessible to me. Also I wrote this in an hour. So hah! I’m getting faster!
Using the count returned, the script selects randomized numbers accordingly that correspond to the card IDs in a tarot deck database I made a while ago. You’re ultimately returned a reading of cards.
The code doesn’t quite work. For some reason it cycles through the function tarot_draw twice, producing — in this case — a reading of 10 cards instead of the 5 it ought to be.
Maybe you can figure it out because right now I’m tired and it’s very close to my bedtime and I have every intention of being up at 5am tomorrow because tomorrow is the Big Day.
See ya later, Space Cowboys.