Whoa... where am I
So I haven't really been making any posts. Where have I been?? Well, I've had a lot of things going on in my life, not the least of which is my new amazing therapist helping me figure out some things, like why I set such a ridiculous standard for myself when it comes to basic things like "worthiness to be alive," a standard I don't hold others to at all.
But I've been up to a lot... I'm learning the fugue of BWV 848 on the piano, and I've finally gotten through the first page! I'd forgotten how handy fingering recommendations can be... more often than not, I keep trying to play a passage only get to get tripped up no matter what I try, and then I notice the recommendations to use 2-3-5 for chord X, which makes the next notes easy to cross over into with the thumb; or, I realize too late that I'm meant to use the other hand for half of chord Y. ;D If you're going to listen to it, I recommend Andras Schiff's rendition, though Richter has a fabulous interpretation that is unbelievably clear and haunting, if a little slow.
I've also been working on a dopewars clone for emacs-lisp. It's far from finished, and I have a lot more completed that I haven't committed yet (still working out bugs) but it's been a blast learning more emacs-lisp and, in the process, relearning how to read C, since the original dopewars game is written in C and some of the code is cryptic at best. I'm having a lot of fun with lisp, trying to learn some Common Lisp and Scheme/Guile on the side, and I have to say, lispy languages are making me so happy. My favorite thing I've written is this, because it's so functional and even in one case recursive:
(defun dope-gen-drug-price (drug) "Take vector DRUG and create drug price within range." ((lambda (min max) (+ min (random (- max min)))) (elt drug 1) (elt drug 2))) (defun dope-get-loc-drug-idxs (id) "Return a list for location ID, with N elements, where N is a random number between the selected location's min-drugs and max-drugs numbers. The resulting list should contain, in order, a random selection of drug indices by use of dope-filter." (dope-filter (number-sequence 0 (1- (length *dopewars-drugs*))) ((lambda (min max) (+ min (random (- max min)))) (elt (elt *dopewars-locations* id) 1) (elt (elt *dopewars-locations* id) 2)))) (defun dope-get-here-drugs (drug-indices) "Take a list of drug indices and return a list of here-drug entries, consisting of cons-cells of the drug index and the price." (mapcar (lambda (i) (cons i (dope-gen-drug-price (elt *dopewars-drugs* i)))) drug-indices)) (defun dope-filter (lst goal) "Remove random elements from list LST until it reaches GOAL length." (if (= goal (length lst)) lst (dope-filter (remove (elt lst (random (length lst))) lst) goal)))
I got so swept away with the amazing power of anonymous functions that I went ahead and got a tattoo of a lambda. My first tattoo ever, would ya believe it.
My friends have been very supportive of me lately. I think I've been sending bad signals, like, hella suicidal signals, which to be fair I have been. But I've been getting a lot of hugs and texts out of nowhere saying how much they care about me... it's tempting to dismiss them but instead I just cry and thank them and bring in cookies to work for them to eat. I don't like it when people are worried about me, according to my therapist b/c nobody seemed to worry about me at all when I was younger, and I got it in my head that I'm never the one who should be worried about.
I should probably stop reading YA novels about eating disorders and suicide, but there's only so much self-control I can practice, especially when I'm starting on a strict diet and exercise regimen with my best friend. We'll see how that action goes, yo. I hope I'll update more often in the future, just because I want to get my thoughts down.