Art Gillespie

January 13, 2010 at 1:29pm
0 notes

Haiti

Source: New York Times

Please donate to help Partners in Health help the poorest of the poor in Haiti.

I don’t know about you, but as a professional nerd in a first-world country, I have a relatively ridiculous amount of disposable income—witness my XBox 360, PS3, and Wii, for starters.

There’s no imaginable excuse for those of us enjoying this absurd level of plenty not to break off some of the money we’ve set aside for Apple’s upcoming tablet and use it to save and restore lives.

Please do it. Now. I promise that helping people is much more satisfying than a new gadget.

Also, if you’ve never heard of PIH, they’ve been providing healthcare to the poorest of the poor in Haiti since the late eighties. The organization is the subject of Tracy Kidder’s excellent book, “Mountains beyond Mountains

January 12, 2010 at 7:32am
58 notes
reblogged from energyface

Why I Believe Printers Were Sent From Hell To Make Us Miserable →

I have nothing to add. Perfect.

marco:

Perfect. (via energyface)

January 6, 2010 at 3:33pm
1 note

Remember when I dismissed Verizon’s Droid because it only had 256 MB of storage for apps? Well, the only tech story going this week—the Nexus One from Google—only has one hundred and fucking ninety megabytes.

I’m astonished at how much virtual ink has been spilled on the Nexus One without mention of this limitation.

December 31, 2009 at 10:05am
0 notes

iPhone web apps and HTML 5's Offline Application Cache

I’ve been having fun in my spare time over the past few days messing around with creating web apps for the iPhone. Javascript is a fun language, and webkit has some really cool tricks up its sleeve. (-webkit-box-reflection!)

Since I’m training for next year’s Ironman Arizona and javascript countdown timers are the “Hello, World!” of client-side web apps, I started by creating a countdown timer app for that event.

If you’re on an iPhone or an iPod touch, you can install it by clicking here.

My goal was to create an app that would run when the iPhone wasn’t connected. (e.g., in Airplane Mode) To do this, you use HTML 5’s Offline Application Cache, which consists of adding the cache-manifest property to the file’s html element:

<html cache-manifest="myapp.manifest">

and creating the file myapp.manifest:

CACHE MANIFEST

#version 0.0.1 (change this to update the app)

Since all of the countdown app’s code lives in the main html file, and since the file that declares the manifest is automatically included, you don’t need to list any additional files in the manifest.

When I tested this on my iPhone in Airplane Mode, it didn’t work. It turns out that the manifest file must be served with the HTTP header Content-Type: text/cache-manifest and my web host was serving it as text/plain. Rather than submit a support request to NearlyFreeSpeech to have the server’s mime-type configuration updated, I just made my manifest a php file:

<? 
    header("Content-Type: text/cache-manifest");
?>
CACHE MANIFEST

# version 0.0.4

Fortunately, Mobile Safari doesn’t care about the manifest file’s extension: myapp_manifest.php works just fine:

<html manifest="myapp_manifest.php">

Great.

I also wanted to experiment with adding advertising to an iPhone web app, so I signed up for AdMob and added their code to the app. Easy!

Only it didn’t work. My AdMob ads were not showing up.

It turns out that when a web app uses an offline application cache, all resources are expected to be local—even when a connection is available. Since the AdMob Javascript is included with an http:// URL instead of a relative URL, the app never loads it.

The fix is to add the AdMob url to the manifest file’s URL whitelist:

...
NETWORK:
# All URLs that start with the following lines 
# are whitelisted.

http://mm.admob.com/static/iphone/

This is great, because when a connection is available, an ad loads, and when there isn’t, no ad loads, but everything else in the app works as it should.

So, if you’re having trouble getting HTML 5’s Offline Application Cache working with your iPhone web app:

  • Be sure to check the Content-Type header your web server is setting for the manifest file is text/cache-manifest.
  • If you’re including resources from the network be sure the resources’ URLs are added to the NETWORK: whitelist.

December 30, 2009 at 6:02pm
2 notes
reblogged from swifferwetjet
swifferwetjet:

Schrodinger LOLcat FTW!!!!!

swifferwetjet:

Schrodinger LOLcat FTW!!!!!

December 28, 2009 at 8:48am
0 notes

Mythical Threat Level: Orange

