Most of the people reading this would have been first introduced to me as male. I’ve never really been comfortable with that, I’d say to people that I’m male, but I’d always hesitate a little beforehand. It just felt… wrong, but in a way that I couldn’t really explain to anyone. So I went on with my life, being as happy as I could (thank you, depression, for making that near impossible), and always hesitated.
As a child, I’d always liked “girl” clothes. I didn’t see why only girls should wear them, so I wore them. Dresses, skirts. Of course, I didn’t let anyone see. I was wary even then. I never told my parents, I slyly pinched some of my sister’s clothes (they were always too small) and hid them in my wardrobe or under my bed, where no one else would find them. In the school play in primary school, I played a woman. A grandmother. I had a rather nice blue dress, hand-made by the mother of one of the other students. t felt nice being able to wear that dress during rehersals, and in the play. To everyone else that was just for the role. To me, it was really something more than that. It was what I liked. What I wished I could wear all the time.
I still never told anyone.
Jump forward to late last year. At the time I was really depressed. I was contemplating killing myself. But the rational side of me started asking questions. What if there was a reason to my sadness? Something else I could attemp to fix, instead of taking the easy way out and hanging from a rope like I’d unsuccessfully tried to do before.
I started thinking of times when I was really, truly happy. All I could remember were times when I could freely act outside of a gender role, or inside of the one that didn’t match my physical sex. I started thinking of the possibility of being MtF transgender. At first it was a foreign concept. “Why would someone be in the wrong body?” I thought to myself. Turns out that after thinking on the concept, it’s… so accurate.
I decided to talk to someone. A good friend of mine, who is fighting her way through the mess that is being transgender alongside me. I asked her how she discovered who she was. The answer that she gave me changed… everything for me. Because I wasn’t alone. Because someone that I hold dear has been through the same questioning that I did. It gave me hope.
Here’s where the coming out starts.
I started up Pidgin and Skype, and opened a couple query windows in each, to the people I knew I could really trust with something this big. In each one, I started with a question.
If one of your friends knew they were born as the wrong gender, and wanted to change that, would you still consider them a friend?
Worst possible question. Too obvious. Because everyone guessed. A number of them said they’d had theur suspicions previously. The number of internet hugs that night was substantial.
My old nickname, “akiwiguy”, didn’t really fit anywore. Over the course of a few weeks, I started renaming accounts, deleting and re-creating the ones that didn’t allow that. I changed the pronouns in the descriptions of myself, on my blog, on my Twitter account, on my website. Slowly people started changing how they referred to me. And it felt so much better.
Then it hit me that if I’m actually going to change who I am physically, I’m going to have to tell my parents, or Dad at least. That was painful.
My parents and I have always had a… stressful relationship. I never got on with my mother, her desperate and futile attempts to get me off the device I used to communicate with the world alienated her from me, as bad as that sounds. Dad and I get along okay most of the time, but when it breaks down it really breaks down, and we don’t talk for days, even weeks, other than “okay” or “thanks for dinner” or “goodbye”. Which made having to come out to him even worse.
I do have to admit my dad’s a fairly open minded person. But you never know how someone will react when being told they’re losing their son and gaining a daughter. When I decided to tell him, I… couldn’t actually tell him. The fear of not knowing how he’d react, the fact that I have been known to stop breathing when scared, and not being able to form the right words all mixed up into this giant ball of me sitting at the kitchen table crying, almost unable to breathe.
I ended up writing a letter to him, while I was sitting there. He watched from the other side of the table, from behind his laptop. I wrote, amongst a bunch of other mindless banter:
I’m a girl.
And I folded the letter up, placed it on his keyboard while he had his head turned to look at something on the TV; ran upstairs, tears still streaming down my face; and curled up under my duvet in bed. Crying increased to gross sobbing. I’ll never actually know his initial reaction. Only the reaction he had after thinking it over for a while.
He came into my room an hour later. Sat on the side of my bed, and said, his voice cracking a little as if he was holding back tears himself:
I’ll always love you, no matter who you are.
sobbing += 1
That was the good part of his reaction. The bad part, well. I don’t know whether this is because he doesn’t take it seriously, or because it’s just in his nature, but he jokes about it as if it were nothing. And it really hurts when he does.
Sitting at the kitchen table one night. Eating dinner. There was idle conversation, as there usually is. I can’t remember the context exactly, but there was something. And then there was:
I thought you were supposed to be a girl?
sobbing += 10
And I ran up to my room, and didn’t talk for another night. Just cried, and lurked on the internet.
And then we have my mother. I didn’t even get to tell her myself. Dad told her, in the middle of a joke about me, probably. So I’ll never know her reaction, either.
Might as well tell a professional, then.
It was class time. I didn’t want to be there anymore. I had a headache. Used that to get out of class to see the nurse. Got some ibuprofen for the headache. Told the nurse.
Referral to a doctor specialising in trans* youth. Sweet.
Not too long after that, I stopped showing up to school. Dad came into my room one morning, and gave me an ultimatum: “Go to school, or leave the house before I get home from work.”
So I packed my bags and left. Slept on couches for a few days. Get a call from my grandmother. Dad’s told her, too. She’s offered to let me stay at her place for a while, though. She gave me money to catch the bus and pay for some other stuff, and I ended up there for a week. She sat me down, and told me that I needed to see a professional about it. Told her I already had.
My grandfather wasn’t very happy when he saw me in a dress.
Reintroductions and thank yous.
Hi, I’m Aki, I’m 16, I’m a girl, and I’m happier than I’ve ever been for that fact.
<passcod> you know, i realised when i wrote that, I think of you as a she nowadays. before, I had to remind myself, but now it just feels natural. it just is.
Thanks dakine, for giving me the confidence to be who I really am.
Thanks Saf, for being there for me to talk to about this shit at all hours of the morning when I needed it the most.
And thanks to everyone else in my life. Seriously. You guys rock.
<passcod> Zarek_ is many things, but I think she’d probably be more like <zarek mode=”bored”> …a poor HTML tag, without even the comfort of a self-closing slash, alienated from the XML-compliant people surrounding her. She’d seek out <link> and <meta>, but would only find a few not converted to XHTML, and would probably spend time crying her attributes’ quotes out– woah let’s stop there
While I was reading over Steve Losh’s guide to setting up Mutt, I was intrigued by the way he got a password out of his keychain for the offlineimap config. I thought there must be a way to do this that’s more cross-platform. Then I was reminded of KeePass.
So, I hate Android. It’s just bad. I’d much rather be able to have a full Linux desktop environment I can carry around and do stuff on that doesn’t revolve around touch-centric bastardized versions of much superior desktop apps (Google Drive, I’m looking at you…) or have to SSH to some remote server just to write a shell script. So, I decided to attempt to install Arch on my tablet.
Warnings and semantics
This is based on my own experience with my own device. YMMV.
Through this whole post I’m assuming you have the following:
SSHDroid (or another SSH server) installed and running
Knowledge of how to install Arch Linux on a normal PC
The tablet I have is by no means the most well-supported or well-documented one you can buy. I got it for $250 on TradeMe, so that’s really to be expected. It’s a Zenithink C91, a basic tablet with Android 4.0, a 10.2” screen, a 1GHz Cortex-A9 CPU, and 512MB of RAM.
Around here, I started wondering whether or not this thing would actually be compatible with Arch. I didn’t know what it’s touchscreen controller was, whether or not it used the Linux framebuffer (though that one was obvious after a # cat /dev/urandom > /dev/graphics/fb0 :D), or anything else, really.
So, I did a bit of probing myself.
A quick cat /proc/bus/input/devices revealed the touchscreen driver:
But there’s a bit of a problem here. It identifies… as a keyboard. I ran cat /dev/input/event3, and sure enough, when I touched the screen, I got data.
But it shows up as a keyboard.
This left me thoroughly confused, so I continued on regardless with the Arch setup, hoping this problem would be simple enough to solve in xorg.conf later.
Creating an image for the Arch install
Now this part was easy. Took the SD card out of the tablet, attached it to my desktop, and fired off a couple commands:
Put SD card back in tablet, and we’re in business.
Doing the install
Firstly, I had to grab an ARMv7 rootfs tarball from the Arch Linux ARM site. I ended up getting the omap-smp one because it was the first v7 one I found.
After that downloaded, the next thing to do was mount the ext2 image I created before and untar the rootfs to it. On the tablet:
# mkdir /mnt/sdcard/arch/mnt
# mknod /dev/loop256 b 7 256
# losetup /dev/loop256 /mnt/sdcard/arch/arch.img
# mount -t ext2 /dev/loop256 /mnt/sdcard/arch/mnt
# cd /mnt/sdcard/arch/mnt
# tar xvzf /mnt/sdcard/arch/ArchLinuxARM-omap-smp-latest.tar.gz
After waiting for the tarball to extract, we need to mount a few other essential things:
# mount -o bind /dev /mnt/sdcard/arch/mnt/dev
# mount -t devpts devpts /mnt/sdcard/arch/mnt/dev/pts
# mount -t sysfs sysfs /mnt/sdcard/arch/mnt/sys
# mount -t proc none /mnt/sdcard/arch/mnt/proc
If you want to access the SD card from inside Arch (you probably do) then you need to run these, too:
# mkdir /mnt/sdcard/arch/mnt/sdcard
# mount -o bind /mnt/sdcard /mnt/sdcard/arch/mnt/sdcard
And now we can chroot in:
# chroot /mnt/sdcard/arch/mnt /bin/bash
We should now have this fancy thing:
Configuring the install
Firstly you’ll want to set up DNS and take care of a couple housekeeping things:
I attempted to set up Xorg using fbdev. Here’s how far I got before I gave up. If you just want to skip to the actually getting it working part, scroll down.
chroot# $EDITOR /etc/X11/xorg.conf
Here’s where it gets a bit more annoying. Remember I said how my touchscreen appeared as a keyboard? Yeah. I started off only putting in the config for the fbdev display, and seeing if evdev detected the touchscreen automatically.
Here’s what the xorg.conf looked like at that stage:
Now, copy and paste this somewhere accessible from outside the chroot (I’m using /mnt/sdcard/arch/start.sh) and run it whenever you want Archy goodness:
if [[ "`whoami`" -ne "root" ]]; then
echo "Run me as root!"
exit 1
fi
if [[ "`mount | grep /mnt/sdcard/arch/mnt/sys | wc -l`" -ne "1" ]]; then
# mount rootfs
mknod /dev/loop256 b 7 256
losetup /dev/loop256 /mnt/sdcard/arch/arch.img
mount -t ext2 /dev/loop256 /mnt/sdcard/arch/mnt
# mount sdcard
mount -o bind /mnt/sdcard /mnt/sdcard/arch/mnt/sdcard
# mount system stuff
mount -o bind /dev /mnt/sdcard/arch/mnt/dev
mount -t devpts devpts /mnt/sdcard/arch/mnt/dev/pts
mount -t sysfs sysfs /mnt/sdcard/arch/mnt/sys
mount -t proc none /mnt/sdcard/arch/mnt/proc
fi
# enter chroot
chroot /mnt/sdcard/arch/mnt /root/.start.sh
And you’re done. Run that script every time you want to start Arch, either from a terminal emulator or from something like GScript.
Caveats
There’s a few things wrong with this as it stands:
VNC is a work-around solution. I would like to get fbdev working, but that’s not something that will be feasible any time soon.
It’s slow. This would be helped by getting rid of Android altogether, and just booting Arch (custom ROM, anyone? this’d likely fix fbdev too!)
systemd doesn’t work. This is because it’s stubborn. Not much we can do about this (custom ROM would really help here, because then we can use systemd as the real init) but I have another idea on how to get a systemd-compatible init system going. Watch this space…
I really like tmux. It lets me keep my weechat session active when I’m disconnected, it lets me manage windows nicely, and a bunch of other, really nice stuff.
One thing I only just discovered about it and started using, though, are grouped sessions. So now I can have weechat open on one screen, a zsh instance open on another, and a man page open on my laptop, all within the same tmux session, and switch between windows at any time (like, if I wanted to quickly open weechat on my laptop to copy a link, I can just switch windows and do so).
The only caveat that I’ve seen with grouped sessions is they’re a bit of a pain to set up. Thanks to a good friend of mine and an awesome shell script she wrote, that’s not so hard anymore.
Most of this is fairly uninteresting. If no tmux sessions are open, create a new one, open a window with htop in it, and attach to it. Below that is where it gets a bit more fun. If we find a tmux session already open, we firstly clean up any old sessions, then we create a new session with the name “main-date +%Y%m%d%H%M%S”, group it to the main one, and attach to it.
The way we’re naming the sessions makes it easier to both manage by hand and automatically clean up. The clean up part of that script is (I think) the most interesting one.
Here, we look at the sessions open, get only the ones with the ‘main-’ prefix (the hyphen is important here! we don’t want to kill our main session), get only detached sessions with grep -v, cut that down to just the session name, and pass it to tmux kill-session using xargs. This is done whenever a new grouped session is created, so we don’t have ghost sessions lying around being annoying.
EDIT: As an afterthought, have my tmux config too.