Barefooting for the win

February 1st, 2010

A couple months ago, I bought a pair of Vibram FiveFingers shoes, specifically a pair of KSOs. I’ve been wearing the shoes pretty regularly and, to be entirely honest, they are probably the most comfortable shoes that I have ever worn. The shoes don’t provide support in the way typical shoes do so it takes some getting used to and rebuilding strength in muscles that have been under-utilized since childhood. Once your feet get used to the FiveFingers, it becomes a truly fantastic experience to rediscover walking, jogging, sprinting, and the like.

Additionally, recent research shows that barefoot running is low impact in a way that shod running is not. Apparently, running barefoot changes your gait, which I can anecdotally confirm.

Worth noting, in the negatives column, you cannot wear traditional socks with FiveFingers and they will start to smell if you wear them regularly without socks. FiveFingers shoes are machine washable, which is an option, or one can purchase toe socks from Injini (or others), which is the solution that I’ve chosen. Sadly, the toe socks solution is somewhat expensive but, for me, I’m sufficiently hooked on my FiveFingers that it’s worth it to me.

Linguistic Complexification

January 6th, 2010

There exist wondrous peculiarities to language, which allow for some truly bizarre linguistic constructs. As an individual who generally revels in confusion, discord and chaos, in addition to the use of parenthetical clauses and preambles, I am, of course, thrilled by linguistic constructs that either work in spite of seeming not to or don’t work in spite of seeming to.

In doing a spot of research while writing this particular post, I happened to discover that wikipedia has a pretty great list of linguistic example sentences, which I highly recommend mining for entertainment purposes.

Preamble aside, I have two particular constructs that I want to mention, one a sentence and the other a phrase:

Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.

That is, that that is is, that that is not is not is that it it is. That is, that that is is that that is not is not. Is that it? It is.

The latter of these two, I mention because its use in a recent episode of Rocketboom, which I’ve taken to watching, brought it to my mind. The former, I have known and loved for a while and mention because I have not done so in this space prior to now. There are, of course, plenty of other sentences that I enjoy for similar reasons, some involving “had” or “that”, that were excluded for the sake of brevity.

Please feel free to return your seats to their upright position and your televisions to the regularly scheduled program.

Well, there go the aughts

January 2nd, 2010

I guess that we’ve finished a decade and moved into a new one. On account of predictions are fun, I’ll give you a few that are all but guaranteed to come true in the following decade:

  • We’ll all get personal jetpacks.
  • Hoverboards will make it to market.
  • Everyone will start driving flying cars.
  • Jesus Christ will return to us.
  • Skynet will be born.
  • We will reach the singularity.

This is just a few of the wonderful things that are going to happen within the next decade; I’m really looking forward to all the fun.

Happy new decade!

Woods Hole, MIT, Virgin America; it’s a small world

December 28th, 2009

Yesterday, in returning from a week long, Christmas related stint in my home state of Massachusetts, I had a particularly intriguing synchronicity.

I was flying Virgin America, which is an excellent airline but that’s an entire discussion of its own right. As a matter of good fortune, I was flying Main Cabin Select, which provides, amongst other things, the option of checking in through the First Class line. The regular line was proceeding rather quickly and a young lady behind me in line made a comment to the effect of it seeming a mistake to be in the First Class line. My motivations being as they are, I took a few moments to chat with this nice young lady but didn’t make it far before it was my turn to go forward and check my baggage.

Conversations cut short are unfortunate but such things happen. I proceeded through security, got to the gate, waited a while and boarded the plane where who should end up in the seat next to me but the very same young woman who had been behind me in line. This was a pleasant coincidence but not terribly surprising insofar as there are not very many Main Cabin Select seats on any given plane. Shortly after taking her seat, this young woman says to me, “nice ring” and, as I glance over, it turns out that she’s an MIT graduate as well; there’s a pleasant extra level to this coincidence and a good source for conversation topics.

As we’re chatting about various things, this young woman (who I am going to refer to as Margaret because it’s easier than continuing to use qualified generic nouns), mentions that she was on the crew team and I mentioned that I had been on the sailing team. Somehow, in discussing sailing, I mentioned spending summers on Cape Cod, which raised the question of where. My answer, of course, is Woods Hole and, lo and behold, Margaret’s family also has a place in Woods Hole. I should note that Woods Hole is a very small town and it’s quite rare that I encounter someone in Woods Hole that I have not met before, especially someone within 5 years of my own age. As a result, rather unsurprisingly, it turns out that Margaret and I have at least a dozen mutual acquaintances and friends.

Overall, it was a fantastically surprising coincidence; so much so that it makes me wish that Mr. Data were on hand to tell me what the odds of the coincidence were. Certainly there exist certain biases to correct for, which make it such that the coincidence isn’t purely random but I am not terribly inclined to enumerate all of the non-random factors that may have contributed. Why such a coincidence happened, I can’t say, but it did, and that’s great. The end result is that I’ve narrowed the gap of people that I don’t know in Woods Hole and made a connection with a pleasant new person in this world.

