Begone Weeds

time: 20 Mar 2010 12:48 pm
mood: tired
Bought a gas weedwacker; the fancy four stroke model, so I don't have to mix the oil into the gas. I had a little trouble filling my 1gallon portable gas can. I considered calling my dad for instructions, but stubbornness got the better of me.

There was no less than four separate warnings about putting the oil in before starting it. Is this a common mistake?

In other news I learned that you need to really make sure the spool is firmly attached before operating the weedwhacker.

C Quine

time: 17 Mar 2010 09:45 pm
mood: amused
I was reading an article that claimed that a good interview question would be to have the candidate write a quine. A quine is a program that, when given no input, outputs its source. I've known about them for a while but had always assumed they were too tricky to be worth the trouble. It took me about 45 minutes. It's surprisingly straight forward. Curiously the fixed point theorem says that this must be possible for any programming language that is both Turing complete and has output.

I took this as an opertunity to get a github account. I guess that makes me one of the cool kids. The Source. It's got a makefile and a test and everything. I choose the MIT license, just in case anybody cares.

For the record, I think it's a lousy interview question. And yes, I know my solution isn't the most elegant, I just sort of brute forced it.

They Closed The Fake Beach

time: 09 Nov 2009 09:37 pm
mood: disappointed
Apparently the Ocean Dome never made money and has been open and closed for years. It's currently closed with no indication that anyone is going to throw the requisite money at it. I really wanted to see it, it seemed like something that could only be built by the Japanese.

Linux HORI Fighting Stick EX 2

time: 25 Oct 2009 06:59 pm
mood: amused
I got back from my second trip to Taipei this weekend. I'm hoping I don't have to go again for sometime as that trip is pretty grueling. In a glorious fit of procrastination, instead of packing I decided to try and get my joystick to work under Linux. I have a Hori Xbox360 Fighting Stick EX 2 which I am relatively happy with. The buttons are a little to stiff and make a bit too much noise, but it's about the best you can buy at that price point.

Step 1. Patch the kernel XBox controller driver to recognize Hori brand controllers.

This is all you have to do to get the controller working. But you'll soon find that the controller is mapped very funny, owing to the way it's used on the XBox. You'll have the same problem in windows, but there are readily available 3rd party tools to remap joystick buttons. To remap the buttons in Linux, you'll have to do some more work.

Step 2. Get the right kernel version. You're going to need a kernel <2.6.28 or >=2.6.31. In particular you're going to need this change.

Step 3. Patch the joystick calibration tools to support button remapping. Some smart guy already had done most of the work, but his patch doesn't work with the changes to button remapping in the kernel. My patch combines Laszlo Kajan's patch with a fix to the change in the ioctls. If you're using a kernel <2.6.28 and a Debian based distribution the joystick utils installed should work.

Step 4. Add udev rules to calibrate the joystick on connect,

KERNEL=="js[0-9]*", ATTRS{name}=="HORI Fighting Stick EX2", ACTION=="add", RUN+="/etc/udev/setup_hori_joystick"

Runs a script, "/etc/udev/setup_hori_joystick", whenever the joystick is attached. The script contains calls to jscal to remap buttons and calibrate the joystick. It looks like this,

jscal -u 8,16,17,0,1,2,3,4,5,11,304,305,307,308,310,311,315,316,317,318,278 "${DEVNAME}"
jscal -s 8,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528,1,0,0,0,-2147483648,-2147483648,1,0,0,0,-2147483648,-2147483648,1,0,0,0,-2147483648,-2147483648,1,0,0,0,-2147483648,-2147483648,1,0,0,0,-2147483648,-2147483648,1,0,0,0,-2147483648,-2147483648 "${DEVNAME}"

As you can clearly tell, Linux is ready for the desktop.

Cognac and a Bag of Coins

time: 18 Jul 2009 09:18 pm
mood: happy
I finally got fed up with my job at Graphzilla and quit. I really like the people and working on and around 3D. I learned a lot and met some great folks. But the particular projects I kept being assigned to where unbearably painful. I'm working at the G now, ChromeOS specifically. I can't say it's my dream project, but it's certainly interesting.

Danielle lost her job about 6 months ago. Between that, being out of work for a month and a half, and the general expense of the bay and owning a home, money has been tight. Now were both gainfully employed which has let us buy some frivolous things.

