Monday, December 17, 2012

Using a Wiimote in Mupen64plus

After much head-wall-banging, I got a Wiimote to pair successfully with my computer and work as a controller in Mupen64plus! There was a lot of trial and error, so I've created a guide to getting a working setup so future generations don't have to go through what I did. The details are in this git repo, which includes detailed instructions and config files.

Wednesday, December 12, 2012

Trying an Android ROM

Against my better judgment, I am going to take another shot at installing a ROM on my phone. The battery life could use some improvement, and people have claimed that some of the 3rd-party ROMs can help with that. I know I have promised myself not to play with ROMs on my phone again, since the result is usually a big waste of time with nothing to show for it, but this time is different.

Brace yourselves for a follow-up in which I immediately regret this decision.

Tuesday, December 11, 2012

Another Ubuntu update, another b0rked system


I updated to 12.10, and Alt+middle-click to resize windows was broken. After about an hour of circular Googling, I found the correct incantation to sprinkle. For some strange reason, the setting org.gnome.desktop.wm.preferences.resize-with-right-button was set to true. Set it back to false and the system returns to its former functioning state.

Sunday, November 18, 2012

Better than "Understanding OOP"

I came across a page talking about the joys of OOP via this blog post. The original page was a thing of horror. I modified the Elisp code from Irreal, adding a few additional features:

Saturday, September 29, 2012

Voting third party and government job "creation"

This is copy of an email I sent just now.

My concern about the libertarian candidate, besides the fact that he cannot win,

That's no reason not to vote for him. A well-functioning democracy requires a choice of more than the people who are "obviously" going to win. Otherwise, it isn't democracy so much as a decree by the political parties who will be the next president.

Thursday, September 20, 2012

Change GTK keybindings from Emacs back to default

Like any virtuous person, I use Emacs for everything, and so tried out using Emacs key bindings for all GTK applications generally. After a year or so of working like this, I have decided to go back. The main problem is that other applications can't handle the awesome power of Emacs. Firefox, for example, uses C-k to jump to the search box, but if you are in the location bar, C-k will run the equivalent of kill-line which means that in order to get to the search bar, you have to remove focus from the location bar. Not convenient.

Thursday, September 6, 2012

Those Dumb Pipes

This is an older idea which had been floating around in my head, half-finished for a few years.

I was inspired by this Ars Technica article to think about the relationship between network operators — both cellular and landline — and consumers. The key quote from the article is by "one mobile operator" and is:

Thursday, August 2, 2012

Correctly Dispatching on Generic Methods in `*apply()` in R

I've been hacking in R recently for work, and it is a bizarrely amazing
language. I just ran into a situation in which I needed to apply an S3 generic
function to a list (actually, a row-wise iterator on a data.frame)
and hit an annoying rough patch

For those not as well-versed in R (I've been learning it for about two weeks at
this point), "method dispatch" is done in a quirky yet effective way. You define
a generic function, say foo like this:

Thursday, July 5, 2012

Listing available monospace fonts in Emacs

After finding out that the Monospace font doesn't support italics, I set about trying to find a suitable replacement. This EmacsWiki page lists a way to print some example text in all of the fonts on the system, which is very helpful for comparing what's available. The problem with it is that it displays all fonts, not just the monospace fonts, which isn't useful. (For those of you not in the know, all programming is done with monospace or uniform-width fonts, meaning that l and m are the same size).

Tuesday, June 19, 2012

Use FileMaker Web Publishing in Apache

I've been tasked with nice-ifying the configuration and setup of the systems at work. They store a huge amount (244 GiB) of protein analysis data in a FileMaker database and have PHP scripts accessing the data through the FileMaker XML HTTP API. The problem is that the PHP scripts are running on Apache (as is an SVN repo), but FileMaker wants to publish its API only through IIS. Having spent more than a minute wrestling with configuring IIS, I want it out of my life ASAP. But that can't be done unless scripts have a way of talking XML to FileMaker on port 80. All hope seemed lost.

Monday, June 18, 2012

When European "Austerity" Isn't

I've been skeptical of the rhetoric that there has been "brutal, crushing austerity" in Europe. When these claims are made, I have seldom heard any quantification of how brutal these "brutal" changes have been. So I looked it up.

Short version: there's been minimal to negative austerity since pre-meltdown 2008.

Longer version:

Friday, June 8, 2012

Solving mod_dav_svn loading faliure on Apache in Windows

Yesterday, I spent way too much time trying to get Subversion working under Apache in Windows 7. I really have a new appreciation for GNU/Linux package managers; what would have been sudo aptitude install libapache2-svn under Ubuntu turned into hours of staring at Syntax error on line 270 of C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files (x86)/Apache Software Foundation/Apache2.2/modules/ into server: The specified procedure could not be found.

Tuesday, June 5, 2012

Metaphor for Europe's Troubles

Based on my decades of experience in the sovereign debt markets, I have come up with a perfect metaphor for what is going on in the Eurozone. It is as if the Grace government promised 200,000 people one boat each, but now that the boats are due, it turns out that she doesn't have 200,000 boats anywhere, there are only 100,000. Grace tries telling half of the people not to try to use their boat; to pretend that it is sitting in a port somewhere, waiting for them. If some people use their boat half of the week, other people can use it for the other half of the week, so it is "like" having 200,000 boats. Uncle Jeremy has 1.5 million boats, but he isn't so thrilled about just handing over a bunch of his boats to Grace, who knew she promised more than she had. Jeremy says "I'll give you 50,000 of my boats, but only if you tell 50,000 people that they aren't getting a boat at all." Grace is furious, shouting "you're forcing boat austerity on me! I need to implement boat-growth policies!" Of course, "boat-growth policies" is a euphemism for "Jeremy gives me more boats."

Friday, June 1, 2012

EA support is wonderful

I contacted EA support today to get my reward for participating in last weekend's Mass Effect 3 Bounty Weekend: Operation Shieldwall. I achieved the individual goal, but didn't get the priiiize, so I went to EA for help. Maybe 10 minutes later, it was done. Thank you to "Larry S" for helping me. Here is the log of my chat with him; I want to give credit where credit is due for his professionalism and speed.

Sunday, April 22, 2012

Simple recursive file traversal in Elisp

Really quick: I wrote a simple bit of elisp to eval a body over each of the files in a directory, recursively. Looking around for a little bit, I found a couple of options, including Findr, which has its own queue implementation (pretty short), and whose main function is a whopping 55 lines!

Monday, February 27, 2012

The Ongoing Saga of Making Ubuntu 11.10 Usable

Alright, I installed Ubuntu 11.10 (aka "lost all common sense" edition) on a new computer, so I have the memory of trying to make it bearable still in my head. The absolute necessary first thing to do is:

And set your login session to "Gnome fallback". This gives you a passable facsimile of Gnome 2 (aka "worked and was not useless" edition). I am a little... offended is to strong, but miffed that "fallback" means "what to use if you want to get work done and are not, in fact, a hipster," but whatever.

Wednesday, February 15, 2012

Set ordering in Python: why I didn't sleep last night

In yesterday's class of the Python-infused Linear Algebra course I'm taking, a fellow student noted the strange ordering of items in a set when printed. It seemed that the printed order of the set items always swapped the first two items, but left the rest unchanged. I don't know what sets he tried, but I was interested in the general behavior, and so began my quest through the Python source code...