Engage!

Life

Set course for Marriage Prime, Love Factor 6: I asked Andrle H. Pence to marry me, and she said yes! Woohoo!

This all went down the Wednesday before last (July 7th, or 7-7-2010… seven might be her favorite number…) while we were visiting a friend’s cabin in northern Minnesota.

Now, below the cut, some (goofy) photos of us on the dock where I proposed under the stars…

Continue Reading »

20 Comments

Limericks on Request

art

Inspired by Andrew’s rediscovery of the thoroughly excellent archaic word “merlimewes“, and taking a friend’s suggestion to incorporate into a limerick with a rhyme on “curlicues”, I present the following:

There once was a lady from Boston,
a city she often got lost in.
She made so many merlimewes
it put her hair in curlicues,
so none stopped for the walk she crossed in!

What, I’m an engineer, not a poet. Points for effort, right? Bonus points for pedestrian-squishing?

And yes, I do take requests.

No Comments

Going Home

Life

Last weekend I attended my five-year reunion at Swarthmore College. I graduated in 2005, and it was my first time back on campus since I attended the 2006 graduation to see off friends from that year. I think I had somehow forgotten how beautiful the campus is (being a national arboretum will do that).

Campus hasn’t changed much since I left; the Parrish remodel I had seen in 2006 makes a much nicer first floor lounge, New New Dorm is in place next to New Dorm (where I lived senior year, now called Kemp and Paul respectively), and the arboretum building got expanded. The newest trees planted around the science center (which was completed my senior year) have grown a fair bit. The napping couch in Hicks (the engineering building) was reupholstered. Otherwise, the campus is a very familiar place.

My sense of calling Swat home really struck me Sunday morning, as several of us met up to go to brunch at Java Joe’s. Since my parents moved to Seattle, I haven’t had a sense of permanent home. There’s not much tying me to Minneapolis other than high school friends I visit occasionally, and while my parents are associated with home, their current condo is largely unfamiliar. It probably also doesn’t help the sense of home there that my sister is still far, far away! I like Boston a lot, but I don’t feel Bostonian in a number of key ways. Swarthmore, however, is where I spent a good chunk of four years of my life (almost straight through in the last three years, since I did summer research twice). Now that I’ve been back, I can see myself returning more often, if for no other reason than to keep an anchor there; conveniently however I can expect to see a lot of old friends every time I go.

A more detailed rundown of the weekend is below the cut. Overall it was great to see everyone, but the official events were pretty lame. Apologies if I left anyone out!

Continue Reading »

2 Comments

PAX East 2010

Life

Best. PAX. Evar.

PAX East was my third Penny Arcade eXpo, and in many ways my best… but as others have addressed, also an unfortunate reminder of how hard it is to manage a convention hall full of geeks, nerds, dweebs, and all the rest. The whining has been handled by others, and I have a positive attitude and had a great time in spite of the logistical problems, so I’m not going to talk about those problems much.

For me, the two huge differences were location (that the event was local to me, in addition to not involving a visit to my parental units in Seattle) and people (in addition to more random run-ins, I spent most of the con with my old roommate Fritz and my girlfriend Andrle, as well as bringing my Little Brother on Sunday). Since it was a much more social event for me, I didn’t enter any gaming tournaments (as I did both of the last two PAX Primes, even placing in RoboRally last year and winning a PAX medal), nor did I attend any sessions (in part due to line issues).

As per my usual, I caught Paul and Storm and Jonathan Coulton in concert (the 6th time I’ve seen them play live!), as well as the opening act with the Video Game Orchestra. Like last year (but unlike my first year at PAX ‘08), I watched the keynote by Wil Wheaton and the final round of the Omegathon (the third round of which was in this case was the opening for the Saturday night concert).

As always, amusing nerd-watching, interesting demos, tons of free crap, and good times gaming. A few pictures, some game and product comments, plus my concert videos, below the cut.

Continue Reading »

1 Comment

Is the iPad for me?

Computers, Opinion

What’s the question?

Like every other critic and salivating fanboy, I feel compelled to chime in on yesterday’s religious experience in which The Steve descended from on high bearing a tablet. However, this is not a review, but merely a (lengthy) answer to a simple question: is the iPad for me? I won’t be talking about the market for digital content distribution, I won’t be whining about what software and hardware widgets weren’t included, I’m not going to rant about Apple’s closed ecosystem, I won’t be begging to lick someone’s boots for a chance just to touch one. Additionally, although hopefully this is obvious, this is heavy on speculation, since I have yet to actually hold the product, let alone use it for any length of time.

