Unhelpful

shoebanging.pngLauren Weinstein posts about being accused of being unhelpful.

But a message from another privacy personality was as polite as it was disturbing.

The sender noted pretty much essential agreement with my arguments regarding the lawsuit, but strongly asserted that my post was “most unhelpful” by “undermining” efforts to bring Google into advocacy group consultations.

Solidarity has it’s function, and for many groups it is their most substantive source of power.  When opposing such groups divide and conquer can be a particularly effective strategy.
Lauren counters with a few of the standard counter points.

For example he labeling the shunning as “ad hominem attacks.”  One of the puzzles of group dynamics is how solidarity is maintained.  How does the group signals to a participant that he’s out of bounds?  How does it even negotiate the consensus about it?  There are always boundary keepers that will volunteer to do this function, and it seems they often over shoot.  The phrase party disciplinarian comes to mind.  No doubt the most vitriolic of the reactions he got were offensive attacks on his person rather than the topic under discussion.  When the full bore shunning takes place, the triggering issues fall by the way side.

My point here isn’t to dig into the issue.  My interest is in the group dynamics.

In the internet identity design space the group dynamics is what interests me most.  The ebb and flow of each group’s positions.    One of these groups is the loose collective of folks who I think self identify as Privacy Advocates.  Lauren is  a founder of that group.  That he has triggered their immune system makes this an interesting case study.
Lauren points out the Google, the other party in this particular dispute, is a group too; like Soylent Green it’s made up of people.  Of course Google is not a group of people in anything like the sense that the Privacy Advocates are.  While there some weak status and hence hierarchy in the PA community it is primarilly an open system from the get go.  They are a loose collective of reasonably like minded folks.  No doubt that movement could use a bit more organizational muscle, but as rebels against power it’s a tough sell.
Google, on the other hand, is a corporation – the entire design pattern of corporation runs contrary to open systems.  Presumably it struggles against that tendency, but the defaults are what they are.  Just to take one particularly small example, Google Apps reveals the email of any user who signs up for an application to the application vendor – it’s a choice, and they had to make a choice.  Their scale (their power) means that choice point is highly leveraged.

Scale, as usual for me, is the interesting part.  The Internet Identity standards battle is one of the few standards wars that deserves the nearly full blown military metaphor.  Armies, some of these groups are best treated as armies. The landscape under dispute is extremely valuable and some groups on the field are entirely focused on winning an owning that real estate.

That’s a polarizing framing, eh?  Groups, like the privacy advocates, who’s power, solidarity, is grounded in being rebels against these powerful, often mindless, armies are likely to view chatting with the enemy as traitorous.  It’s ironic though.  Lauren in making the argument that the other guys are made up of people is in fact appealing to a core value of the privacy advocates, e.g. that the individuals trump the group when making any design choice in this space.

One of the puzzles in this standards space is how hard it is to negotiate with any of these groups.  Most of them are not able to cough up a representative with whom you can negotiate.  The privacy advocates are the worst case of that.  There are dozens of people in that group with stature; but if you expend a few man months of effort negotiating with one of the his agreement doesn’t buy you the assent of the larger collective.  The privacy advocates aren’t organized in a manner that delivers a throat through which they can speak.  While I think that’s a good thing it makes the standards bodies prefer to ignore them.

But the other groups are just as awful.  Some of these are rent seeking.  Some of fear for their existence.  Some of them are playing property rights games.  Some of them send diplomats to the negotiation with false authority, since their senior management is uninterested in this standard’s battle.

To me it is a key point that the negotiations, and the battle, is between these groups.  Oh sure, there is an dialog between individuals that is critically important – since that’s were the design that actually works will be discovered.  Understanding the nature, culture, and motivations of these groups is the key.    In each of these groups there are a few people who are coming to see that they must work on the problem at this level.

For those people the hardest part is negotiating with their own people.

The Little People

gulliver1.jpgI wonder if there is any data on the distribution of stock ownership for a large sample of public companies.  It assume it’s conventional wisdom that management can capture a large portion of the profits when the firm’s share holders are more diffuse v.s. when the  ownership is concentrated in a few hands.  I think I’ve seen articles showing that result.  This is, yet again, a question about the power-law distribution.  It would be fascinating to see some analysis of company performance versus how skewed the ownership distribution is.

This is analogous to yesterday’s point, via Bob Wyman, about how when a platform vendor successfully atomizes the size of the options created by his platform can improve his monopoly.  Large firms always labor to keep their complementary players commoditized; management presumably always labors to keep shareholder power fragmented; and anti-democratic movements always labor to keep group forming limited to the family unit.  It’s why we are suspicious of populism, and why I’m doubtful about the Deep Green’s enthusiasm for local.
It would be cool to have the SEC require reporting of the aggregate statistics of firm stock holdings.  Who knows, possibly that data is reported.  Say indirectly thru reporting of shareholder voting data.

