What’s a “Barking Lassie?”

A Barking Lassie is something that says very, very little, while all the meaningful information depends on context. So on the TV show, Lassie barks madly at Timmy, who then says, “You say Mr. Jones fell into the old mine shaft uphill from the old flour mill, Lassie? Show me!!”

Every time I see a SIGABRT from a debugger, without a lot else to go on, I think of it as a barking Lassie.

Posted in Uncategorized | Leave a comment

iPhone exclusivity with ATT an error? Don’t think so.

The article Verizon iPhone second glance: exclusivity farce a fireable offense? suggests that having ATT as the only US cell service provider allowed to sell iPhone for so long was a mistake. Meh.

Not only did ATT sign up with Apple using mutually beneficial terms when nobody else would, they extended the contract at least once. The phones have been selling well despite ATT’s renown service problems in some metro areas. (And perhaps iOS loaded the service down a bit more than it should, I really don’t know.)

Google’s arrangements with a variety of phone manufacturers and service providers does not give Google the same amount of quality and experience control that Apple currently enjoys. You aren’t guaranteed to get OS updates, and the phone may be loaded with “goodies” in the fashion similar to typical brand-name PCs, but the phones are actually less expensive.

More to this particular point is that the iCEO remembers which companies have been honestly enthusiastic about working with Apple, and those…that weren’t. That exclusive contract extension with ATT may have been less about the favorable terms worked out with ATT, and more about reinforcing the ground rules with other companies. Verizon wanted iPhone a while ago using industry standard terms, but Apple chose to work with ATT instead.

Posted in Uncategorized | Leave a comment

Still networking socially by swapping real, physical business cards? Really?

Here we are, on the verge of the year 2011. We’re still handing each other little 2 x 3 inch bits of cardboard, plastic, bacon, silicon wafer, teak, bamboo…we obviously haven’t nailed down a “business card” protocol that everyone uses to add one another to our respective address minders in our phones and private clouds. No, we still do that manually, or we have a little business card scanner that OCRs the information and tries to get each field shoved into the correct pigeonhole.

We use our fancy smart phones to send IMs, text messages, images, files, blog entries, recipes, secure emails, free iOS apps. We even do have a gaggle of applications that will temporarily connect to trade contact information. Does anyone use them?

With business cards, there are two camps. One camp lets the cards pile up in a basket on or near their desk, with nary a clue after a couple days who anyone is. The other camp writes notes on the card, keys the information into their contact list, and muy pronto tosses the card into the trash. (There’s another little group that enshrines the cards in binders, but I haven’t run into many members of this camp.)

Really, all you want is someone’s contact information, so you need a business card scanner app for your smart phone. You should provide a nice virtual business card that just appears on the screen of your smart phone, so that someone else’s business card scanner can capture the image. That image doubles as contact information in case you lose your phone.

They also want to remember why they talked to you, so hopefully you have your cloud presence at the ready.

Looking at the iTunes app store, I see 44 business card capture/scanner/OCR apps. Some of them attempt to do the optical character recognition locally, while others send the image to a cloud server and return the data analyzed from the card image.

Comments for each application range wildly; you’ll see a pack of 4 and 5 star ratings mixed in with a bunch of 1 and 2 star ratings. One problem I see immediately is that there’s usually no way to tell what device these customers are using: I’ve seen occasional complaints about the iPhone 3G camera not working well enough to OCR captured images. I suspect that the difference between high and low ratings are due to the cameras. The iPhone4 probably works well with these apps while the iPhone 3G doesn’t. Without asking the reviewers, there’s no way to really tell. From reviews up on the net, some apps minimally require an iPhone 3GS to work at all.

For all I know, all the apps work fine with iPhone 4, have a difficult time with the iPhone 3G and work marginally well with iPhone 3GS, as a function of the camera resolution.

Here are some product reviews. I think big important web sites like MacWorld intentionally refuses to date their review postings to keep the eyetracks coming.

MacWorld: iPhone business card scanners

Touch Reviews: ScanCard – Business Card Scanner for iPhone [Quick Look]

Gear Diary: ABBYY Business Card Reader- iPhone App Review

Posted in Machine Ballet | Tagged , , , , | 2 Comments

Make Copies Moot