Great comment on this piece by Nate Silver (via Daring Fireball) in which he compares the probability of being on a flight with a ‘terrorist incident’ with that of being struck by lightning:

Well if Nate’s not going to do any editorializing, I’ll fill in the gap: We need a god damned war on lightning. Look at how dangerous it is! Will the terror of Zeus never stop!? Won’t somebody please stage some Shock and Awe(TM) and overthrow the cruel tyrants at Mt. Olympus?

December 24, 2009 at 7:31pm
0 notes

iDrum Underworld Edition gets end of year list love.

Number six in Music Ally’s The 40 best branded iPhone music apps of 2009.

December 23, 2009 at 6:03pm
0 notes

I was promised jetpacks.

I’ve been a gadget-freak as long as I can remember, and for just as long, I’ve strongly suspected that the “productivity” or “happiness” or “massive penis” that the next awesome gadget would surely endow me with was an illusion. Deep down I knew my gadget habit was probably as useful as, say, my love of fine food. I absolutely love good food, but it doesn’t exactly make me a more productive member of society. The difference was, of course, that I didn’t justify a good meal by saying it would make me more productive, happier, or better hung.

Not any more. Gadgets are really making my life better, and it only just hit me this weekend.

My wife gave me my christmas gift—an Amazon Kindle—early this year, on Saturday. I immediately started reading “Coders At Work” on it, and while this isn’t a review and I haven’t spent more than four hours using the Kindle, I can say that my initial impressions are very favorable. More on that at some later date.

The next day, I went out for a three-hour training ride to the middle of fucking nowhere™ and back. About two hours in, my front tire went flat, and for reasons I won’t go into here because they make me look like an idiot, I was stranded. Since I was only about halfway back from the middle of fucking nowhere™, I couldn’t just call my wife and ask her to pick me up at the corner of Ima and Dumbass, because even though she knows that intersection well, I was nowhere near there.

But I have an iPhone.

So I pulled up the maps app, tapped that target icon[1], tapped ‘Share Location’ and MMS’ed it to the missus. As I learned in the first war in the gulf, GPS can find you anywhere—even in the middle of fucking nowhere™.

But, as you may have guessed, the middle of fucking nowhere™ is a fair ways from our house, so I had a long wait ahead of me. What to do for the next half-hour to forty-five minutes?

Oh, yeah, I have an iPhone. I checked Google Reader, then I checked Twitter, then I remembered something: Didn’t I hear something about Amazon releasing a Kindle app for iPhone? Yes! There it is in (or on, depending on which way you lean) the App Store! For free!

A minute later it was downloaded and installed. Now, I’m no downloading-an-app-over-the-air virgin or anything, but this is the first time it struck me how completely awesome it is that you can grab an app anywhere you have a cellular connection. But that’s nowhere near as awesome as what happened next.

The Kindle Reader app grabbed “Coders at Work” in less than a minute. When I tapped on the book’s cover, it opened to the same place I had left off on the Kindle device the night before. And there I was, sitting at the side of the road in the middle of fucking nowhere™ in my silly-looking cycling outfit reading Doug Crockford’s and Brendan Eich’s takes on Javascript, complexity, and how to hire great hackers.

And of course, when I finally got home, I ran to the Kindle device and, yes, “Coders at Work” came up right where I had left off reading at the side of the road on my iPhone. I never had to tell the device or the app to sync, it Just Worked.

Now, I know we humans have tougher problems to solve than keeping The Fat Triathlete occupied while he waits for a ride in the middle of fucking nowhere™. But damn if I don’t feel—for the first time in my life— that the gadgets I own are actually helping me work on those problems rather than getting in the way.

Bring on the next gadget!

[1] Am I the only one that feels like they might be calling down artillery or an air raid on their heads when they tap that button?

5:09pm
0 notes

Charity Suggestions

I’m looking for a music- or music education-related charity (U.S.-based, 501(c)3) to raise funds for next year as part of the Janus Charity Challenge and my first Ironman in November. If you can recommend any—even if they’re not necessarily music-related—please drop me a line via agillesp@gmail.com or @artgillespie on twitter.

Thanks.

9:51am
0 notes

Everything is a Project

Great article on Scott Berkun’s site on the universality of project management:

… project management is only as boring as the thing being managed.