Not too hot, not too cold.

upset.pngThis posting by Bob Wyman is most excellent, do read it.

Platforms, it is often argued, create innovation.  They do that by creating large option spaces where third parties can bring their domain knowledge to bear.  It’s an efficient way to structure the search because domain knowledge is sticky, otherwise the platform vendor would do the search in-house.  The value created is then split between the platform vendor, the developer, and the end user who get’s his problem solved.

Developers select platforms for numerous reasons.  Developers, for example, switched their attentions from Microsoft toward the LAMP stack for lots of reasons.  Including the fresh option space the LAMP stack created, the impression that the value split around the LAMP stack would leave more on the table for them, and the discovery that Microsoft (“cut off their air supply”) couldn’t be trusted.

Much innovation that happens on top of a platform is too fine grain to be converted into value for the innovator beyond the intrinsic pleasures of inventing, having fun, and the extrinsic pleasure of solving the problem at hand.  For all of those the platform(s) involved can roll up the innovations into to the greater good – of the platform or the society, it varies.

Innovation comes in all scales.  Some of the smaller stuff is, well, just hacking.  Hackers, innovators, developers, entrepreneurs might be names for various scales.  Bob’s posting is more about entrepreneurs.  he highlights a kind of chilling effect that comes as you atomize the options on the platform.  It makes the platform stronger, empowers it’s winner take all nature.  More hacks to roll up to it’s greater good.

That in turn reduces the number of platforms, which drives away the entrepreneurs.  Since they are in it more for the exit strategy.  Fewer platforms means greater pricing power for the platform and lower valuations for the startups. He takes a swag at how one might go about managing that risk, i.e. how you might “reducing the anti-innovative power of the platforms.”

Note that, platforms as anti-innovative is the opposite of the usual story we tell about platforms.  Neat and right on.

Google App Engine

milkwrecked.jpgFinally Google is revealing some of the means they will provide to allow third parties to run code closer to their assets. Last week was good for Python! Since, we learned that Google’s leading language for developers will be Python. While they assert that the platform is language neutral it certainly looks like only Google can “harden” and deploy a new language. The crowd demanded both an unknown language and Perl, the presenter flinched. That is going to be very rough on the long tail of languages.

I found the 1st and 2nd segments of their announcement videos interesting. Everybody got very nice hair cuts.

There is a lot of value in this offering and the “you don’t have too” theme that runs through out their patter is a strong way to present that. They really are taking a lot of pain out the developer’s job! So while they are probably encouraging the die off of a lot of interesting languages they are enabling a lot of tiny applications.

Their persistent store is cute (note you can’t write to the file system otherwise). I suspect this is a lock-in point, though the semantics of the store look reasonably simple.
In addition to writing to the file system, no pure TCP/IP interfaces, and no threads. Which reflects the nature of the underlying computer. Amusingly this is a non-preemptive computing model, just like the old Macintosh. You have to do all your work triggered by http requests, and those can’t run too long.

I’m fascinated by my emotional reaction to all this. While I’ve rationally seen this coming for a very long time. In fact I’m surprised it’s taken so long! It makes me sad to see the old craft skills become less necessary. It makes me excited to see the opportunities this opens up; it’s always fun with a large population is empowered to author software. That’s one of the big-hard-problems, letting more people be authors.

That kind of somewhat discombobulated emotional reaction in an expert is a good sign in a platform offering. This is going to be big and it is a nice counter point to Amazon’s approach.

Echonest

boomfab.pngWrote small Common Lisp library for accessing the echonest music analysis API. All the other APIs are jealous.
Writing this was fun because I got to use Relax NG for the first time in actual code. By inspecting the XML that comes back from echonest I guessed at what the schema was and wrote it up in the compact form of RNG (see here). Isn’t that easy to read!

Inserting the library cxml-rng for validating your XML given a Relax NG schema and inserted it into the SAX pipeline took less than a half dozen tokens (see here). My reward: is that the handler that loads the XML into a useful data structure doesn’t need to be as paranoid. How relaxing!

Bamboo Mast Year

Facinating article about a mast year in bamboo. Rat’s thrive and the following year people starve.

… Mizoram and Manipur … rats … army … teach … eradicate … flowering … bamboo … increase fertility rates … population explosion … crops … severe famines … the mautam in 1958-59 … triggered an insurgency … redrawing of boundaries…. Bamboo Flowering and Famine Control Schemes … rat tail … bounty … 200,000 rat tails… registering more tails… hunger currently prevail … grain production falling by 87% …collapse of the administrative machinery … refugee flows … worst is still to come….