Avatar: The last film I will see in 3D

December 22nd, 2009

I saw Avatar last night in RealD 3D and, I have to say, it is a very pretty, rather fun, awesome to watch movie. The 3D for Avatar was incredibly well done but it gave me such a bad headache and nausea that it almost wasn’t worth it. Luckily, I was able to immediately go home and go to sleep, thus not dealing with the discomfort much. Needless to say, I think that I’m going to stick to 2D movies for the foreseeable future.

Diatribe about 3D aside, Avatar is a pretty great movie. Sure it’s Dances with Wolves in space but Dances with Wolves was a good movie so why not put it in space. Actually, more than that, to me Avatar was Dances with Wolves meets Dinotopia in space. The color palettes of Avatar were vibrant and pretty in much the way that the palettes of Dinotopia were; furthermore, the creatures and world were sufficiently realized to make it seem like a place that one might really want to go. In fact, I think Avatar has provided me with the first artificial setting that I have had a strong desire to visit since Dinotopia.

So, having discussed the pain (literally) of the 3D, the adequacy of the story (adequate being the right word), and the beauty of the world, let’s talk about the special effects. For quite a while, I have been adamantly opposed to the use and overuse of CGI in the film industry. Certainly, some studios do CGI correctly (Pixar, DreamWorks) but when mixed with live action, I tend to think that the Jurassic Park or Aliens approach of relying primarily on live action, puppets and robots is a much safer and more visually appealing approach. The clearest example of where real is good and CGI is bad is to look at the original Star Wars trilogy in comparison to the new Star Wars trilogy. Somehow, thankfully, James Cameron has not fallen in the same way that George Lucas has; Avatar beautifully mixes the real with the CGI and I did not once feel as though things had fallen into the uncanny valley.

Hopefully Avatar will end up profitable in spite of its truly ludicrous budget (officially $237M + $150M marketing) and James Cameron will be allowed to keep making crazy as heck science fiction stuff (it was at >$232M after its opening weekend so odds are pretty good). The outstanding question now is whether he’s going to make a sequel to Avatar or whether he’s going to make Battle Angel Alita like he’s been talking about for a while.

So yeah, overall, I am inclined to recommend the Dances with Wolves meets Dinotopia in space movie, otherwise known as Avatar but I do not recommend it in 3D unless you’ve got some dramamine to take beforehand. Actually, that’s an idea; maybe I’ll pop a couple dramamine and try seeing it again, you know, for science.

Unsticking Stuck LCD Pixels: A Script

December 8th, 2009

As I just recently suggested I might do, I have made a script for automatically generating color cycling animations of arbitrary sizes and speeds.

The script can be used at: http://blog.gwax.com/files/rgbanim.php

The script accepts the parameters height, width, and delay, so it can also be used in more interesting ways. Feel free to play around (if you crash it, let me know).

Ex.: http://blog.gwax.com/files/rgbanim.php?width=100&height=100&delay=7

Or, better still:

- Width - Height - Delay

For the curious amongst you, the relatively simple code follows:

< ?php
if(isset($_GET['delay']) && is_numeric($_GET['delay']))
	$delay = max((int)$_GET['delay'], 1);
else
	$delay = 10;
 
if(isset($_GET['width']) && is_numeric($_GET['width']))
	$width = max(min((int)$_GET['width'], 1920), 1);
else
	$width = 320;
 
if(isset($_GET['height']) && is_numeric($_GET['height']))
	$height = max(min((int)$_GET['height'], 1080), 1);
else
	$height = 240;
 
$out = new Imagick();
$out->newImage($width, $height, '#FF0000', 'gif');
$out->setImageDelay($delay);
$out->newImage($width, $height, '#00FF00', 'gif');
$out->setImageDelay($delay);
$out->newImage($width, $height, '#0000FF', 'gif');
$out->setImageDelay($delay);
 
header('Content-type: image/gif');
echo $out->getImagesBlob();
?>

Unsticking Stuck LCD Pixels (Redux)

December 4th, 2009

My previous article on Unsticking Stuck LCD Pixels having been rather a hit and having been asked for an alternate gif image, I figured I should revisit the topic briefly.

The animated gif images were created with ImageMagick. Having long since forgotten how I did it last time, I reacquainted myself with ImageMagick and have developed this little one liner:

convert -delay 20 -loop 0 -size 100x100 xc:#FF0000 xc:#00FF00 xc:#0000FF rgbanim.gif

This command will generate an animated gif to use in attempting to fix stuck pixels. Key parameters are:

Image size can be changed by changing the size parameter.
ex.: -size 640x480

Cycling speed can be varied by changing the delay parameter.
ex.: -delay 7

