Archives For Posts

Done with a clear cache and VPN’d into a couple of different locations, but hardly an exhaustive test:

A is for Amazon, B is for Bank of America, C is for Craigslist, D is for DMV, E is for eBay, F is Facebook, G is for GMail, H is for Hotmail, I is for Ikea, J is for Jet Blue, K is for Kaiser, L is for Lowes, M is for Mapquest, N is for Netflix, O is for Outside Lands, P is for Pandora, Q is for Quotes, R is for REI, S is for Skype, T is for Target, U is for USPS, W is for Weather, X is for XBox, Y is for Yahoo, and Z is for Zillow.

Some of these appear to be location dependent, VPN’ing into a server in Los Angeles gives me KTLA instead of Kaiser, Lakers instead of Lowes, Myspace instead of Mapquest, OC Fair instead of Outside Lands.

It seems like most of my friends and colleagues have heard I’ve been using Cassandra in my current project and they forward on to me every blog post or tweet where someone has something negative to say about the Apache NoSQL open source database.  To be clear, it’s debatable whether you should use Cassandra in production today, although at the recent Cassandra Summit, it was clear a lot of people were, and were having success with it, and of course, as we all know from the blog headlines, a few people are not.  But, I also think that it’s probably useful to keep in mind how many of the basic building blocks of the web started on very shaky ground and went through many iterations before getting to where they are today.  I’m not exactly talking about the Gartner Hype Curve, because it’s very hard to apply and very hard to actually determine where you are on that curve until years after the fact.  Having ridden that curve on a number of web technologies, it’s not as simple as drawing a sloppy sideways S-curve and saying “here we are”.  The reality is that there are a number of little peaks and valleys inside the overall process.

Continue Reading…

A friend of mine recently showed me his Facebook iPad application that he’d built and which was selling quite well in the App Store.  Besides being a pretty cool app, one of the interesting things about it was that it had been written primarily in Javascript and HTML5, with a small amount of native code basically wrapping it in a UIWebView.  It seems like this is a recent but growing trend among iPhone developers, since it’s easier to write crash-free code in Javascript than in Objective-C, and the iPhone’s WebKit browser has a lot of mechanisms for supporting things like touch interactions, and there are a growing number of companies (Appcelerator, Sencha) and projects (JQTouch) trying to make this easier.  This is all good news, and if this trend continues, it means the number of mobile applications will continue to explode.  I’m a lot more skeptical about any of this making the App Store any less important, building apps was only ever half the battle…

11-free_as_in_paid.png
This joke never gets old

It all comes down to packaging and distribution, of course.  App stores never go away, even if they ultimately become, under the hood, a way to sell password-protected, pay-to-open, web bookmarks.  And that’s not a bad thing, because for all the headaches of dealing with opaque approval processes and such, at least they’ve figured out how people get paid.

Lots of people are getting into the weeds of this Oracle/Google/Java spat, it really is little more than a thinly veiled shakedown gambit.  But when I look at it as the latest in a string of well publicized disputes between virtually every single major platform owner today and the developers trying to build on those platforms, as well as the major conflicts between potentially competitive platforms, I’m more concerned with the fact that we’ve recently moved into a new era of aggressiveness and heavy handed behavior by platform owners that we haven’t seen since the early 90’s.  I used to suspect that many of the companies that were the most vocal in decrying Microsoft’s dominance back in the day would have behaved no differently than Microsoft if they’d had the ability to do so.  Now, when I take a look at the way that every single platform owner of any significance is behaving, I realize that I was wrong, most of them would have behaved far worse.

Note: I’m not using the term “platform” in the way that every company with an API puffs up their chest and tries to claim, but to mean that the company and it’s technology have a meaningful ecosystem with a large base of third party vendors, partners, developers, and other participants, all of whom are earning a living (or at least trying to) on top of it.  Platforms are ultimately markets, not technologies.

Death Grip

Ed Anuff —  July 18, 2010 — Leave a comment
9-death_grip.png

Should I return it and get a new one or just use the bumper?  Still need to install iOS 4.1…