I’ll also take this opportunity to brag that I got 29.5 points on the prediction score card, with only one question as yet unanswered: will textbooks be available (I said yes, and I think this is eventually likely, based on the list of publishers involved). I was briefly unsure if my existing Apple Wireless Keyboard would be supported, but the Design page indicates that in will be, in spite of the existence of the iPad Dock. I got the name right, and most of the detailed features based on the rumorsphere. The substantive places I was wrong were the absence of a camera, the price point (cheaper than I expected), and the lack of any information on iPhone OS 4. I had a hope for an open development environment, but I knew that wasn’t going to be true, so that’s more a self-docking principle point. I failed to predict the dock, and I gave myself a half-point for saying no 3G when there are models both with and without.

Below the cut I’ll start off with a brief history of my personal electronics habits from college through today, and then consider where the iPad would fit into my little niche… and, if it does fit, whether it’s worth it. I’ll also look at what still-open questions about the device would affect my potential buying decision (not the least of which is that I need to try it out in an Apple Store to get a sense of the ergonomics). While I’m only speaking for myself, maybe my analysis will be useful to people similar to me.

Continue Reading »

4 Comments

Avatar

Movie Reviews, Reviews

Spoiler-Free Comments

Avatar is visually stunning. It has precisely all of the elements you would expect from a modern science fiction epic. I give major credit to James Cameron for an original idea, although the plot itself is a pastiche of mostly unoriginal classic memes. My snarky tweet-length review is “a visually stunning remake of Disney’s Pocahontas“. That said, the film is on its way to become one of the top-10 grossing films of the decade, which until now has consisted entirely of remakes/reboots, sequels, and/or book/comic book adaptations (i.e. not a single original idea). (Note that a non-trivial factor in Avatar’s opening weekend success is the higher ticket prices for 3-D and IMAX showings.)

A word of warning for my typography nerd friends (you know who you are): all of the subtitles are in Papyrus. Hey, at least it’s not Comic Sans, right?

I, like many other commenters, am very interested in the technical aspects of how the film was made, and I do expect that, like the motion control techniques invented for the original Star Wars, we’ll see a significant shift in how movies with fantastical elements are filmed. It also seems likely that some of the performance capture technology will be applied to video games, especially those with more immersive plots like single-player RPGs.

Another thing I’d add: the 3-D version isn’t strictly necessary to enjoy the visual experience of the film. While RealD, as a single projector polarized 3-D technology, is certainly better than the old red-blue systems, or the ones that required bulky electronic goggles to alternate flickering in each eye, I don’t think it adds a huge amount.

So, overall, I liked the movie, but I wasn’t blown out of the water, due largely to the tropeful plot. That said, it certainly got me thinking about a wide variety of topics, including racial issues, exobiology, and linguistics. I plan to see it again, probably in IMAX. Detailed thoughts below the cut (with some vaguely spoilerful comparisons to District 9).

Continue Reading »

6 Comments

Möbius Bagel

How-Tos, food

Via JWZ’s LiveJournal I found a method for slicing a bagel into two linked halves. I decided to try it. Video below the cut.

Continue Reading »

2 Comments

I Found a Twitter Bug!

Computers, Software

I found a Twitter bug! Hah!

Specifically, certain characters which much be escaped in the GSM 03.38 character encoding are getting treated as the wrong encoding when posted to Twitter from Verizon Wireless SMS, and showing up as ? in text messages sent by Twitter to Verizon Wireless customers via SMS.

I should add that I didn’t find this bug alone – @elliotreed asked why I used question marks to note something in a tweet when I had actually used square brackets around some text. Some quick investigation with him revealed the more specific nature of the problem, but it wasn’t until I actually found out that there was such a thing as GSM encoding that I came up with a hypothesis to explain the character weirdness.

As far as I can tell, Verizon’s HTTP/SMS gateway is now doing the GSM/UTF-8 mapping internally, but Twitter is assuming it still has to send GSM bytes to Verizon, so the encoding is happening twice, or at least attempting to happen twice. Verizon chokes on the GSM two-byte characters, since they’re not valid UTF-8, while Twitter receives certain ASCII-range one-byte UTF-8 characters but converts them as if they were GSM one-byte characters, resulting in a totally different UTF-8 character!

The GSM-to-UTF-8 encoding bug, shown here for square brackets, curly braces, tilde, backslash, and carat.

The GSM-to-UTF-8 encoding bug, shown here for square brackets, curly braces, tilde, backslash, and carat.

The GSM encoding doesn’t allow certain characters as single-byte characters; this appears to be a way to shove a number of European characters into a 7-bit mutant ASCII, with control characters and certain punctuation replaced by characters from the Latin-1 codepage. To some extent this makes sense, given that with the 160-byte length limit on SMS messages you want to avoid multibyte encodings while still supporting commonly used characters (UTF-16 is used for non-roman languages). Unfortunately, this leaves [, ], ~, {, }, \, |, and ^ out in the cold. As a programmer, I use these punctuation characters often as separators in various notations, so it is perhaps not surprising that one of my tweets revealed the problem. These characters can be sent as a two-byte sequence in the GSM encoding, but those start with an escape byte 0×1B, which since it starts with more than one initial bit high will always be invalid as the first byte of a UTF-8 character.

