Visual Political Analogy

Paul R. Brown @ 2008-09-03T18:14:31Z

Reading some coverage of the Republicon convention and seeing pictures of Bush on the big screen brought to mind the classic Apple 1984 ad, and the following visual analogy is obvious:

bush:big_brother::obama:hammer_thrower

For what it's worth, I've never felt much of an affinity for either party, and while I voted American last election (i.e., against Bush), I can understand how people might identify with what Bush said. I just can't understand how anyone could support what he did.

(comment bubbles) 0 comments

perpubplat now on github

Paul R. Brown @ 2008-08-28T06:22:18Z

With GHC switching from darcs to git, I decided to move perpubplat over to git (and specifically to github) as well. (For the reasons that GHC decided to move, see this wiki page.) The new landing page for the perpubplat repository is here.

At least if you've already got git, GHC 6.8.3, and cabal-install, building perpubplat is about as simple as it can get:

$ git clone git://github.com/prb/perpubplat.git
$ cd perpubplat
$ cabal install

As far as near-future feature development, I'll be adding github activity feeds to "stream of consciousness" aggregation and improving the configuration and control of aggregation in general.

(comment bubbles) 0 comments

Fantastic Contraption and Job Interviews

Paul R. Brown @ 2008-08-26T05:37:20Z

I like Fantastic Contraption because solving the puzzles requires a fundamental type of cleverness, intuition, and experimentalism.

contraption to roll a ball contraption to climb a shaft

Something like Fantastic Contraption — but not Fantastic Contraption because everyone and their dog has played it at this point — would make an interesting adjunct to the traditional battery of questions in engineering interviews. (Yes, I saw Last Starfighter once upon a time. No, not in the theater.) The usual questions about data structures, algorithms, tools/practices, and design do a reasonable job of filtering candidates, but it can be like chewing a mouthful of saltine crackers for the interviewers after the Nth time through. A game might make it a bit more fun for folks on both sides of the table.

(comment bubbles) 0 comments

Seems Clear Enough from the Specification

Paul R. Brown @ 2008-08-12T18:40:35Z

I can understand how people get confused with RSS since what passes for a specification isn't exactly precise, but the Atom syndication spec (a.k.a. RFC 4287) is nice work and comes with an unambiguous RelaxNG grammar. Which is why I find this (sent by a friend who reads this blog in Google Reader) irritating:

mis-rendered title

This is wrong. (For what it's worth, this doesn't happen for me in Google Reader running in Firefox 3.0.1.) Extracting a bit of the grammar, the title of the feed is an atom:title element, and XHTML content is supported:

atomTitle = element atom:title { atomTextConstruct }

anyXHTML = element xhtml:* {
   (attribute * { text }
    | text
    | anyXHTML)*
}

atomPlainTextConstruct =
   atomCommonAttributes,
   attribute type { "text" | "html" }?,
   text

atomXHTMLTextConstruct =
   atomCommonAttributes,
   attribute type { "xhtml" },
   xhtmlDiv

atomTextConstruct = atomPlainTextConstruct | atomXHTMLTextConstruct

xhtmlDiv = element xhtml:div {
   (attribute * { text }
    | text
    | anyXHTML)*
}

So the construct from my feed is valid:

<title type="xhtml">
  <div xmlns="http://www.w3.org/1999/xhtml">mult.ifario.us - All Posts</div>
</title>

I spent time with the excellent and useful Feed Validator when I was writing perpubplat, even compromising on things that I felt I shouldn't have to compromise on, e.g., namespace prefixes, in the name of interoperability. The validator awards the feed a squeaky clean bill of health. Nonetheless, this issue makes my feed ugly in Google Reader, since the UI shows an abbreviation like <div xmlns="... in the sidebar and elsewhere. (FWIW, this Google Reader issue isn't caught by the title conformance tests.)

I've posted a bug in the relevant Google Group here.

(comment bubbles) 0 comments

Low Water Marks

Paul R. Brown @ 2008-08-07T05:42:11Z

Matt Hulett's post about low water marks for startups provoked some pondering for me. My metric was always twelve months, but there are different considerations for a going concern versus a startup.