One of the common issues of dealing with the Apache Cassandra database is how to do secondary indexes of columns within a row. This post will discuss one technique, far from the only one, for
how to manage this. One thing that experienced Cassandra users will hopefully find interesting is that SuperColumns will not be used at all to accomplish this in order to
avoid the complexity and limitations they introduce. Also, it should also be pointed out that Cassandra will have native secondary index support in the upcoming 0.7 release (see CASSANDRA-749), which will make this all much simpler, but the idea is still valid for how to think about about this sort of thing, and will still be applicable in some situations. Once that version gets closer to release, I’ll do a follow up post looking at it.

So, to start, let’s assume a scenario where we have a container (ex. a group) of items (ex. users in the group), each of which has an arbitrary set of properties, which
are searchable by value in the context of the container. Items might also be members of other containers, but we won’t explicitly deal with that in this
scenario.

Continue Reading…

“False Clouds”

Ed Anuff —  June 25, 2010 — Leave a comment

At Structure 2010 this week, both Werner Vogels from Amazon and Marc Benioff of Salesforce both described the so-called “private cloud” solutions being offered by a large percentage of the companies at the conference as “false clouds”.  I had the sneaking suspicion that the real reason many of these companies were all focusing on these private clouds was not so much due to the allegedly unique needs of corporate customers such as security or legacy integration as much as it was due to the fact that most of them were being built on the classic enterprise sales business model with it’s inherent dependency on trying to front load as much of the sale as possible.  Unfortunately, while this leads to start-ups that are able to show great early revenue traction, the challenges of scaling that sort of business are very well known.  The lessons to learn from Amazon and Salesforce aren’t about the technologies of the cloud, they’re about the business model, but there were only a handful of start-ups that seemed willing to follow in their footsteps.

Not something I actually plan to do, but if I was revisiting my car computer project from five years ago, I’d probably take this approach.  Use a small, low-power single board computer like the Beagle Board that can run Android.  Have it able to talk to an app on the iPhone via WiFi for application communications and use the Bluetooth stereo headset and hands-free capabilities to be able to wirelessly digitally play iTunes DRM music out of the iPhone through the car’s speakers as well as potentially put phone call audio though the same system.

8-car_computer_2010.png

 

Good Advice

Ed Anuff —  May 28, 2010 — Leave a comment

It’s here

Ed Anuff —  April 3, 2010 — 2 Comments
7-ipad_delivered.png
6-delivery_route.png
Come on, UPS, you can do it!

It ships!

Ed Anuff —  March 30, 2010 — Leave a comment

Like there was ever any real doubt that I’d finally give in and order one…

5-shipment.png
Tracking says they’re shipping them directly from Shenzhen, China.

In honor of Maker Faire this weekend, I’m uploading some of the old photos from the various projects I’ve hacked around on over the years.  These used to be on several old sites and blogs that I let lapse:

The installation of the navigation system took place of the course of two days in the garage of my apartment building back in October of 2001.  One of my neighbors became very concerned when she saw me disassembling the interior of my car and alerted the building security.  Apparently she thought I was turning the car into some sort of terrorist weapon, go figure.  Most of this project was documented along with a lot of other interesting information on the now-defunct openbmw.org site and a Yahoo Group.  At the time, if you didn’t purchase the car from the factory with the navigation system installed, BMW refusted to install it afterwords, claiming that it wasn’t possible, and would refuse to provide information to people who wanted to install it themselves.  I found a CD-ROM database of part numbers and identified every part used by the navigation system and ordered them from the repair departments of three different dealerships over the course of several months.  Eventually, after a number of people printed out the instructions from my site and went to their local dealers asking them to perform the retrofit, BMW relented and packaged all the parts into an installation kit that could be installed by the repair centers.

The car computer project was primarily focused on building an interface board that would tap into the navigation system and allow an in-car PC to take over the display and interface with the dashboard knobs and buttons.  I designed the circuit boards and sent the files to China to be manufactured and assembled.  When I got the boards delivered back to me, I’d usually find at least one chip would be mounted incorrectly and I’d have to resolder it by hand, which would unfortunately often result in me ruining the board.  Once the interface board was installed, I used a trunk-mounted Linux PC running software that I’d written on top of Mozilla to provide a user interface for things like an MP3 jukebox and web access.  Maybe I’ll turn it into an iPhone app at some point.

Navigation Installation Project – 2001
http://www.flickr.com/photos/edanuff/sets/72157618942758407/

Car Computer Project – 2004/2005
http://www.flickr.com/photos/edanuff/sets/72157619029279570/

Yes, I am a geek

iPhone programming isn’t that hard once you get the hang of it.