So, if my original images don’t serve your purposes, go grab a copy of ImageMagick and make one of your own. (If I feel ambitious, I might hack together a script to auto-generate these gif images)

UPDATE: Apparently, I was sufficiently ambitious.

The truth about tomorrow

September 27th, 2009

Tomorrow has not been yesterday yet for quite some time to be.

A post-apocalyptic beginning

September 25th, 2009

I just came up with what I think is a good first line for a book and a not quite so good second line:

“Our parents used to ask each other if they remember where they were when a man first walked on the moon or when the Berlin Wall fell; we used to ask each other where we were when the World Trade Center fell; now, if we can find anyone to ask, we ask where we were when the world ended.”

“I remember where I was when the world ended; I was in a McDonald’s, and I didn’t even like McDonald’s.”

Griffon Sketch

August 21st, 2009

A sketch of a griffin standing in watch over a savanna

A sketch of a griffin standing in watch over a savanna

This is further art sketched on my N810 while idle in life. I’ve always found griffins (which I apparently can’t always spell correctly) to be fantastically cool mythical beasts, right up there with hydras, I’d say. This image is of a griffin up on high observing its savanna hunting grounds. I kind of feel like griffins, were they to exist, would have been native to Africa; you could say that my landscape in this image has African savanna influences (ish).

SkyzCastle Sketch

August 21st, 2009

Sketch of a mountain top castle under siege from flying machines

Sketch of a mountain top castle under siege from flying machines

First off, I have to admit that I don’t know why I decided to give this file a filename of “SkyzCastle” except that it must have seemed appropriate at the time that I made it. I’m about a month behind on posting images so I really can’t say what my motivations were at the time. This sketch is, I would say, ok at best, but I am trying to adopt a policy of posting my art here. In case it isn’t clear, this is a castle on a mountain top that is under siege/assault from balloons and ornithopters.

Lighthouse Sketch

August 21st, 2009

Sketch of a landscape with lighthouse made on my N810

Sketch of a landscape with lighthouse made on my N810

Another image from the department of sketches that I’ve made on my N810 while passing time *cough*in meetings*cough*. This, as should likely be obvious, is a sketch of a lighthouse on a cliff above some rocky waters near some relatively peaceful ocean waters. Enjoy.

Snark Sharking

July 30th, 2009

How much snark should a snark shark snark if a snark shark can snark snark?

A snark shark should snark as much snark as a snark shark can snark, if a snark shark can snark snark.

Further spyjinks

July 29th, 2009

I am not currently at liberty to discuss where I have been or what I have been doing, which is not meant to imply or suggest that where I have been or what I have been doing is of sufficient importance or noteworthiness as to warrant or justify its serving as the topic for a discussion were I to be at liberty to discuss such matters, which I am not.

Baldr vs. Watermelon

July 6th, 2009

We’ve been teaching Baldr that destroying watermelons is a good thing. “Why?” you might ask and the answer is clear: because Baldr attacking watermelons is awesome. On account of awesomeness and the fact that we actually had two watermelons lying around, there are two sets of watermelon destruction involved. Proof follows.



(Matt helped a little with the second watermelon)

Boat Sketch

July 6th, 2009

Sketch of a small sailboat made  on my N810

Sketch of a small sailboat made on my N810

This is a small sketch of a person sailing a small boat that I made on my N810’s touchscreen while passing some time recently. I’m rather pleased by this little sketch so I thought that I’d toss it up here.

On airplane bandwidth and latency

July 2nd, 2009

Having recently used Virgin America to transport myself across the country, I was very pleased to have Internet access while I was in the air. This, however, is not the sort of airplane bandwidth and latency that I am going to talk about. Instead, I would like to discuss a comparison between the bandwidth and latency of typical Internet connections with those associated with taking a hard drive on an airplane.

Let’s say we compare a high speed (15Mbit) DSL connection to taking a moderately large hard drive (500GB) on a plane for data rates between San Francisco and Boston (~7 hours):

Bandwidth:
DSL: 15 Mbit/s
Airplane: {{500 GB} / {7 hr}} * {{1 hr} / {60 min}} * {{1 min} / {60 s}} *{{8000 Mb} / {1 GB}} approx 150 Mbit/s

Latency:
DSL: ~100ms
Airplane: >7 hours

For fun, let’s try something a little bigger on both sides: OC-768 vs Boeing 747-400F plane filled with 2TB hard drives.

Bandwidth:
OC-768: 38 Gbit/s
747-400F: {{250,000 lbs} / {7 hr}} * {{2 TB} / {1.7 lbs}} * {{1 hr} / {60 min}} * {{1 min} / {60 s}} *{{8 Tb} / {1 TB}} approx 93 Tbit/s

Latency:
OC-768: <100ms
747-400F: >7 hours

Clearly, hard drives on an airplane will win in a purely bandwidth driven application but airplanes suffer from incredibly high latency. You will have to decide which is best choice based on your particular use scenario.