I would have thought that the Age of Unicode would have ended many of these non-standard application-specific encodings (and plus, given the way mobile carriers love to gouge on SMS, if they make your characters take more bytes, they get more money!). It looks like that’s exactly what Verizon is trying to do, in moving to exposing UTF-8 on the edge of their network… they just didn’t tell anyone that they had changed encodings, or if they have, Twitter hasn’t acted on the change yet.

Since Twitter disabled their help ticket creation (probably because too many stupid people were posting the same questions without reading the FAQs), I reported the bug using the Twitter API ticketing system on Google Code.

Short story: if you use any of the punctuation characters above in your tweets, expect texting Twitter users with Verizon to see ?, and expect to receive tweets from them with weird European characters, until this is fixed by one or both parties.

2 Comments

RIP Bike

Life

If you follow me on Twitter or are a friend on Facebook, you probably already heard that my bike got stolen. A brief memorial to my thorughly well-used 2005 Trek 7500 FX ::cue sappy music::…

My 2005 Trek 7500 FX, fresh of the moving truck, clean, and unused.

My 2005 Trek 7500 FX, fresh off the moving truck, clean, and unused.

It was a solid bike, and it served me well, in spite of occasional abuses such as forgetting to oil the chain often enough or wiping out on wet leaves and bending a pedal out of whack. I certainly put money into this on top of the base purchase price (adding cargo racks, new handlebars, replacing shifter cables, new brakes, etc.), but it is still well below the cost of dealing with a car… and I get some form of exercise, as well.

As for the theft itself, I have learned the hard way regarding cable locks. I had switched to one a while ago for the weight and convenience of being able to lock to more things, but they are of course eminently more cuttable. This particular one, a Kryptonite KryptoFlex 1218 6′, was sliced mostly silently right below the window of my girlfriend’s apartment, locked to a lamppost. I took a taxi home, and first thing in the morning filed a police report and an insurance claim.

Thankfully, my renter’s insurance from Liberty Mutual (obtained through work) covers loss, theft, or destruction of personal property even if it’s outside of my apartment; there’s just a $250 deductible (and potentially depreciation calculated) that comes out of the value of the item(s), which means it’s really only useful for replacing something on the order of a laptop or bicycle.

In the end, I’m getting a check for almost $500, which should mostly cover a new bike purchased during the Eastern Mountain Sports winter sale. My natural disposition then is to see the silver lining, and take this frustrating theft as an excuse to get a new bicycle for cheap (even after you amortize what I pay biweekly for the insurance).

Incidentally, while googling for the insurance quote, I discovered that when he still lived in Chicago, Obama rode a 7500 FX :oD.

Hopefully, the new bike (I’m currently leaning towards a Trek Valencia) will serve me as well as the last one.

No Comments

BackSnapper – My First Chrome Extension

Code Projects, Computers

BackSnapper

On a whim tonight, I whipped up my first Google Chrome extension in about 2 hours. A non-trivial amount of time was spent writing it up and making the icons. It’s obviously very simple, but it replicates one of my favorite features of Safari 3: SnapBack (the feature got eviscerated in Safari 4).

Basically all this extension does is add a button to the Chrome toolbar that you can click to jump back to the first page in a tab’s history. I realize the button and icons are ugly; I am not a design-type person.

The BackSnapper button once installed in Chrome 4

The BackSnapper button once installed in Chrome 4

You can read a bit more about my BackSnapper extension, download it if you’re using the developer edition of Google Chrome (currently version 4), or view the code on github.

As Chrome rolls out the Extensions Gallery, I’ll deploy the extension out there. It could probably use some better options, and some smarter heuristics for determining where the beginning is, but for my purposes it gives me the magic button I want.

Installation

You can install the BackSnapper extension from the .zip file more or less by following Step 4 in these instructions. Note that at present this only works for the dev channel (version 4) of Google Chrome.

  1. Download and unpack the .zip file
  2. Select Extensions from the Tools menu.
  3. Click “Developer Mode” on the right in the Extensions display.
  4. Click “Load unpacked extension…” and select the unpacked BackSnapper folder

Development Tips

There were a few things I learned getting this working that weren’t immediately obvious from the documentation:

  • The debug console is per tab
  • You may need to select your injected content Javascript in the debug console to view logged messages
  • For simple calls into content scripts, chrome.tabs.sendRequest() is sufficient, you don’t need to use the more complicated connect() message passing calls.

There were also a few things I couldn’t figure out:

  • Why won’t the current developers-only Extensions Gallery accept my unsigned zip file?
  • Why can’t I determine the current URL in the history after having called history.go()? location.href remains unchanged, and history.current is undefined.
2 Comments
« Older Posts