Girls on the Run

We went to an auction event for Girls on the Run Denver last night.  They do great work, check them out.  They’ve grown from 90 girls in the program in 2005 to over 900 girls this year.

Girls on the Run® (GOTR) of the Rockies uses the power of running to change the way girls see themselves and their opportunities! It is an innovative health education and wellness program that uniquely combines training for a 3.1 mile run/walk event with life-changing, self esteem enhancing lessons that encourage healthy habits and an active lifestyle in 8-13 year old girls.

Live music was by Boulder-based gypsy jazz band Sacrebleu!.

We won 3 bottles (and a tour) of Infinite Monkey Theorem wine.  Haven’t tasted it yet, but with a name like that …

Goodbye LaCie, Hello WD

I’ve been using LaCie drives for years, but after no fewer than 3 cases of burnt-out power supplies in the past couple of years, I’m trying something new.  LaCie has always replaced the power supply under warranty, but they shouldn’t keep burning out, especially since I have them plugged into a line conditioner.  So I bought a Western Digital MyBook Studio Edition II for Mac, the 4TB model.  It claims to be green’ish (by using less power, generating less heat etc.).  It’s also quieter than my LaCie.  I resent a little that I have to install software to modify the RAID configuration (no hardware switch) of the MyBook, but in return the status bar item tells me temperature and RAID status, see screenshot.  So far, so good, hope this one lasts a while.  WD also includes several cables (FW800-FW800, FW800-FW400 and USB).

WD Drive Manager

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:

mprime exercising mac pro

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.


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 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

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].