Uses This

Interview

What do people use to get the job done?

thricedotted

thricedotted

Language hacker, Twitter bot master

Who are you, and what do you do?

I'm thrice (short for "thricedotted", which is long for "ellipsis", which is a form of punctuation I was particularly fond of as a 14-year-old)! By day, I'm a PhD student in computer science with a focus on natural language processing; by night and other times of the day, I'm a very cool language hacker who likes to automatically cut and paste words together with algorithms and share those things with the internet. I'm best known for making many, many Twitter bots. I also wrote a program that wrote a novel called The Seeker for NaNoGenMo 2014, which some people seemed to like. I also like cats a lot, and I like my cat Haku the best of all.

What hardware do you use?

When I first arrived at grad school, I was issued a 14" Asus Zenbook UX31 that I have a bit of a love-hate relationship with. It's very light, and the screen is just the right size, and the battery lasts quite a long time -- but the wifi is unpredictably flaky, and the up/down arrow keys don't work, and every once in a while the screen will flash some nice glitch art based on whatever I was working on at the time and the laptop will turn itself off entirely. It's extremely rude, but I still always have its back in a fight regardless.

Still, an ultrabook would absolutely not be enough, in terms of storage and memory, for me to experiment with much of the language stuff I like to play with. The secret is that do most of my development on much larger remote machines, and my laptop is really a glorified terminal and browser I/O system. Sometimes I hook it up to a 24" external monitor and my WASD mechanical keyboard with Cherry MX Brown switches, and then I type a bunch of gobbledegook like this and enjoy the click-clacks and feel like a ~real hacker~.

Last year I smashed my old phone while running to a bus that I did not even catch, so I decided to soothe the wound by splurging on a Moto X. It is honestly the most important piece of hardware in my life in terms of helping me maintain relationships with other humans, which probably makes it the most important piece of hardware in my life, period. I am also maybe the only person in the world who owns a Chromecast, which I find very handy for media consumption in conjunction with my phone.

Though I don't "use" my cat per se (our relationship is, I hope, more symbiotic than parasitic... I think), he is important enough to the process of me getting anything done (or not done) to be worth mentioning. His name is Haku, he is about six years old, and I believe he's got a lot of Maine coon in him. I use my phone to take a lot of pictures of my cat!

And what software?

About four years ago, I somehow had the free time to install Arch Linux on my laptop and spend way too much time customizing it to very nerdy extremes. The bad news is that creating it ate up a LOT of my time; the good news is that I've been using the same setup ever since, so maybe I can justify it after all.

I spend most of my time in two places: the terminal and the browser. I display these windows using awesome wm, since I like to either fullscreen my browser or terminal, or have them hang out side by side. When I'm using the CLI, I typically open urxvt, attach the appropriate tmux session on whatever computer I'm using (my laptop, or a remote machine), and cruise along with zsh plus a few useful extensions for things like on-the-go shell syntax highlighting and ssh autocompletion. I always have a tmux pane with htop to monitor the system I'm on, and I'm a big fan of Powerline in both tmux and vim.

Thanks to NetHack, I ended up indoctrinating myself to vim, and so I use vi-like keybindings everywhere I can -- CLI and browser (via Chromium with the Vimium extension). You can guess what text editor I use to write most of my code... though when I'm forced to use an IDE, I fall back on Intellij IDEA. I use Bitlbee + irssi in combination as my chat client, and in theory like to use Mopidy + ncmpcpp for music, although I often end up falling back on the Google Music web interface.

When I'm coding bots and other projects, I would flail uselessly without the amazing REPL provided by IPython. Speaking of Python, I use the Pattern library heavily for language manipulation. I also use my home-baked twitterbot library for fast bot making!

I have not yet attempted to install any software on Haku, though I can't say for sure that he has not done this to me.

What would be your dream setup?

Given that I've been using a flaky ultrabook for a few years now, my dream setup is pretty modest, I think! I'd like to stick with a more reliable ultrabook as my primary machine, but having a more powerful desktop machine that I could remote into at any time would be ideal. I don't terribly mind hooking my laptop up to my desk monitor/keyboard/mouse, but it would be nice to either (a) not have to do that or (b) have a more convenient docking solution that involves plugging in as few things as possible.

Finally, I would like a very nice cat tower for Haku, so he can stop climbing all over my desk while I work and instead gaze upon me like the angel from above that he is.