[As a sort of general rule, I don't tend to write about really personal stuff on here. Then again, I also don't write much at all in the first place, so here, have a highly personal post about gender stuff.]
As Thanksgiving approaches, I've reflected on that whirlwind of events comprising this past year, and there really is a lot I can be thankful for. I have had a lot of great experiences lately, but I have also put up with a lot of crap, and really, as backward as it might sound, that's what I should be thankful for the most.
In particular, I would especially like to thank Darkly for ditching me and running off to marry someone else right after co-signing a lease, thus leaving me alone in an unfurnished apartment. This probably sounds sarcastic or facetious, but I am being completely serious.
I was more or less stuck in this apartment with no money, no internet access, no friends, and practically nothing to do, and so I had copious time to analyze myself, scrutinize myself, consider my direction and however-vague life goals, and by and large, beat myself up for not having accomplished pretty much any of them. Being financially drained and recently dumped added a lot of stress, and not being able to properly talk to anyone added to that stress – and maybe I needed that.
Let's back up to about eight or nine years ago.
Many years back, some time in the early 2000s, I began to come to terms with the fact that I might be transgender, but at the time these feelings and tendencies were not prominent enough for me to put much thought into them. I eventually wound up joining the military, and shortly thereafter it became clear to me that this was actually a terrible decision, as the amount of testosterone that I'd exposed myself to in doing so, along with the stresses of basic training and then a deployment (as cake as that deployment was, in some respects) kicked that gender dysphoria out from under the rock where it'd been hiding very well up until that point. Stress amplifies dysphoria; dysphoria in turn elevates stress. It's a tight and remarkably powerful feedback loop.
I ended up reading up on a ton of trans stuff then, but while I was in the military there wasn't much I could do without winding up discharged (and losing all my GI Bill money) – or worse, tossed into a psych ward. I was planning on finishing my degree and transitioning when I was fully discharged rather than trying to pursue anything after I was out of active duty, but any semblance of a plan that I might possibly have had went right out the window when I got into ponies.
Fortunately, though, the fandom friends I'd made helped to serve as sort of a safe haven for me to explore fragments of gender non-normativity: a necklace, a bracelet, hijacked skirts, painted nails. This adjusted my comfort baseline in profound ways, such that when I was more or less hurled back to a "normal" life of going to work and back to a dull, empty apartment, I found myself thinking about some rather dark stuff. In what was probably a wise move, one day I gathered all of the sharp objects I could find and locked them in the glove box in my car. Thanks to the military for that suicide awareness and prevention training! (I'm not even sure if that sentence is sarcastic or not.)
Ultimately, this was my catalyst. I had been discharged completely by this point, and while my financial situation was far from ideal and my near-term outlook wasn't particuarly hopeful, it was becoming obvious that things weren't getting any better. After copious amounts of research on transgender hormone replacement therapy, I placed an order on a rather shady-looking online pharmacy that had nonetheless confirmed as reputable by a number of people.
Within a couple weeks of getting on HRT (August 29, in case anyone's interested), I was already noticing that although the world was the same, I just felt a lot better about everything. It became easier to shrug off minor annoyances that previously irritated me, or to take a deep breath and relax if something made me mad. I started rediscovering emotions other than anger, flatline, and fleeting amusement. I like myself. It's pretty cool.
◆ Storlek, 16 Nov 2013 at 6:46pm ◆ 3 comments
◆ Storlek, 16 Sep 2013 at 3:55pm ◆ No comments
Q: Why are there so many Python micro-frameworks for web development?
A: Each one has a unique set of features – and an equally unique set of ridiculous bugs to deal with! By the time you've managed basic functionality, you have practically written your own micro-framework, and might as well go the extra step of publishing it.
◆ Storlek, 2 Jun 2013 at 4:51am ◆ No comments
In one section of a job application I'm filling out, the keyup event is hooked to this informative dialog:
Yo, Kenexa! Maybe get rid of your debug code before putting it into production, okay?
◆ Storlek, 8 May 2013 at 6:31am ◆ No comments
Bye, Sprint. I won't miss you, or the $70 a month I was paying for a phone I barely used.
Canceling my service was a tremendous ordeal. First off, there's absolutely no way to cancel without calling them, so that they can argue with you about how great their service is and provide feeble excuses for not canceling.
I said that I'd determined it wasn't worth keeping my service considering how rarely I actually talked on my phone, and I could just use wifi practically anywhere I went. They suggested I could switch to a basic phone with a low-end plan, which is stupid not only because they were clearly not listening to me when I said that what I used my phone for was exactly the one thing that a basic phone can't do, but also because the plan they suggested was still $50 a month. Wtf?
So while I was arguing interminably with the idiot "service" rep, who insisted on checking with his supervisor to see what other stupid plans he could offer me instead of just doing what I'd asked, ironically, as he was going on about Sprint's great service quality, my call got dropped.
After calling back, I got a non-idiot who actually listened to what I had to say and went through with the cancellation after just a couple minutes of back-and-forth, and he gave me a confirmation that my service would be shut off by the next day and I wouldn't have to pay the next month's bill. Great.
But the best part wasn't until later on, when I noticed that I'd gotten a voice mail from Sprint. Google Voice's transcript was predictably hilarious, but here's the best part:
> You know, we definitely need to lose you as a customer. Just give us a call back please. Thank you, you're alone. Ohh hello hello hello.
You got that right, Google.
◆ Storlek, 17 Mar 2013 at 5:07pm ◆ No comments
Here's the header of PayPal's website, with all the actions you can take:
I am by no means a frequent user of PayPal, so my use of the site generally is stuck at the "stupid newbie" level. This means that any time I use it, I have to think about what I'm trying to do, and then look around for the option allowing me to do it.
Every single time, I get hung up on how to move money into my bank account. Their choice of wording, frankly, sucks. Consider my typical use-case, of getting money that I have tied up in PayPal moved to my bank, so that I can make a withdrawal, stuff some cash in my wallet, and go spend it. Which option do I pick?
- The money is right there in PayPal. I want to send it elsewhere.
- Or should I make a request that the money be put into my bank account?
- Maybe I want to add money to my bank account!
- Ohhh, I get it. I wanted to withdraw the money! Hah! Got it.
The fact that, in the typical left-to-right, top-to-bottom manner of reading, "Withdraw" is the very last option, only exacerbates the frustration. Half the time, forgetting which thing I have to choose, I'll end up clicking one of the top tabs, only to find myself on an irrelevant page and have to try again.
An alternate structure for their site, which would make far more sense, might be to have a single tab for all actions pertaining to fund transfers, whether to/from a connected bank account, or someone else's PayPal account. Then, on that tab, have "To" and "From" menus listing, for example, "This Account", "Linked Bank Account #12345", "Other PayPal User", etc. (Then, as an implementation detail, once one of them has been selected, the other one can likely be determined, as one endpoint of any transfer is going to be the PayPal account in question.)
The bank transfer isn't the only point of confusion, either. One of the sub-options underneath "Request Money" is ... "Request Money". Curiously, it leads to an entirely different page than the top link with the blue background. And why are there two separate tabs with "Services" in the title? Which thing does what? Don't merchants sell products? Arghhhh.
◆ Storlek, 23 Dec 2012 at 11:04am ◆ 2 comments
I know I give Perl coders a hard time for having an egregious amount of punctuation sprinkled everywhere, but I think the mess at the end of this line of PHP trumps it:
<input name="stuff" value="<?php print($values['stuff'])?>"/>
That's eight punctuation marks in a row! Outside of a regex (which is a separate sort of ugliness, independent of the surrounding programming language), this must be some sort of record.
In other news, why does everything on the web have to be written in PHP. Come on people, there are other languages out there that suck far less.
◆ Storlek, 24 Nov 2012 at 8:15am ◆ 3 comments
I've been reading about all the shiny stuff that's part of HTML5, and I came across this superb gem about drawing onto a <canvas>:
> If you draw a one-unit-wide line between whole-number coordinates, it will overlap opposite sides of the pixel square, and the resulting line will be drawn two pixels wide. To draw a line that is only one pixel wide, you need to shift the coordinates by 0.5 perpendicular to the line's direction.
So.... let me get this straight. To avoid anti-aliasing effects, you're supposed to draw half-pixels all the time? And this is BY DESIGN?! This is the hot new thing that all the developers are flocking to?
God, I miss when the web was a place people went to email pictures of their cats to their friends.
◆ Storlek, 12 Nov 2012 at 5:12am ◆ 1 comment
*dusts off blog*
Lately, I have been trying to learn how to transfer my heavily Unix-based development style into a Windows environment. Rather than just dumping a bag full of Cygwin parts into my system, I wanted to do it the "real" way, using native stuff when possible. It's been a challenge, but I have managed to piece together a workflow of rather close analogues of most of my normal environment.
My current setup has Powershell in one corner from the base source directory, an Explorer window for managing files (which, when I absentmindedly close it, I can re-open with a simple
start . in PS), and a right-click context menu -> "Edit with Vim" to open a Gvim window for any file I'm looking at, and maybe in an existing session. Committing to the repo is another right click thing with TortoiseHg, which is mostly acceptable for handling typical operations like commit and merge. I'd still much prefer using the command line in some cases, such as cloning a repo. (Really, why does
hg clone http://blah.blah/blah need multi-page wizard? It doesn't.)
I have MinGW installed, and have a
/usr/local/bin-esque directory where I can stuff things like ffmpeg, sqlite, wget, etc. which really have no proper home on Windows. Some stuff (e.g. Python) insisted on installing to separate directories which means that my
$PATH is now rather hideous, but I guess that's to be expected on Windows.
Powershell is ... usable, especially in comparison to a plain DOS prompt. It's a bit annoying to scroll through a heap of compiler output with the mouse alone, but I can't figure out if there's any keybinding to scroll the window, or if it's even possible to set one. I'd use
make | less, but less is terribly broken and says I'm using a dumb terminal, which amuses me to no end.
When I first read about PS, I thought "wow, that sounds hideous." It just seemed like a very special kind of stupid, as if the developers came to the correct realization that Unix has a more powerful command line than Windows, thought for a moment, and decided that because they're obsessed with
Java C# and OOP and POOP, that an object-oriented command line would be a great idea. The resulting product is something that, at a glance, is just as fugly as C# with all sorts of long command names and capital letters: instead of
type, in DOS-parlance) there's
Get-ChildItem (and why does ChildItem not have a hyphen?!),
Write-Output, and so on.
Fortunately, at some point I guess they realized that no one in their right mind would want to write command line scripts like that, so there's some 100+ aliases set up by default to make things like
pwd do something meaningful. Well... sort of. Here's an example:
Compare-Object), when given two filenames, just says that they're different. Or something. As it turns out,
Compare-Object is comparing the names, not the content. So what in Unix would be
diff a b is properly written in PS as
Compare-Object (Get-Content a) (Get-Content b)... and then you get to discover that despite the
diff alias, it acts more like Unix's
comm command and doesn't show context, thus making its output not very comprehensible.
Despite my complaints with Powershell, I am impressed with a few things:
Get-Help) actually works, and not only that, it recognizes aliased commands, so I can
man lsto see the documentation of
Get-ChildItem. It even looks like a manpage and filters its output through a pager. The first time I reflexively tried it, I did a double take when it worked exactly how I wanted. Thought I'd never in my life say that, but major props to MS for that one, especially considering GNU's absurd crusade of claiming that manpages are somehow deprecated, and attempting to replace them with their stupid info system.
- The F7 key. Oh god the F7 key. It pops up a clever little history dialog, it's brilliant, and I need to hack out a script or something to do that in tcsh now.
There is one thing that I'm not sure I'll ever quite get over, though, and it's actually what prompted me to write this post in the first place: its utter failure at handling input/output redirection. Don't even bother trying input redirection; it doesn't even work – it just dumps an error that the
< character is reserved for future use. But output redirection.... oh boy is it special. I was attempting to get PHP working (don't ask why), so I did something like this:
PS> echo '<?php print("Hi!\n");' > test.php
PS> php test.php
■< ? p h p p r i n t ( " H i ! \ n " ) ;
PS> cat test.php
What the crap is going on here? I will spare the hours it took me to figure this out, and just spoil it, because I'm fairly sure no one else wants to learn this the really stupid way like I did. You see, Powershell encodes output redirected to files as UTF-16. WHY DOES IT DO THIS?! Arghhhh! What's even better is that the "proper" way to get a normal, sane text file like you would fully expect to be produced, is by writing:
PS> echo '<?php print("Hi!\n");' | Out-File -path test.php -encoding ASCII
Duh. Why didn't I think of that.
ON A COMPLETELY UNRELATED NOTE, I got a Twitter account for some reason, and I set up twitterfeed to cross-post from here, so maybe I'll start posting here more regularly again... or not. I think I've made similar statements before.
◆ Storlek, 23 Oct 2012 at 3:09am ◆ No comments
So, a couple weeks ago, a very curious thing happened to my desktop. It was off. I'd had my BIOS set up to automatically power on, and it .... didn't. Flipped the switch on the PSU a couple times, and the best I got out of it was a little green light to the motherboard indicating that, yes, there was power, but it wasn't going to turn on. Power switch on the front? Nothing. So, I opened the case and discovered that the switch had mysteriously been disconnected and was resting several inches away from the header on the motherboard that it should have been plugged into. Unfortunately, reconnecting it did nothing.
Fast forward a bit; a friend gave me a mostly-working system that he'd upgraded from, which "just" needed a hard drive. This ought to be easy, I thought, I have plenty of hard drives! So I plugged my drives into that system, connected the peripherals, and plugged it in. I was greeted with a mysterious blinking green light on the PSU. Not to be deterred, I swapped that for the power supply on my old computer – which, to the best of my knowledge, worked.... and I got a blinking amber light on the front panel of the case. After several frustrating hours of guessing, swapping out every single component on the system, and being increasingly annoyed at the whole affair (all the while, repeating the mantra: I hate hardware) I gave up and went to sleep.
Next day: an hour drive to Micro Center, $730 out of my pocket, and I've got all brand new parts. I spent that night, and well into the next morning, meticulously assembling everything while watching several hours of demos. I plugged in the monitor, and after struggling with what turned out to be a non-functioning power outlet (I hate wiring) I got it to turn on and greet me with a "New CPU detected, press F1 to enter setup" prompt. Oops, didn't plug in the keyboard..... prompt goes away... no operating system found. Connect keyboard, reboot, no prompt. Hit F1 anyway. Black screen. Strange. Tried booting from some random OS install disc (I think it was Debian?) and that worked, so hopefully I'd never need to get into the BIOS.
I went to sleep for about two hours, got back up, moved everything from the living room to underneath my desk where it's supposed to go, hoping that whatever was broken would magically resolve itself – riiiight. Well, guess what. It did. I hit F1, it dumped me into the slickest, most impressive BIOS I've ever seen. Changing the boot order? Drag and drop the icons. Looking at a long list of choices? Use that scroll wheel. I had no words. ._. (And before anyone asks: the keyboard works just fine too; you don't need the mouse. But ohmygawd it is slick.)
Sooooo anyway. I'll casually skip past the nonsense where I lost the DVD I was going to use, and had to re-download Windows Server 2008, which took creating another account on DreamSpark. (Why? Because it's entirely legitimate, it's free, and with Server, all of the crap you'd normally have to disable is already turned off in the first place – and there's taskbar buttons by default to open a terminal window and the system settings.) So I get the disc, pop it in, it boots just fine, goes well beyond the point where it would routinely blue screen on my other computer, and the entire install takes a couple minutes.
I'll also skip past the stupid bit of trying to get a wireless card to work. You have to enable WLAN in the system settings first.
So now, what I have is essentially a trimmed-down Windows 7 install that works really, really well, and has way more power than I actually need. How much? Well, have a look:
◆ Storlek, 11 Apr 2012 at 2:31pm ◆ No comments