This section of the blog is where I talk about technology. Tutorials, rants, and discussions about programming languages, operating systems, hardware, and more.
  • GPG and signing blog posts with Jekyll

    I’ve started signing all of my posts here with my GPG key. As a tl;dr, you can get the markdown source and the signature file at the bottom of each post, and you can verify that the post was signed by me by using my public GPG key.

    Read More...

  • Sockets, CLOSE_WAIT, and You

    I found this discussion about TCP sockets in Linux sitting around half-finished in Google Drive. It was dated 2012-10-23. I have no memory of writing it. I cleaned it up and am posting it here in case anyone finds it useful.

    Read More...

  • Taking the λ out of Lambdaconf

    Most of the tech community has heard about Lambdaconf by now, thanks to the decision to give Curtis Yarvin, aka Mencius Moldbug, a speaker slot there. Their ultimate decision uses the phrase “professional ethics” a lot. It’s hard to miss the parallels with GamerGate.

    Read More...

  • The Orange Box: A custom USB Flight Control Panel

    I play a lot of Elite: Dangerous. And while I use a reasonably nice HOTAS, I've long wanted a flight panel: a bank of toggle switches with LED indicators that would act as a USB joystick. I can only find one company selling such a thing, and their solution leaves exposed wiring. (a no-no when you live with cats) Also, their website looks like it is from the 90s and just feels kind of sketchy. (Seriously, guys, if you happen to read this, your website does not inspire confidence)

    Read More...

  • Intel NUC, remote controls, and Fedora 22

    I've had a fun time getting kodi to work with my new remote on an Intel NUC. So, in case you're in a similar situation, here's what worked for me! These instructions are for Fedora 22 and the hardware I linked to in this paragraph, but a lot of the instructions should be applicable in slightly different situations as well.

    Read More...

  • What the hell is happening to PSN?

    All day yesterday, I watched my husband trying to log into FF XIV on the PS4. All day, the PSN sign in servers remained down. They're still listed as offline now. Xbox Live has been back up since yesterday afternoon. So what's taking Sony so long?

    Read More...

  • pygo - a go game client

    If I have anything like 'regular readers' (I'm not certain from the traffic patterns on the blog whether or not that's true), you're probably wondering where I've been. The answer is, basically, the same as it ever is: writing code.

    Read More...

  • Project Treewars: Going in Circles

    It's been quite a while since I actually worked on TreeWars. Various things have distracted me, including some other programming projects. But I actually made some progress way back in July, before I shelved the project temporarily. So, let's talk about circles.

    Read More...

  • Desura - what Steam should have been

    I like Steam. In a gaming world of ubiquitous DRM, Steam strikes a nice balance between functionality and nuisance. That is, Steam makes it dead simple to install and launch games, and the trade-off is that it does some fairly unobtrusive DRM. This is a good model, although I can think of several ways in which it could provide a better end-user experience.

    Read More...

  • dmr

    K&R is a book that has had a profound influence on my life. And I'm not just talking about the influence of it and the C language on computing in general; the direct course of my life has hinged on the language.

    Read More...

  • EA Origin, or: a Case Study in bad consumer experience

    I don't play The Sims. The premise holds a certain amount of appeal for me, and the franchise's quirky sense of humour and artistic style agree with my aesthetic sense, but something about the gameplay - the ebb and flow of action and the effort/reward cycle the game creates - doesn't quite gel into an experience that I enjoy.

    Read More...

  • More thoughts on the Escapist

    I've talked about the Escapist before. Specifically, when I mentioned I would no longer be visiting their website. My reasons then were essentially practical - they had simply made viewing content more annoying than it was worth.

    Read More...

  • Project TreeWars: How Anna got her Title Screen back

    In my last post, I re-implemented all of my rendering code to take advantage of Shaders. After doing this, nothing rendered. Despite the fact that I was following a tutorial, more or less. I have been modifying it to fit my project, which has a lot of code around the rendering code already and is in C++ instead of C, and also modifying it to do something that will actually be useful for me down the line.

    Read More...

  • Project TreeWars: When is an OpenGL not an OpenGL?

    So, I was playing around with the 'sparks' feature on Google+. Since I've been working with OpenGL lately, I made a spark for it. On that spark, I came across this thread, which gave me this advice:

    Read More...

  • Project TreeWars: the road to OpenGL

    Over on Shamus Young's blog, he recently said this when talking about a programming project of his:

    Read More...

  • Project TreeWars: How to write bad code

    The TreeWars project is a week and a half old (at the time of this writing). It's come a long way; in its current form, it actually looks pretty neat:

    Read More...

  • Project TreeWars: The Beginning

    My goal is two posts a week - typically, one on Wednesday and one on the weekend. This is usually a pretty easy goal to obtain - it doesn't take too much of my free time to churn out two posts between 750 and 1500 words. And yet, there almost wasn't a post this weekend. Was I playing Minecraft? Nope.

    Read More...

  • The Escapist - decline of a website

    I have been a fan of The Escapist for a long time. I've been watching Zero Punctuation almost since it began. I've been following Unskippable, Experienced Points, and Stolen Pixels for a long time as well. And I regularly browse around the site, watching videos and reading columns that look interesting. You could say I'm a fairly loyal customer of The Escapist.

    Read More...

  • Tabletop Roleplaying over the Internet

    I have been playing tabletop roleplaying games since a fateful day when I was 13. I had gone with a friend to play Magic: the Gathering at a local video game shop that also happened to sell Magic cards. One of the players mentioned a gaming group starting up at the local Media Play.

    Read More...

  • Gaming in Linux - my adventures with wine

    I like playing games. My 1600-word review of Portal 2 should have been at least some indication of that. I enjoy console and PC video games, tabletop roleplaying games, and board games. But today, I'm talking about playing PC video games in Linux.

    Read More...

  • BitTorrent, the Linux way

    I use BitTorrent a lot. Most Linux distributions have torrents available, and I have gotten a lot of Creative Commons-licensed music, such as the work of Jonathan Coulton, via BitTorrent. It is a great way to deliver content.

    Read More...

  • Bulding bridges in the metaverse

    If/once you "get it", Second Life is pretty cool. It can be a lot of different things, and its potential has barely even been scratched. Sure, the tools are cumbersome, but they are getting better. And some of Linden Lab's policies suck, but that will just drive people to OSGrid, eventually.

    Read More...

  • Tutorial: Creating OpenSim terrain with Blender

    This tutorial will explain how to create RAW terrain files for OpenSim and Second Life using Blender and the Gimp.

    Read More...

  • emacs 23, dbus, and libnotify

    A new major version of emacs is out, and it includes dbus support. This is great, because it means we can do things like this:

    Read More...

  • so close, Netflix

    I like Netflix. I think they're a great service, reasonably priced, and they have completely replaced cable television for me. However, I have found one problem. According to Netflix:

    Read More...

  • The Decentralized Metaverse

    Several years ago I mused on the decentralization of Second Life, Linden Labs' virtual world. Shortly after that post, I dropped out of the metaverse entirely for more than a year.

    Read More...

  • d20tools 0.3 is here

    I've released a new version of d20tools. In addition to using a new, simpler file saving/loading scheme and better keyboard handling, the new feature is also a lot more stable. Other highlights include a more sensible entity/group management system, and the ability for any creature to be a henchman.

    Read More...

  • Thoughts on the Transhuman revolution

    I've been reading a lot of near-future science fiction and speculative nonfiction lately, and as a result I've been contemplating the idea of transhumanism and what it means for us as a species and a culture.  Transhumanism is decently defined by wikipedia, and has been explored in fiction by Charles Stross, Cory Doctorow, and others.  It has been discussed extensively in the non-fiction sphere as well: Ray Kurtzweil is probably the most well-known thinker discussing the topic.  However, while Kurtzweil discusses the possibilities of AI consciousness and the emergence of the singularity, I am more interested in transhumanism in this article.

    Read More...

  • Twitter from the command line

    I've recently started playing with twitter. A nice way to use it via the command-line (using curl) was suggested here. I have taken that and improved slightly on it.

    Read More...

  • My new project - netjatafl

    I've been pretty busy the last month working on netjatafl. Netjatafl will eventually be a networked client for playing various board and/or card games. It was originally created for hnefatafl and other tafl games. However, I have designed it to be extensible; I'm working on adding mancala games, and it looks like my design makes it pretty easy to add a new game. (I've added most of the logic for mancala to the client and server in just a couple hours of work). I intend to add shogi, xiangqi, chess, and possibly even go at some point in the future.

    Read More...

  • How to fix PulseAudio in Fedora in 2 easy steps!

    1. su -c "yum -y remove alsa-plugins-pulseaudio"

    Read More...

  • The Case of the Odd NetworkManager Behavior

    I recently purchased an Eee PC 1000HE.  This is a very nice machine, and aside from one weird bug, Linux support is great.  However, I've run into a very annoying problem with Fedora 10, and at the root of that problem is gnome-keyring-manager.

    Read More...

  • It is pitch black. You are likely to be flamed by a fanboy.

    I feel the need to comment about this (and, subsequently, this and this).

    Read More...

  • 5 things I hate about Fedora 10

    Every release of Fedora feels like a step in the wrong direction.  I don't say this lightly - I use Fedora at work and at home; it is my primary operating system.  I have staunchly supported it in the face of critical Ubuntu fans for a while now.

    Read More...

  • An aside on Education

    I first encountered Clay Burell on his blog Beyond School, where he had started a series of Unsucky English Lectures.  These posts were brilliant, engaging, and poignant, and I followed them to their tragically early conclusion. (Clay, if you're reading this, pick those back up, man!)  It turns out that Beyond School was actually a blog about revolutionizing education.  I just happened in while he was doing a special series.  I kept following his blog, though.

    Read More...

  • .com is the new .org

    No, not an angry rant about proper gTLD usage.  Instead, this is more of a Public Service Announcement: silenceisdefeat, my favorite provider of life-long free shell accounts, has had their domain name taken hostage.  silenceisdefeat.org now redirects to an ebay auction for the domain name.  As a result, they can now be found at:

    Read More...

  • Paranoid Security: Establishing a Connection the Hard Way

    Recently, I was describing the personal setup I use to connect to my home machine over on watchingback (a group that has gone unfortunately silent).  This setup combines port-knocking (with one-time sequences), disk encryption, and passphrase-protected rsa keys.  Here's a basic rundown of how it works from an end-user perspective (i.e., once everything is set up):

    Read More...

  • Nintendo and the Homebrew Arms Race

    When I purchase a piece of hardware, it is mine to do with as I wish.  This is a long-held understanding.  If I buy a piece of clothing, I can have it altered.  If I buy a car, I can change the tires.  If I buy a television, I can kill myself trying to screw with its insides.

    Read More...

  • Linux on the Desktop - a partial solution

    Lately, I've read a number of "Windows user tried Linux for a week and hated it, and this is why" articles. Then, while holding back the urge to scream during a Windows XP install, it hit me: we're holding a double standard, here.

    Read More...

  • Then They Fight You

    Microsoft threatens to sue the entire FOSS community

    Read More...

  • 2^8

    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

    Read More...

  • Decentralizing Second Life

    So, I've been thinking about Second Life, and it occured to me that it's being done entirely the wrong way. Don't get me wrong; I enjoy SL, and have no qualms with the experience itself. It's the underlying scheme it's built on that bothers me: one company controlling all the servers, one company responsible for keeping everything running smoothly. It seems to me that all technologies built on that model eventually fail on the Internet, while distributed technologies (Web, email, usenet) thrive.

    Read More...

  • Technophobia

    I have recently realized why there are so many computer illiterate people running around. It's not that people are simply stupid - that's a grossly judgemental answer that many of my fellow geeks unfortunately arrive at. That's not it at all, because computer illiteracy reaches into technical fields. I know several computer science professors that simply can't use technology newer than 5 years old.

    Read More...

  • Programming: The theory

    One of my biggest problems with the IT community, both in amateur programmers and prospective employers, is the following question: "So, what programming languages do you know?" This implies that learning a language is an extremely difficult task, and collecting languages like trophies is somehow a worthy pursuit.

    Read More...