In an analog world, creative content such as newspapers, magazines, television shows, movies, music, plays, books, designs, and even software, were well anchored and therefore grounded. By anchored, I mean content was attached to, or based on, a particular physical media, because content had to be imprinted on something solid, if not flexible, to be useful. By grounded, I mean having mass, being subject to gravity and taking up space, and therefore difficult to copy and move: if the table weren’t in the way, the darn thing would plummet to the ground and stay there!

In order to copy something, you had to put the copy onto its own media, which effectively grounded, or slowed the distribution of, the copy. This is a defining property of old analog, physical media. I am using it to compare old with new media.

99% of all the content ever created by humans can be easily copied onto digital media. The defining property of digital media is to liberate content: make it easy to copy and move. Digital media does not anchor content, therefore the content is not grounded, it is liberated.

Since the time of the earliest personal desktop computers, software and content publishers have attempted to anchor their digital content. The usual method is to bind content to an anchor called copy protection. The anchor is an attempt to ground content to digital media like a CD-ROM, DVD, cartridge or memory stick, or more recently to the disk of the computer.

Historically, some members of the public have found that circumventing digital copy protection is straightforward. It is hard to build an anchor that is hard to break. Using one, people might buy content instead of copying it, but raises the costs of distributing content and the electronics. Copy protection fights against the defining nature of digital media, to liberate content. It fights the reason for wide adoption of digital media.

Content designed to work well on old analog, physical media does not do well commercially on digital media. It is difficult for anyone including government to effectively pursue copyright infringers. Large content providers have tried for years to get the government to make it easy to nail infringers. They haven’t been very successful.

Even if the government were to pass severely punitive laws and permitted content providers to drop a 16 ton weight on an infringer if they so much as cough with the lights off, the problem remains: digital media naturally liberates content, and old style content just doesn’t have what it takes to fight such a strong natural property.

Solving the problem requires starting with content of a form that doesn’t work on old style, analog media. If the content works on analog media, it can then be completely liberated by digital media. A digital copy may not be exact, but that doesn’t appear to slow it down.

Consumers find it much harder to grab a copy of something when the content changes all the time and is interactive. It isn’t sufficient to steal the software, you also have to steal the data and…the other users.

The digital world is bidirectional and interactive. Old analog, physical media is static, one way, and not interactive; these limits make copying that stuff easy. Dynamic content is a different story. The poster children for successful dynamic content are successful online roleplay games like World of Warcraft and EVE Online. People run an app on their own equipment, which accesses enormous databases that exist on a vast number of servers, and interact with the software, the data, and other users; in order to access the data and play the games, people must register as a user and pay a monthly fee.

People can capture all the information they want from those servers in regular game play, and in fact some enterprising people have set up their own Warcraft-like servers, but on a tiny scale, because they have to work very hard to “keep up” while millions of customers willingly pay to access the legit online service. Taking snapshots of that content is very unsatisfying.

Here is the problem. It is much harder to develop and maintain dynamic content. A science fiction writer can’t normally write interactive books that are engaging enough to keep customers coming back for more of that story day after day. The tools just do not exist to make that experience easy and efficient enough to make it viable. Implementing dynamic, interactive content is more an act of programming than creative writing.

There are comic artists who are publishing stories for free on the web; they publish a screen-resolution page anywhere from one every day to one every month. After several months of posting individual pages, they take the high-resolution images of all the artwork and print graphic novels and sell those. The wide distribution of the free content gives the artists the opportunity to access a wide audience for their commercial products.

Some enterprising individuals grab all the pages of art from the original web site, combine the pages together into a document, and distribute the content freely, separating the artwork from the rest of the artists’ context. (Sometimes they even translate the work into other languages.) The important thing here is that the artists’ channel to the story’s readers is sometimes severed.

Also, once the artist produces high resolution artwork in the form of a book, someone will take it upon themselves to digitize all the pages and post the content in convenient form up on the web. The trick here is to make enough money through the sale of advertisements on the web site, and through the sale of graphic novels, to make a decent living.

If the comic content were truly dynamic, it wouldn’t be as desirable to make copies of any particular set of content, because the key aspect of dynamic content is the interactivity. You can’t interact with a static copy of dynamic content. There are examples of ten minute movies on YouTube that show what happens in a particular scenario, but those sorts of thing have a reputation for being very unsatisfying, unless your purpose is to learn how to beat a boss in a game. This is an example of copying content in order to enhance the customer experience. The content providers aren’t paid specifically for these acts, but because customers pay by subscription, they aren’t paid any less.