Danielle got a kitten. We're calling him Enzo Ferrari, he's quick, and somewhat rambunctious. We're planning on getting him a cat door so he can come and go as he pleases when he gets to about 6 months of age. I take him outside where he climbs trees and generally acts cat like. I like him, but he is a cat, so he does nefarious things like: sit on keyboards, and knock Danielle's iPhone into the tub. She's not pleased about that. She's considering a Palm Pre as a replacement; I don't think she'd be happy with it, the Apple app store is filled to the brim with just the types of crummy time management games she likes. Speaking of phones, my F3 gave up the ghost, the sim card socket flakes out every 60 seconds or so. I'm considering a Pre but paying more than $35 a month for phone service rubs me the wrong way.

I got an Astro City Arcade Cabinet to replace lifftchi's New Astro City that he took home in May (much to everyone's surprise). I got Mushihimesama Futari in the mail on Friday. It's really enjoyable, fast paced, fun to play, not much thinking or memorizing (some of the patterns are random, heaven forbid). Danielle went to sleep at 7pm, she's setting up the sales ad price tags tomorrow morning, so I'm just having a relaxed evening playing my game.

Rumors Demise, etc etc

time: 17 Mar 2009 06:21 pm
mood: tired
noisetube got pwnded by some script kiddies. I asked lifftchi to deal with it because he has the controlling e-mail address. This FAQ entry contains details on recovering the account. If the Gods are willing taco will ride again.

One Year Aniversary

time: 08 Dec 2008 10:52 pm
mood: amused
My wedding cake after having spent a year in the freezer is, quite edible. I am pleased.

Civilization Get

time: 12 Oct 2008 09:12 pm
mood: tired
I managed to run cat 5e through the walls and attic to all the rooms of my house. Let me tell you, the attic is a terrible place to be. It came out looking pretty slick though, cable TV and cat 5e in the same jack in a few rooms. I totally destroyed a borrowed fish tape, that thing was a $15 piece of junk though. Total cost was in the $150 range, far cheaper than having someone do it, or converting everything to wireless networking.

My boss overheard a conversation I was having at lunch about pulling cable for network; he now thinks I'm some sort of Luddite for not believing in wireless networking. Then again I've lost an ungodly portion of my life trying to get WiFi under Linux to work in the bad old days (circa 2001 before iwconfig and friends).


time: 30 Sep 2008 12:07 am
mood: anoyed
Firefox has had a long standing bug that there is no quit keyboard shortcut (bug 189290). I always thought this was an awesome feature, but it got "fixed" in firefox 3. Here is an extension I wrote to remove the quit shortcut. I've been told that "Quit" doesn't exist in windows, so I guess this is only for the Linux/OS X users out there.

Just so you know, you really shouldn't install this extension, it could do all manner of nefarious things. Unless, of course, you trust me.

Practice Safe Sex

time: 28 Jul 2008 10:25 pm
mood: tired
Back when I was in the 7th grade, in health class, we did an "experiment". Each student was given a vile with some sort of fluid. You were then to find 6 other people, write each others names on your card, and then exchange fluids with that person, you give them half of yours and take half of theirs. After all was said and done you added some other fluid to your fluid to detect the presents of some contaminate. Two students started with the contaminant and at the end inevitably almost everyone is infected. A mighty lesson in epidemiology. For those wanting to play at home, I suspect the contaminate agent was potato starch, and the test iodine.

Given that I had more brains then sense I took home all of the available data, and tried to reverse engineer who the two originally infected students were. I failed miserably. Man I want to invent a machine that can punch my former self in the face.

Now for some reason I thought about this in the shower this morning. And thought, hmm, I bet you could do some sort of topological sort on the graph of pairings and get all sorts of information. It works surprisingly well. I could run a constraint solver as this point, but in the vast majority of cases it wouldn't produce any more information. Here is a trial with 20 people, 1 starting with the infection, and 4 interactions. On the left is the initial graph built out of the available data (final status and a chronological list of partners), on the right is the graph with as much data as can be extrapolated. It's pretty clear that in this case if you knew there was only 1 infected person at the start that it would have to be either "0" or "19".

As an aside, with 34 students, 6 interactions, and 2 starting with the infection, there is a > 80% chance of everyone ending up infected; this makes it a very compelling argument to the dumb (aka children). When everyone is infected at the end, there is very little recoverable information.

10 earlier entries - viewing most recent entries