Saturday, December 28, 2013

Life is a Highway



“It doesn’t matter where you start the road is just as long / It’s not the destination it’s the journey makes you strong” (Gill, Janis and Schlitz, Don. "Uphill All the Way”. Buffalo Zone. Sweethearts of the Rodeo).

Friday, December 20, 2013

Tuesday, December 17, 2013

Chinese Marketing



I have no idea what “this kind of beer” is, but apparently it’s very popular here.

Friday, December 6, 2013

Wednesday, December 4, 2013

Designed by Apple

Apple’s Designed by Apple video is a tad pretentious, but I largely agree with its theme. Good design, however intangible, adds value to a product whether it’s greater productivity from software seamlessly integrated with hardware or the delight of using a device that just works. I can’t tell you how much the comfort in a comfortable chair is worth, but I know it’s worth something.

To its credit, Apple has a pretty good track record of designing great products, but sometimes they completely blow it.

Take the Airport Time Capsule.

Seriously, take it; I don't want mine anymore. In fact, I wish Time Capsule had a feature that allowed me to go back in time and reconsider purchasing it.

After a recent upgrade mishap, I had to restore my computer’s data from my Time Capsule (which is basically a WiFi base station combined with a hard drive that allows you to wirelessly backup your computer’s data using Time Machine, Apple’s incremental backup software). After letting the process run overnight, this was the amount of progress that had been made:



Seriously? Five days to restore around 300 GB of data? And to make things even worse, there was another 200 GB of data that needed to be separately restored from Time Capsule. Even after a trip to the Apple Store for advice, it took another four full days to completely recover everything.

Five wasted days, all because of poor design decisions.

Apple’s biggest mistake was making this device in the first place. Wireless backup for the amount of data on a computer is just not fast enough to be practical without annoying drawbacks. Even Apple recommends that the initial backup of your computer be done using an ethernet cable because it “may take overnight or longer, depending on how much data you have.”

For the price of a 3 TB Time Capsule you can instead buy unobtrusive 1 TB USB powered hard drives, one each for up to four computers. Time Machine works significantly faster when directly connected to an external hard drive. So much faster, that after my own experience I draw a blank thinking of a situation where I’d recommend Time Capsule.

I thought I’d set mine up efficiently when I originally bought it. It was directly connected via an ethernet cable to my iMac, which I use daily for most of my work, and I planned on backing up my MacBook, which I use infrequently, connecting via WiFi.

I was wrong. Even though there was a direct connection from the iMac to Time Capsule, it was using a much slower WiFi connection to transfer data. Eventually I was able to configure Time Capsule to use the ethernet cable, but that was after four days of waiting for restores to complete.

It should have just worked. I don’t care how Time Capsule is configured, if it’s connected by a cable with a faster transfer rate, it needs to use the damn cable.

Time Capsule is both a WiFi base station and a backup device. If it fails as a WiFi base station, I can easily replace it with another WiFi base station. But if it fails as a backup device, I have no recourse. I can’t easily replace the data stored on the device.

The design of the device should have made creation and recovery of a backups fast and dead simple. Zero configuration. If that meant fewer options in configuring it as a WiFi base station, that’s the call that should have been made. Instead, I had to browse internet forums looking for hints on how to correctly configure the device. Even after managing to get my data restored, I still have no idea how to configure it properly for the manner I originally intended to use it.

Finally, even the smallest details matter in design. Time Machine warns you if it hasn’t been able to perform a backup for an extended period of time. It should also warn you if it detects a Time Capsule connected by an ethernet cable that it’s not correctly configured to use. I doubt that’s technically complicated, but even if it is, here’s something that’s even simpler. During the four days I was waiting for my data to be restored, this message should have been displayed:
Restoring “Giganto” via WiFi on the disk “Giganto”
Just two small words would have helped me to figure out why something that should just work wasn’t working.

Here’s what Steve Jobs had to say about design:
“That's not what we think design is. It’s not just what it looks like and feels like. Design is how it works.” — New York Times, The Guts of a New Machine, 2003
Apple, the way your Time Capsule works sucks.

Sunday, November 17, 2013

Packaging

When I’m Earth Overlord, there will be strict edicts on packaging that's difficult to remove without industrial strength tools, product damage, or bodily injury. In my magnificent justness, guilt and punishment will be adjudicated through trial by packaging. Violators will be chained to the bottom of a pit which fills with water in two minutes. The key to their bonds, life, and innocence will be placed inside their own packaging.

Thursday, November 14, 2013

Slug Execution



The penalty for entering the forbidden zone of the cat's food dish: death by salting!

Sunday, October 27, 2013

Notes for the Zombie Apocalypse

Assumptions: zombies attracted to noise; slow-moving zombies.

High priority will be given to finding vehicles that can be used for crushing zombies. Likely candidates include Brink’s armored trucks, army Explosive Ordnance Disposal (EOD) vehicles, monster trucks, steam rollers, combine harvesters, bulldozers, and tanks.

Open areas will be cleared of zombies by attracting them with loud music and then running over them from the safety of a vehicle. Buildings will be cleared with a cautious multi-step procedure. First, external doors will be opened so that zombies can be attracted outside and crushed. Second, internal doors will be opened and the process repeated. Finally, room to room searches will be used to dispatch any remaining zombies.

Sunday, October 20, 2013

Facebook

Using Facebook to keep in touch with people is like using a fire hose for a sip of water.

Friday, October 11, 2013

Movies, Pacing, and Books

For economic and practical reasons, most movies have a run time of 1½ to 2½ hours. But what if time constraints could be removed and audiences would sit through an entertaining movie of any length? How much longer would films run and would their content have to change to keep the audience in their seats?

There are many examples of movies that are both long and successful. Avatar, the top grossing film of all time, had a run time of 2 hours and 42 minutes. Titanic at 3 hours and 14 minutes is the second top grossing film. The three movies of The Lord of the Rings trilogy were all around three hours in length and individually are the 33rd, 24th, and 7th highest grossing films.

But The Lord of the Rings, both the movie and the books on which it is based, is really one story told in three parts. A single “super movie” would be over 9 hours in length with combined grosses placing it ahead of Avatar.

Because the story is a sweeping epic, it’s hard to envision these movies being shorter and still doing justice to the source material. You can even argue that the extended versions of the films, which bring the total length to over 11 hours, fill in missing pieces making the story more enjoyable.

So if a 9 hour movie can be good and an 11 hour movie (possibly) as good or better, would making movies longer make them better?

The Avengers, perhaps the best (or at the very least one of the best) superhero movies ever made clocks in at 2 hours and 23 minutes. It’s the third top grossing film. Would this movie have been twice as good if it were twice as long? I don’t think so. You could add additional subplots and lengthen the actions sequences, but I doubt this would have made the movie better.

On the other hand, every M. Night Shyamalan movie feels like it’s thirty minutes too long. Even The Sixth Sense, which I liked quite a bit, drags at points. Cutting at least ten minutes out of the running time of 1 hour and 47 minutes would have made it a better film.

Why is this?

Pacing.

Stories have rhythm. If it’s too fast, then we wonder why things happen. If it’s too slow, then we wait for things to happen. If it’s just right then we get caught up in the story and lose track of time.

The Sixth Sense presents too little story in too much time. A point is reached where we understand that Cole is a troubled child who has disturbing supernatural events occurring around him. We also understand that Malcolm, the child psychiatrist who is trying to help him, is troubled in his own way. We’re ready to move on to the next thing—for the characters to begin working on a resolution for their problems—but instead the film keeps focusing on the problem for far too long before finally coming to a resolution and satisfying conclusion.

The editing process, driven by practicality of run times, generally makes movies better. No amount of editing is going to turn hours and hours of bad footage into an oscar winner, but it stands to reason that if you take the best footage, sequence it properly, and leave the rest on the cutting room floor, you’ll probably have the best film you can make.

For good films this often means the hard choice of not including some footage. In Alien, a cut scene reveals the fate of Dallas and Brett who had been earlier captured by the xenomorph. It revealed some intriguing information about the alien’s life cycle, but placing it in the middle of Ripley’s frantic escape from the Nostromo before it self-destructed would have disrupted the pacing of that sequence. Similarly in Aliens, there is a cut scene in which Ripley learns that her young daughter lived out her life and died during the 57 years she was adrift in space suspended in hypersleep. This short scene makes it easy to see how Ripley would view Newt as a surrogate daughter, risking her own life to rescue her from the depths of the alien hive. But is it an essential scene to understand Ripley’s motivation? I would say the answer is no. From the interaction shown in the movie, it’s believable that Ripley would risk her life to save this child and thus the scene can be cut without diminishing the film.

What these cuts illustrate is that in well-made movies, every scene should be questioned before being included in the final cut. Does this scene serve a purpose? Is this scene needed to advance the plot? Is the movie better with this scene in it and worse without it?

I wish every book author went through this process, especially once they became successful.

When a film franchise becomes successful, the films don’t typically become longer and longer. If anything increases, it’s usually the budget and production values—once you’ve proven something is successful spending more money on it is less of a risk.

When a book franchise becomes successful, the same is not always true. I’ve graphed the page counts of a number of fantasy book series I’ve enjoyed reading: Discworld, Xanth, Harry Potter, and Anita Blake: Vampire Hunter. I’ve only graphed the first ten books in these series with the exception of Harry Potter which consists of just seven books.



First, I love the Discworld books written by Terry Pratchett. Every book he writes is just as long as it needs to be. And funny never gets old—his dialogue, descriptions, observations, and plots always ooze with his unique sense of humor. I’ve read 33 out of the 40 books currently in the series and haven’t grown tired of them yet. His books show a modest increase in size as the series became successful with the 33rd being only 50% longer than the first.

The Xanth series by Piers Anthony is one I started reading when I was in High School and I still have very fond memories of them. I started reading them again as an adult and finished 25 out the 38 currently in the series. The books have always had pun-derived humor, but the latter books began to focus less and less on plot and characters and more and more on puns (which eventually became too pun-ishing for me), so I lost interest in the series. As the graph shows, the length of his first ten books was the most consistent of the four series. This trend continued in his latter books with the 25th being only 9% longer than the first. He clearly has a feel for the length for the stories he wants to tell and crafts his plots to fall within the desired range.

Next is the Harry Potter series by J.K. Rowling. It’s insane to argue about the formula for books as wildly successful as these, but I’m going to remove my tin foil hat and make an attempt.

I can’t think of better examples of how to craft plots than the first three books in this series. Everything in the stories serves a purpose. The pacing is just right and you’re never left waiting for things to happen. The latter books, however, feel bloated in comparison. Subplots abound that serve little purpose in the greater arc of the story and it takes far too long to resolve many issues.

I’m not arguing that the last four books are bad; I enjoyed them. I just think they could have been better. Look at the modest increase in size for books 2 and 3 in the series. Now look at how the page count sky rockets for books 4 and 5. The fifth book in the series is 278% longer than the first. It’s certainly not 278% better.

That’s because more of the same thing is not always the same thing. The experience of eating one piece of candy is not the same as eating one hundred pieces of candy—in one case, you wish you could eat more and in the other you wish you had eaten less.

Making your books twice as long is not twice as much of the same thing—it’s something different. It’s a different formula. It’s New Coke vs. Classic Coke. Even if you like New Coke better, you can’t reasonably argue that it’s the same thing as Classic Coke.

The same is true for the Harry Potter series. The formula for the first three books is clearly different than that for the last four. The expanding plot changed the pacing of the stories for the worse, not the better. It wasn’t enough of a change that I stopped reading the series, but it was enough that I enjoyed the latter stories to a lesser extent.

Finally, there’s the Anita Blake: Vampire Hunter novels by Laurell K. Hamilton, which started out strong, but slowly bloated over time. The tenth was the last I read before giving up on the series. It was 241% longer than the original novel—it was also 241% worse.

Here’s the deal. If you have common scenes in every book you write, you have to be really careful with pacing. Once your reader gets through one elaborate description of someone getting dressed, eating a meal, channeling supernatural power, or pulling out a gun during a tense confrontation, reading similar passages becomes less and less interesting. If your books remain the same length, no worries. But if they become longer and longer by including more and more of the same old thing, then you really need to find an editor who’s willing to challenge everything you write, regardless of how well your books are selling.

As a reader, this is my plea to authors. Edit your books like movies. Set a reasonable limit, say 400 pages, and then trim your story, keeping only the best parts, until it fits within that self-imposed limit. Then add pieces back only if you can justify their inclusion.

I’m not saying you can’t write a masterpiece that would be diminished by the omission of a single word—I’m saying that if you think you can, you probably can’t.

Thursday, October 3, 2013

Mmm Mmm Good!



Nothing says “We know how to make donuts” quite like fresh fish.

Friday, September 27, 2013

Dear CBS, Huh?

I don’t get it. You give me the distinct impression you couldn’t care less whether I watch your shows or not.

The season finale of Under The Dome was delayed by thirty minutes so the DVR didn’t record the entire episode. After watching what did record, I checked to see if the episode was available from AT&T U-verse on demand. I figured paying a cable bill might give me some perks I wouldn't get if I watched shows over the air for free. I figured wrong. NBC, ABC, and FOX all offer shows on demand. CBS, nada.

Next I tried downloading the CBS iPad app. Under The Dome wasn't available from there either, so I tried streaming it from the web browser on my iPad. I particularly like the way you detect I'm using an unapproved device and don’t make full episodes available.

Apparently, however, my desktop computer is worthy in your eyes—I just had to watch eight minutes of commercials to start where the show ended on the DVR. It was also much more comfortable sitting in front of my work desk rather than reclining in my La-Z-Boy.

And then I had the same problem a few days later. Another nice touch on your part: you change the name of Survivor every season by adding a subtitle, so every season the DVR has to be reprogrammed. Guess who forgot to reprogram the DVR?

So I missed the first episode which I won’t be seeing because, given your attitude, it’s more effort than I can muster.

You seem to think because you're doing better than the other networks in the Big Three, you can call the shots. The truth is you’re just the winner of the losers. The canaries in your coal mine are all dead. The early signs that you need to change the way you provide content have come and gone. It’s the miners who are keeling over now. People like me. The miners may not buy the coal from you, but without them you have nothing to sell.

So here’s some advice from the guy parents point at when warning their children of the dangers of watching too much TV: you’re mistaken if you think your shows are so addictive I’ll jump through hoops to watch them.

And when addicts won’t deal with you because it’s too inconvenient, you’ve got a big problem.

I feel jittery. Good thing I don’t have to wonder whether I can get a fix of Breaking Bad from Netflix.

Saturday, September 21, 2013

Fingerprints and the iPhone 5s

Senator Al Franken has some privacy concerns with Apple’s new iPhone:
I am writing regarding Apple’s recent inclusion of a fingerprint reader on the new iPhone 5S. Apple has long been a leading innovator of mobile technology; I myself own an iPhone. At the same time, while Apple’s new fingerprint reader, Touch ID, may improve certain aspects of mobile security, it also raises substantial privacy questions for Apple and for anyone who may use your products. In writing you on this issue, I am seeking to establish a public record of how Apple has addressed these issues internally and in its rollout of this technology to millions of my constituents and other Americans.
This is an important discussion, but perhaps the government should be answering privacy questions as well as asking them. Identify theft via fake fingerprints becomes an issue only if fingerprints, like social security numbers, become a routine method of identification. If fingerprint readers in consumer devices don’t work reliably, aren’t convenient, and aren’t secure, consumers simply won’t use them.

On the other hand, imagine how much say you’ll have in the matter if the government decides your fingerprints are a good way to identify you before you board a flight. If that seems far-fetched, consider that you already have to choose between being irradiated or molested every time you fly as part of the TSA’s security theater. Fingerprinting is already required for many jobs and in some states to obtain a driver’s license or purchase a gun.

If you’re worried about Apple opening a Pandora’s box, remember that it’s usually the government that creates a self-aware supercomputer and puts it in charge of all the weapons.

Monday, September 16, 2013

Changes

When change happens gradually over a long period of time, it’s easy to lose sight of how far you’ve come from where you started. When I first started working with CLIPS in 1985, I used the monkey and banana (MAB) problem as a benchmark for improving performance of the rule engine. The original version had 20 rules, 5 initial facts, and executed 14 rules. To make the program a bit more complex, I added chests and keys so that objects could be locked away and the monkey required additional planning to gain access to them. This extended program had 32 rules, 13 initial facts, and executed 81 rules. It’s a toy problem and today it seems silly that I used it for benchmarking anything, but it was at the time invaluable in improving the performance of CLIPS as well as comparing the performance of various rule engines and hardware platforms. The usefulness of this benchmark is more apparent if you view it as measuring best case performance rather than performance under load as other benchmarks such as Manners and Waltz measure.

In 1986 even the state of the art Automated Reasoning Tool (ART) software running on expensive Lisp machines executed MAB at only 72 rules per second. CLIPS running on a VAX-11/780 clocked in at 16.8 rules per second and OPS5 on this same platform executed 62.3 rules per second. When I first got CLIPS running on an IBM AT, execution speed was less than 1 rule per minute. You read that right—it took over an hour for the monkey to get his hands on the banana. CLIPS dynamically allocates and deallocates memory as it executes and in those days—when memory on PCs was more often measured in KB rather than MB or GB—the memory allocation libraries were often painfully inefficient. It was only after I removed some of the unnecessary allocations/deallocations and had CLIPS cache deallocated memory that I was able to improve the performance to 4.3 rules per second.

Over 25 years later, CLIPS clocks in at well over 100,000 rules per second running MAB on my laptop. Think about that for a minute. That’s over 25,000 times faster. Twenty. Five. Thousand. And most of that, at least for MAB, is attributable to the hardware (and possibly the compiler/operating system), not improvements to CLIPS (which at most might have improved performance for MAB by a factor of 2 to 4 times). Consider that improvement in terms of the problems you can solve today that you couldn’t solve 25 years ago.

And it’s not just that hardware is faster—it’s also cheaper. I was downright ecstatic when I got a Macintosh IIfx in the early 90s at NASA. Programmers hate waiting for code to compile so we always want the fastest computer available. At the time the IIfx was “wicked fast” with a 40 MHz CPU and up to 128 MB of memory. It also had a hefty price of around $10,000 (roughly $16,000 in today’s dollars adjusting for inflation). After I left NASA and was working from home, I bought a Mac clone from Power Computing in 1997 for $4700 (roughly $6700 today). Since that time, my desire to have the fastest computer available has melted away as the lower end computers became fast enough for almost everything I do. The last desktop computer I bought was an iMac in 2009 for $1500 (roughly $1600 today). It came with a 2.66 GHz processor and 4 GB of memory. I upgraded to 8 GB of memory in 2011 for around $115 when I started running Windows in a virtual machine. Occasionally there’s some sluggishness when switching between the virtual machine and Mac OS X—which could probably be fixed by adding more RAM (if alas the computer weren’t already maxed out)—but for the most part this computer still feels new.

Usually after around four to five years, as the operating system and applications introduce new functionality that increasingly taxes the hardware, sluggishness becomes noticeable to the point that it’s easy for me to justify a new computer based on productivity alone. Yet I’m at the point where I usually start thinking about a replacement, but feel no serious need for one. If I feel that way and use a computer most of the day for programming, I wonder how the average consumer feels about replacing their computer when all they do is use it for activities like email and surfing the web. Obviously traditional computers (desktops and laptops) aren’t in danger of extinction, but if I were a company that just made these devices (and not smart phones and tablets), I’d be worried about my long term profitability.

Which gets me back to my original point. We had computers 25 years ago and we have them today, but boy have they changed. With smart phones, we literally walk around with computers having tricorder like functionality in our pockets. What will I be comparing these devices to in 25 years?

Wednesday, September 11, 2013

Grandeur is the Best Form of Delusion

So Apple surveyed the entire mobile landscape and decided after careful consideration to imitate Nokia phone designs. That’s odd. Usually companies try to copy, you know, their successful competitors, not the ones on the brink of irrelevancy. Given that Apple provides color choices for their other devices (like the iPod shuffle, iPod nano, and iPod touch), isn’t it a bit less self-important to assume that they eventually would do this for the iPhone as well.

Sunday, September 8, 2013

App of the Day Promotion

Back in February I was approached about offering List! on a “free app of the day” promotion app. The idea is that you make your paid app free for a day during which you have mass exposure to the millions of users of the promotion app. The benefit pitched to developers is that once the app becomes paid again, there will be a significant increase in the number of downloads (4 to 50 times more). In my case, there was no cost for the app promotion other than the lost sales caused by reducing the cost of the app from $1.99 to free. The results of the promotion during the week ending February 10th, 2013 are shown in the following chart.



I’ve graphed the week of the promotion as having no paid downloads—there were over 446,000 app downloads during the week of the promotion, but only a minuscule portion of these would be paid rather than free on the days before and after the promotion. There was a slight bump of 2 to 3 times the usual number of downloads in the following week, but this wasn’t a sustained trend. So in my case, there was no upside to the promotion.

There was a downside to the promotion that I hadn’t fully considered beforehand. The promotion app was not available in the US App Store, so most of the additional exposure from the promotion was in Europe, Central and South America, Russia, and Japan. List! is not localized for languages other than English and the promotion app apparently did not contain any information about the languages supported by the promoted app. So rather than getting downloads from people who were fluent enough with English to consider using the app, there were a number of people who weren't comfortable with English, downloaded the app without knowing it didn't support their native language, and then left one star reviews because of the lack of localization. It wasn't a huge number, but a half dozen reviews is all it takes to get a one star average. Bottom line: I might consider another promotion like this even though the results were disappointing, but I wouldn't do it unless my app was localized.

Wednesday, September 4, 2013

Realistic Musicals

When I become Earth Overlord, I'm going to put the kibosh on these so-called realistic superhero movies and TV shows. They’re oxymoronic. If you think Christopher Nolan’s Dark Knight trilogy is awesomely believable, I’m sorry to inform you that you’re sadly mistaken

Here’s the deal: superheroes are like musicals. In real life no one starts spontaneously singing and dancing to snappy show tunes, but that’s pretty much what makes a musical a musical. So you can take the singing, dancing, and humor out of Fiddler on the Roof and call it dark and gritty, but you can't call it a musical. Similarly there are elements of the classic superhero genre that define it. You can’t remove these for realism without redefining the genre. And let’s be really honest; the superhero as depicted in classic comics such as Batman is far more than one or two tiny tweaks away from being realistic. Forget about aliens, radiation-induced superpowers, and magic. The logistics of maintaining a secret identity, changing into costume, and getting to and from your secret lair are realistically insurmountable. Having your superhero speak in a husky voice doesn’t solve any of these issues and in fact draws attention to the unrealistic aspects of the story. There’s a reason why the Batman voice schtick from the Dark Knight trilogy is so frequently parodied: it sounds stupid. Kevin Conroy from Batman: The Animated Series—which is arguably the best Batman to come out of Hollywood—has already solved the problem of using different voices for Bruce Wayne and Batman without sounding like an idiot. There was no need for another solution.

Here’s a thought: If you’re embarrassed by the conventions of the superhero genre, don’t make a superhero movie. If you can buy into Superman shooting fire out of his eyes, but can’t buy into his ‘pair of glasses’ disguise, then maybe you need to make another type of film. Or rather than fixing established characters that aren’t broken in the first place, how about creating new ones that you can make as realistic as you want. Films like Unbreakable and Chronicle come to mind. And if you still insist on making a “realistic” superhero movie, you might want to make the whole thing realistic. Start by getting rid of the part where Bruce Wayne’s broken back is fixed by shoving his spine back into his body and then suspending him from a rope until it mends.

Monday, August 26, 2013

JavaScript CLIPS

Pretty cool discovery by a user on CLIPSESG. Using emscripten it’s possible to convert CLIPS to JavaScript.

Friday, August 23, 2013

The Walls Came Down

Microsoft CEO to retire within the next 12 months:
Microsoft Corp. today announced that Chief Executive Officer Steve Ballmer has decided to retire as CEO within the next 12 months, upon the completion of a process to choose his successor. In the meantime, Ballmer will continue as CEO and will lead Microsoft through the next steps of its transformation to a devices and services company that empowers people for the activities they value most. 
Coincidental timing or the inability to recognize and respond to disruptive innovation?



The Walls Came Down by The Call:
They stood there laughing
They’re not laughing anymore
The walls came down