Tip of the hat to Koranteng Ofosu-Amaah.

Lilacs out of the dead land

Brad DeLong is puzzled:

“I am supposed to be smart. I should be able to find a way to use all of these in a way that is truly useful…”

And then goes onto enumerate a very small selected subset of the numerious sites that are building out interesting user facing services: Tumblr, Evernote, Jott, Sandy, del.icio.us, and Skitch.

Me thinks: These tools are what in the software industry we call features.  Each firm is taking a swag at building out a feature in the hope of being acquired when the roll up happens.  The firm’s motivations to enable cross application integration are weaker than the end user’s.  The firms are striving to retain options.  We haven’t reached any sort of consensus about where the locus of the roll up will be.  We haven’t solved the authentication problem that’s a foundation for the whole problem.  Many highly contested issues here.  The shake out won’t be pretty.

It’s only very peripherally about you Brad.

Misc Freebsd Notes

Random things from the recent past, for the record.

The setup I described some time ago for taking regular snapshots of the file system corrupted my file system in obnoxious ways.  This is appears to be a known problem for some other folks.  Doing repeated fsck didn’t resolve the problem; deleting all files from the snapshots and then doing the fscks did.  I’ve turned it off; which is a bummer.

I have this “HP Media Center PC”, a “HP Pavillion a1125c”, inherited from an elderly friend who was clearing out assorted junk.  Rumor is it was the victum of a power surge via the Ethernet; and the Ethernet certainly doesn’t work.  I stuck a cheap Ethernet card in it.  I’ve no idea who to blame for the resulting “elm kernel: dc0: watchdog timeout” messages in /var/log/messages.
I setup Music Player Daemon on a machine, which is very nice.  I then setup Firefly so the same collection can be played from the Macs around the house.  It’s nice too.  Avahi provides the mDNS support to make that visible to iTunes.  Avahi complains (a lot) about “avahi-daemon[1224]: No slot available for legacy unicast reflection, dropping query packet.”  I haven’t puzzled out how to make it happy.

I setup netatalk so as to get an Apple File Protocol deamon (afpd) that would let the family add things to the Music Library.  The deamon, afpd, complains when launched “main: atp_open: Can’t assign requested address,” this message went away when I disabled the old Apple datagram protocol support, via -noddp.  Now it only emits that error message occationally, I have no idea why.  It is also complaining about “bad function 4C”, but that appears to be a known problem with Leopard’s AFP implementation having as yet undocumented additions.

This machine has sound hardware who’s vendor, it appears, hasn’t let the open source community have at it.  So I had to install something called Open Sound System (sic).  It took me a while to figure out that i needed to use ossmix to turn up the default volume: e.g. “ossmix connector.green.green 80:80” to get the stereo mix to 80% on both left and right channels of the green colored connector on the back of the machine.
I came into a Seagate FreeAgent Pro 750Gig usb drive; which I’ve been hoping to use with Bacula.  Sadly it doesn’t play nice with the HP a1125c; the BIOS hangs on boot if the usb drive is plugged in.  Otherwise it works fine.
I also came into a Apple Time Capsule, which is very nice.  It has a USB connector, so I put the 750Gig USB drive on it.  That requires reformating it to something The time capsule wants to mount.  The time capsule makes it’s drives visible via AFP, and SMB.  There doesn’t appear to be a way to mount AFP file systems on FreeBSD, netatalk can provide them but not mount them.

Freebsd has mount_smbfs built in so I went down that path.  The auto mounter (amd) has a not unusual feature where it takes file names like /net//foo/bar and squeezes out the duplicate slashes.  In spite of clear instructions in the documentation I was unable to get amd to mount my SMB file path, since they start with two slashs.  So instead I have amd mount the drive via a script, and that script names the drive.  The man page for amd.conf was key to seeing how to get enough logging to see what wasn’t working.

The 750gig drive is enthusiastic about putting it’s self to sleep.  That might be why I’m getting assorted time outs at this point.  But then again it might because the time capsule is busy doing other things.  I’m also getting “kernel: smb_iod_recvall: drop resp with mid 4858” errors in my logs.

This machine’s logs are getting to be a mess.  That’s a dangerous situation since it leads to ignoring other errors.  For example looking I see a few of these “arplookup 169.254.211.90 failed: host is not on local network.”  Hm.    I may need to dust off some old code I’ve got for log file analysis and monitoring.

If I was a better person I’d add lots and lots of links to this posting.