April 14, 2010
One thing I love about the technology industry is the continual tension between competing ideas and approaches to advancing the state of the art.
Being away in India (more about that later) gave me time to think about my favorite tensions. Each is a pendulum -- every decade or so it seems like attitudes swing the other way.
Here are my top four tensions; have any other good ones?
Hardware vs. Software
The mother of all tensions in our industry, no two moments exemplify the pendulum swing better to me than Transmeta's ballyhooed launch followed by Intel's crushing advancements in power-saving circuitry.
Web vs. Native
This wonderful tension makes even the smartest of the large players schizophrenic: Microsoft devotes huge resources to advancing both IE and .NET and shows a meta-layer of confusion with Silverlight; Apple launched iPhone development web-app-only but eventually succumbed to native needs; GOOG has Android and Chrome OS to stir up internal confusion. HTML5 brings us to the point where some types of apps are just better as web apps; other app categories may never succumb to the web approach.
Thin vs. Thick Client
The subset of cloud computing I think of as utility computing -- arbitrary compute resources available programmatically and on demand -- and the rise of mobile as the next decade's great charge makes me think that the pendulum is heading back towards thin, with the proviso that thin is a lot thicker than it used to be.
Centralized Service vs. Distributed Protocols
Centralized services like Twitter and Facebook have all the traction; this should be no surprise given how well they reduce the complexity of getting started, and how quickly they provide network benefits. It's always tough, however, to balance the needs of users with the needs of business. I predict in several years we'll see a flourishing ecosystem of protocols for social presence -- right now, the pendulum is firmly in the centralized services' court.
Comments (0)
March 08, 2010
If you're an iPhone developer, you've no doubt noticed that UIEvent has a timestamp value. According to the documentation, this is the time (in seconds) since system boot.
So what happens when you want to generate an equivalent timestamp somewhere that you're not using UIEvent?
I did a little digging; here's what I came up with:
#import <mach/mach.h>
#import <mach/mach_time.h>
+ (NSTimeInterval)timestamp
{
// get the timebase info -- different on phone and OSX
mach_timebase_info_data_t info;
mach_timebase_info(&info);
// get the time
uint64_t absTime = mach_absolute_time();
// apply the timebase info
absTime *= info.numer;
absTime /= info.denom;
// convert nanoseconds into seconds
return (NSTimeInterval) ((double)absTime / 1000000000.0);
}
This will give you NSTimeIntervals that are meaningfully comparable to those collected from UIEvent instances.
Comments (0)
March 03, 2010
Thinking about getting into Steve Reich? Here's my suggested order of operations:
Music For 18 Musicians (ECM)
Generally considered Reich's first masterpiece, 18 Musicians broke Reich away from the strictly "minimal" and process-oriented pieces he had previously written.
Tehillim (ECM)
A setting of Hebrew text to stunningly original orchestration, Tehillim is the piece that made me a life-long Reich devotee.
Electric Counterpoint
Counterpoint is Reich's multi-layered masterpiece written for, and performed by, Pat Metheny. You might recognize it as an eternal source of samples, notably first with The Orb's Little Fluffy Clouds and later from several RJD2 backing tracks.
Different Trains
On the same CD as the previous, Different Trains was one of Reich's earliest (and greatest) experiments with composing around the pitches present in human vowel sounds.
City Life
A five-movement piece built around field recordings taken by Reich on the day of the original World Trade Center bombing, City Life is strangely beautiful and affecting.
The Desert Music
Perhaps one of Reich's most difficult pieces, The Desert Music is complex, at turns claustrophobic and expansive, and worth many repeat listens.
You Are (Variations)
Written while Reich was approaching 75 years of age, I think You Are is one of Reich's later masterpieces.
Early Works
I've optimized this Reich ordering for easing into his music rather than studying him academically. That said, no Reich collection would be complete without a CD that highlights Reich's early philosophy of music as a gradual process.
Reich has written many wonderful pieces not included in this list, but I believe if you're serious enough about him to purchase these eight CDs you will probably end up like me and collect the rest. Enjoy!
Comments (0)