Another gotcha about developing dynamic content: you’re not guaranteed to succeed. Several products have come and gone in a matter of months because they weren’t able to dial in on a successful formula before they ran out of money.

Posted in Contemplation | Leave a comment

Anticipate Malware

I don’t like to use antiviral tools to recover from malware infections. I use a different approach.

If I have to scrub a boot drive for malware, instead of restore the drive from a backup, I would reboot using an alternative main drive, in order to more easily scrub the normally operating drive. I don’t like malware that has fused itself to the running copy of the OS being able to fight against what I am doing, so I switch to using an uninfected copy of the OS to run the machine, usually by booting from another disk. With the malware unable to run (since it is literally on the wrong disk), it becomes much easier to disinfect an infected OS.

But scrubbing a drive for malware is a surgical procedure. I consider doing this to be a last resort, even when it is made as automatic as possible by way of antiviral (AV) tools. So I try to keep things set up in such a way that I don’t have to scrub. Recovery by restoring a working environment is simpler, faster and safer.

Pre-infection monitoring on machines subject to malware is still a good idea, but once I know one of my machines is infected, I follow a different script.

I was recently motivated to look into AV tools for Mac OS X. When I found them, I quickly  discovered how bad they were. I think Mac users should not rely on available AV tools, and fortunately most don’t have to. Most AV tools are installed on Macs, apparently, to help keep Macs from being used to propagate malware to Windows systems.

I think of AV technologies to be less a recovery mechanism, and more as a limited form of detection and prevention. I have avast! running, but other than the 1800 copies of numerous mouldy PC malwares it discovered in my ten years’ worth of email attachments on its very first pass, it has not seen anything exciting, much less anything that targets Mac OS X.

It is genuinely interesting to get opinions from AV tools. I don’t think relying on malware detection is a sound idea, but using them to enhance your network privacy and security might be. I feel better having designed and implemented a set of Standard Operating Procedures that produce reliable results.

The key to this approach is to keep primary versions of all files somewhere else. I don’t care what it is, if you can’t lose it, do not keep a master on your desktop or laptop. When I use or edit a file, I work on a local copy, never on a master. Every file on the machine I most directly use is absolutely expendable. I am not afraid to nuke anything on that machine.

Here are questions one needs to ask to be proactive about solving work interruptions:

While you have your development environment up and working, do you make a clean copy of it? I do.

Is it possible to completely rebuild your development environment within an hour from scratch? I can.

When you’re working in an environment subject to malware, do you isolate the environment? I do. Virtualization tools like VMware, VirtualBox, and Parallels make this easy.

Is it normal to keep one’s work in incremental fashion in a repository? Yes it is, I do.

Does your email and other business natter normally live on a separate machine somewhere? Mine is backed up; I’m migrating to a solution where this stuff lives on a private server, which is also backed up.

Once you know there’s some sort of malware eating your machine, if it only takes an hour or two to recover, using well-known and well-defined recovery paths that always work? I think most people would volunteer to do things this way, once they understand what is involved.

Not having to mess with the mildly interesting but likely intricate details of malware extraction (scrubbing), a process that might take hours or days? Priceless.

Posted in Machine Ballet | 1 Comment

Automated Driving: Jaw-dropping Safety, Speed & Efficiency

The vast majority of drivers everywhere in the world do not try to maximize their mileage. Their choice of vehicle, how and when they drive, why they get in a vehicle, none of that is designed around using the least amount of gas. Usually the highest priority is to use the least amount of time.

So do not let humans drive. Build a System that drives for you. Tell it where you need to go, it will get you there.

Give the system enough control, and it will coordinate traffic to preempt traffic backups, prevent accidents and gapers blocks, automatically route around road repairs, dignitary caravans, police action, stray animals on the road, you name it.

Most importantly, automated cars will be moved with an eye toward mileage. Sure, velocity and acceleration are more mellow, but since traffic is carefully routed around itself, vehicles still wind up getting somewhere faster. When all the vehicles on these particular roads are automated, stoplights and stop signs are discarded. Vehicles move slower and safer; if you want to cross a road, just go ahead and cross, the system will see a pedestrian step off the curb and  have vehicles defer to you. Vehicles crossing an intersection will automatically interleave, but stop for pedestrians.

And, best of all, the system will always, always, always see bicyclists. Doors will refuse to open when a bicyclist wheels by.

Posted in Green | Leave a comment