Weasel of the Week Award: Comcast
Posted by martin in Weasel of the Week on June 12th, 2009
I’m starting a new feature on the Remylabs blog, the Weasel of the Week Award. The award will usually go to a company that operates in a market where the playing field is not quite level, and that takes customers for granted. The inaugural WOTWA goes to Comcast. Here’s a company whose customer service reminds me of a family vacation we took to Yugoslavia in the early 80’s, except that Comcast is better organized and more determined to annoy and disappoint its customers.
Here’s a chart of my latest adventure with Comcast:

Comcast User Handling Failure
UPDATE: Within an hour of this post, I got an email from a National Customer Care person at Comcast, apologizing and asking for my phone number so that he could investigate what went wrong with my case. I appreciate the follow-up, but a poor customer service implementation followed by a national clean-up crew is not a good model. The problems I encountered are by design and systemic, e.g. the message that says “this department is closed” if you select “downgrade my service” on the 800-number after hours, even though there are obviously people there who can deal with this.
The Dream: Physical books printed on the spot (and recycled on the spot)
In Twitter this morning, @tatteredcover is asking how many people are moving from paper books to electronic ones. I own a Kindle, but about 60% of my book buying is still paper. I love the bookstore experience, and there’s nothing like thumbing through a paper book. But my house is overflowing with the damn things.
I’ve been thinking for years that the ideal experience would be to have a book printing and recycling machine (the BookBox). This box would be able to print and bind any book on the spot. It would also have a slot for inserting used books to be recycled on the spot (composted, or whatever, with zero waste). Plus maybe a USB port so you could hook up your favorite electronic reader and download a bunch of books before a trip.
In a world where the BookBox exists, there would still be bookstores: cafe + inventory for browsing + BookBox. You can browse books while sipping an Oolong tea, then place an order to have a book printed on BookBox to take home with you.
Great Internet Mersenne Prime Search
Well, it doesn’t run in the browser, but it keeps itself to a single directory and runs from the command line, which is the next best thing. The GIMPS project has been around since 1996 and harnesses the “power of 1000’s of small computers like yours” to discover new Mersenne primes, which are primes of the form 2p-1. 46 Mersenne primes have been found, the largest having 12,978,189 digits.
The project was featured on NPR recently. There are prizes to win for discovering the next prime (give it a few hundred Ghz-days and I might pay for the Mac Pro with this), but best of all, it doesn’t do creepy stuff like create groups and users on your system. You just start it up the executable from a command line when you’re in the mood to hunt some primes and heat up the office. Finally something to keep the Mac Pro’s CPUs busy:
Casual Grid Computing in the Browser?
Let’s say you just got a brand spanking new 8-core computer. Let’s also say you can’t run Mathematica because Wolfram’s registration process sucks so much (seriously, it’s the worst I’ve ever seen, and I always end up calling them on the PHONE to register). Now you’re thinking what to do with all those cycles that could be crunching numbers and doing some good, but they’re just sitting there re-indexing Spotlight or something. You think about downloading BOINC, which is a generic grid computing client that a bunch of different projects are using. The thing is, you’re a bit obsessive about unnecessary cruft on your computer and BOINC wants to create hidden users and stuff:
Starting with version 5.5.4 of the BOINC Manager for the Macintosh, the BOINC installer creates 2 new “hidden” users boinc_master and boinc_project, and two new “hidden” groups, also named boinc_master and boinc_project (unless they were created by a previous installation of BOINC.)
Yuck. You’re just not that committed to the project, but you do have the cycles to contribute. Isn’t there some way to more casually participate in projects? When I leave for lunch or overnight, why can’t I pull up a page that contains a Flash or Java applet that does some crunching, displays the nice graphics, uploads results and doesn’t install stuff on my machine? Sure, it’s not as efficient as a native binary, and it doesn’t ramp up when my computer’s workload is low or when the screen saver comes on, but it’s much less intrusive. It’s also more intentional.
UPDATE: There’s Legion, a Silverlight-based grid computing framework, but I’m not finding any projects that use it.
AOL
Sphere, the related content company I co-founded three years ago, has been acquired by AOL.
I think I logged about 185 hours of sleep and 3 blog posts on remylabs over the last three years, but building Sphere has been really fun, thanks to the best team in the business. We have a small but incredibly great team at Sphere (a photo of our handsome crew is here), and I’d like to congratulate and thank each of them for being a part of this adventure:
Our word-class business team: Jeff Yolen and Josh Guttman.
Our stellar technology team: Alex Bendig, Andy Cabell, Kevin Cowan, Adam Embick, Mike Garfias, Michael Harzheim, Sven Henderson, Troy Vitullo and Jeremy Rice.
And of course my co-founders, Steve Nieker and Tony Conrad, as well as a superb group of investors and advisors including our 4th co-founder and advisor Toni Schneider.
Not strictly part of our team, but not far from it: Some of the best partners and customers (early adopters and others) that a startup can hope for.
I’m very excited to join AOL. Sphere’s content discovery products are a great fit for AOL’s sites and platforms, and I look forward to working with the great people there. We’ve worked with several groups within AOL over the last couple of years, so I know first-hand that the place is chock-full of smart people.
Alloy Modeling Language
I stumbled across this profoundly cool tool this week. From the Alloy homepage:
Alloy [is] a simple structural modeling language based on first-order logic. The [Alloy Analyzer] can generate instances of invariants, simulate the execution of operations (even those defined implicitly), and check user-specified properties of a model. Alloy and its analyzer have been used primarily to explore abstract software designs. Its use in analyzing code for conformance to a specification and as an automatic test case generator are being investigated in ongoing research projects.
Or, put another way, you can use Alloy to model a software system, complete with facts and assertions about the model, and have the Alloy Analyzer check correctness of the model. It can discover exception cases allowed by your model that violate your assertions. Now you can do agile software design without diving into code right away (even the most elegant code obscures your model’s abstractions with implementation details, and makes it harder to revise your design), and you can do real modeling without generating stacks of UML diagrams. The model is expressed in the Alloy language, and diagrams are generated dynamically by the Analyzer. Here’s an example for Daniel Jackson’s book on Alloy. This system models a set of traffic lights at a junction:
module chapter4/lights —– The model from page 127
abstract sig Color {}
one sig Red, Yellow, Green extends Color {}
fun colorSequence: Color -> Color {
Color < : iden + Red->Green + Green->Yellow + Yellow->Red
}
sig Light {}
sig LightState {color: Light -> one Color}
sig Junction {lights: set Light}
fun redLights [s: LightState]: set Light { s.color.Red }
pred mostlyRed [s: LightState, j: Junction] {
lone j.lights – redLights[s]
}
pred trans [s, s': LightState, j: Junction] {
lone x: j.lights | s.color[x] != s’.color[x]
all x: j.lights |
let step = s.color[x] -> s’.color[x] {
step in colorSequence
step in Red->(Color-Red) => j.lights in redLights[s]
}
}
assert Safe {
all s, s’: LightState, j: Junction |
mostlyRed [s, j] and trans [s, s', j] => mostlyRed [s', j]
}
check Safe for 4 but 1 Junction
The last line tells the Alloy Analyzer to run some test cases with 4 lights and 1 junction and check that the junction is safe (satisfies the predicate mostlyRed at all times and for all transitions. It comes back with:

“No counterexample found” means the model makes safe junctions. 27ms means it’s freakin’ fast. The alloy Analyzer is not an exhaustive model checker, but rather uses a SAT solver, which gives Alloy an efficient way to check huge spaces. Checking a few billion cases in the modeling phase is a lot cheaper, and gives much better coverage with less effort, than running a few hundred unit tests when you’re already writing code.
Here is the diagram generated by Alloy for the small model above:

One slightly annoying thing is that the book uses Alloy 3 syntax, which has been slightly changed for Alloy 4, the current version, but the Alloy team has published a thorough list of changes (”how to update the book for Alloy 4″) which lists all changes and the page numbers on which they occur.
Alloy is free and there are binaries available for OS X, Windows and Linux.
Powered by ScribeFire.
Umbria – Market Intelligence from Blogs
Posted by martin in Blogosphere, Search on December 8th, 2005
FORTUNE has an article (”Blogging for Dollars”) that covers Umbria, a company based here in Colorado that tracks what bloggers are saying about its clients (aka mining blogs for market intelligence).
Economically, this market is finally starting to take shape — the ideas and attempts have been out there for a few years, but consumer companies have been on the fence about whether the blogosphere is worth listening in on. Until recently, that is. Umbria claims they’ll have $2M revenue this year and will be profitable next year, but the overall market for this kind of service is still only $20M according to the article (Intelliseek has about 1/3rd of that market).
Technologically, Umbria also sounds pretty interesting. They claim to have a competitive edge in automating most of the process:
Umbria’s solution is entirely software-based. [Umbria's] competitors also meet with clients to interpret the data and suggest strategic responses. “Ultimately we rely on both technology and humans for analysis,” says Max Kalehoff, marketing director for BuzzMetrics [another Umbria competitor]. “Umbria takes an extremely automated approach.”
Umbria’s technology sounds like a pipeline of parsers that generates features that in turn drive product and sentiment classifiers (and those drive reporting):
Every few hours Umbria sends an application called a spider out over the web to scour the blogosphere for postings about the firm’s clients, most of which are big consumer companies, such as Electronic Arts, SAP, and Sprint. By analyzing keywords in blogs, Umbria can classify each citation thematically. In the case of Sprint, for example, Umbria’s software can tell whether a blogger is talking about customer service, the company’s advertisements, or a particular calling plan.
Another big challenge is to decipher what’s on a blogger’s mind. To figure out whether an opinion is strong or tepid, for example, it helps to know that “awesome” is a stronger endorsement than “pretty cool,” and that “shoddy” is less damning than “abominable.” Umbria has several employees with Ph.D.s in linguistics and artificial intelligence who are forever tweaking the software to make it better at categorizing opinions.
I can’t help thinking that more manual tweaking goes into each client’s setup than this description lets on, but still, I’m glad they’re seeing success, and I bet those linguists are having fun with the blogosphere, even if they have to do a bit of slumming to come up with their rules:
The software can also estimate the author’s age and gender. Elongated spellings (”soooooooo”), multiple exclamation marks (!!!), and acronyms such as POS (”parent over shoulder”) suggest a teenage female member of Generation Y (born after 1979). The blogger is probably a teenage boy if a posting is rife with hip-hop terminology such as “aight” (translation: “all right”) and “true dat” (”I agree!”).
There you have it, you don’t even have to know the language to have your voice heard by the people who want to sell you more stuff. Now that’s power. On one side of that function, at least.
Spolsky: Windows Live, Marimba Phenomenon
Joel Spolsky had a similarly disappointing experience with Windows Live as I did. He calls it the Marimba Phenomenon:
The Marimba Phenomenon is what happens when you spend more on PR and marketing than on development. “Result: everybody checks out your code, and it’s not good yet. These people will be permanently convinced that your code is simple and inadequate, even if you improve it drastically later.”
Hadn’t heard it called that before, but it happens often enough, and the name is great: In the mid 90’s, the company Marimba trumpeted and eventually launched a product called Castanet that was something like a Java-based push platform (this wasn’t long after, or maybe even concurrently to, PointCast — remember them?). To Java types, and many non-Java types (or Java non-types?), Marimba Castanet sounded foundational, revolutionary, indispensable, and had an aura of universal usefulness, with a hip 90’s name to boot. I think the product is still around in a different incarnation. Anyway, the release of Castanet revealed a product that just didn’t live up to the high expectations that had been set. It worked (and probably still works), but it wasn’t foundational, revolutionary, indispensable or universal. So we moved on.
Microsoft has a bit more staying than Marimba, but as long as there’s choice in the Web marketplace, it can’t afford too many launches going off the rails like this.
Windows Half-Live?
Windows Live looks like Microsoft’s tardy and half-baked answer to My Yahoo! It’s a customizable portal, with placeholders for weather and news and feed subscriptions etc. According to Bill Gates’ announcement today (video at CNET), Windows and Office are not required to use Windows Live. But try it from Safari on your Mac, and you’ll get just a fraction of the page (only an MSN search box). On Firefox (at least on Mac) you’ll see this:
Firefox support is coming soon. Please be patient
You know, a garage startup can maybe get away with this kind of thing. But this is Microsoft! And the announcement was a major event, not some leak of an internal research project. OK, so it works only in IE, and I guess Windows Live is destined to be the home page for millions of unsuspecting users of the next version of IE. But if Microsoft wants the rest of us to pay attention and if it wants to be taken seriously in its efforts to catch up with the new realities of Web-as-Desktop (call it whatever you want, but don’t call it Web 2.0), then it has to demonstrate that it’s a) adding some value — that’s TBD for Windows Live — and b) not going to make a fool of itself by trying to bring its insidious embrace-and-extend practices to Web content. That would be fun to watch, though. Never a dull moment … [nor a productive one].
Thunderbird Clipped
I like my mail to be portable. When I switched to a Mac earlier this year, I installed Thunderbird and moved (or imported, can’t remember) my existing mailboxes over from my Windows laptop. Thunderbird is perfect for this kind of thing, it’s available on Windows, Linux, Mac, so you can take your mail with you and continue where you left off.
But there have been three things that have been bugging me about Thunderbird for a good 8 months. I’ve faithfully kept up with minor version upgrades, but none of these annoyances have been fixed. Today I installed Thunderbird 1.5 Beta 2 and all three issues are still there. Apparently, they are not going to be fixed in 1.5, so I’m going to grudgingly abandon portable mail and start using the Mac Mail app.
If you’re curious, here are some bug reports of the three annoyances:
#1. You can specify where attachments are to be saved, but if you configure Thunderbird to automatically open attachments of certain types, it ignores the setting of where to save them, and it instead litters your desktop with them. The reason for this has to do with shared code between Firefox and T-bird that reads the download destination from Safari’s configuration. I’m sure that the code commonality between T-bird and Firefox, as well as reading config settings from Safari sounded good as a design goal, but it leads to utterly annoying behavior. There are at least three bugs filed about it, going back to at least March:
Bug 241523
Bug 286094
Bug 238789
#2. The next one is just a plain old bug, but it’s been there a long time (December ‘04):
#3. The last of my three Thunderbird annoyances is that the ‘new message count’ that’s shown in the dock includes new junk mail, which has already been moved to the junk folder. You can see why this one’s in my top 3 list. There’s no new mail (only junk mail, not in the inbox), yet the dock icon shows N new messages. Grrr. This one’s also been around in bugzilla since December ‘04:
I hate giving up portability, but seeing that none of these three buggy bugging bugs have been fixed in Thunderbird 1.5 was the last straw. Maybe I’ll try T-bird again after a sabbatical on Mac Mail.
In other news, I also installed Firefox 1.5 Beta 2. So far, so good. No complaints. Had to leave some extensions behind, but they’ll catch up.