For the going concern (i.e., a business whose goal is to operate profitably and grow organically), reserves on the order of full operational expenses for two or three full sales cycles is reasonable. (This strongly depends on the complexity of the product and the deal size.) I'm defining a sales cycle as the length of time between when a piece of marketing hits a prospect to the time the money from that prospect (now customer) hits the bank. Failure to acknowledge the full cycle will kill you if you're on the razor's edge. For example, it's a reasonable three months from a signed deal to a signed check — close the sale, a month to deliver, a month for the customer to pay, a month for your AR to hound their AP, and you're ninety days from dotted line to dollars. Three sales cycles gives the business enough time to adjust to significant external events (most recent reasonable example would be 9/11), to respond to the entry of new competitors into the market, or to launch new products or extensions.

For the startup (i.e., a business whose profitability depends on significant growth and attendant capital consumption), reserves of twelve months is running on the metal. The business needs to be executing to its goals as the funding search is happening and then continue to execute as the funding process completes. (Ongoing execution is more important for later stage companies, as investors don't expect it from early stage companies.) A good rule of thumb is that reserves should account for hitting goals sufficient (on a hypothetical level) for the next round of investment, plus a margin of error for unforeseen issues, plus six months of runway to get funding done.

In either case, interim milestones at fixed dates and specific, measurable goals are essential. Are the initial stages or the marketing and sales pipeline working? Is product development on schedule? Is hiring and retention running to plan? Are your partners coming through? Is the investment climate or business climate changing? This is one situation where it's good to be a little obsessive — cobble together a simple dashboard and mark progress to plan no less than weekly. (The dashboard task has gotten simpler over the years; these days that can be a combination of QuickBooks, Google Analytics, SalesForce.com, and something like Jira or Rally for tracking product progress.) Make yourself accountable (e.g., to your management team and to your board) and hold your management team accountable for their individual goals because failure for one is failure for all when cash is a constraint.

(comment bubbles) 0 comments

Overselling is a Sin

Paul R. Brown @ 2008-08-06T05:25:58Z

When negotiating with a potential customer, it's tempting to offer things that you think will make them take the deal. This is wrong for two reasons.

First, what you think will make them take the deal and what they actually want may be different, so you're making a concession that doesn't help your cause. Worse than that, you run the risk of confusing a less savvy customer who will then try to understand the enlarged deal terms or showing a more savvy customer that you're desperate.

Second, you always want the simplest, most uniform deals possible. Repeatability is scalability for the organization, and a one-off deal proves nothing about a product or business model. (Bending — but not breaking — the rules for a big deal is acceptable.) Moreover, having a limited number of form agreements greatly simplifies due diligence for financing or acquisition.

(comment bubbles) 0 comments

Local is Just Better

Paul R. Brown @ 2008-07-27T06:41:43Z

Via Bob's FoodJaunt social portal (at least that's what I'd call it) and younger sister to Greenthumbr, I found an NYT article (compare article at SFGate) about a gardener-for-hire who will plant and tend a garden in your yard, and the idea of a decentralized urban farm is compelling.

One paragraph in the NYT article misses the point:

Although a completely local diet is out of reach for even the most dedicated, the shift toward it is being driven by the increasingly popular view that fast food is the enemy and that local food tastes better. Depending on the season, local produce can cost an additional $1 a pound or more. But long-distance food, with its attendant petroleum consumption and cheap wages, is harming the planet and does nothing to help build communities, locavores believe.

Local isn't just better for the planet. Local is just better.

For example, one facet of better is fresher. The lettuce we buy at the local farmer's market (usually from "Let Us Farm") travels the 100-ish miles (Google Maps routing says 99.8 miles — "local" it is!) from the field to my fridge in under 24 hours if not under eight hours, and it stays edible for a week or more. For comparison, a smaller head of butter lettuce from Whole Foods, entombed in its keep sake plastic clamshell, keeps at most a few days once brought home from the store just because of the additional handling and time elapsed. Moreover, the local lettuce costs less. When presented with the apples-to-apples comparison, even the crassest consumer would choose the local option.

As energy costs increase, decentralized production and distribution should result in lower prices, higher quality, and more variety. The irresistible force of fundamental economic self-interest is going to drive change in our food supply chain, not something more noble or farsighted. That's a good thing, too, because relatively few people have a sense of duty to the collective good, but everyone has a wallet.

(comment bubbles) 0 comments

All Posts contains 397 items in 57 pages of 7 items each:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57