Post Programming

End of the 2011 world

Saturday, December 31st, 2011

I took the above photo near the beginning of 2011. It has spent most of the year near the top (currently #2) of my photos hosted at Flickr ranked by their interestingness metric. Every other photo in the 200 they rank (sadly I don’t think anyone not logged in as me can see this list) has some combination of being on other people’s lists of favorites, comments, or large number of views. The above photo has none of that. Prior to this post it has only been viewed 33 times by other people, according to Flickr, and I don’t think that number has changed in some time. Their (not revealed) code must find something about the image itself interesting. Is their algorithm inaccurate? In any case the image is appropriate as the world of 2011 is ending, and in 2012 I absolutely will migrate my personal media hosting to something autonomous, as since last year someone (happens to be a friend and colleague) has taken on the mantle of building media sharing for the federated social web.

My employer’s office moved from San Francisco to Mountain View in April, contributing to a number of people leaving or transitioning out, which has been a bummer. I’ve been working exclusively from home since May. Still, there have been a number of good developments, which I won’t attempt to catalog here. My favorites include agreement with the Free Software Foundation regarding use of CC0 for public domain software, small improvements in the CC legal user interface, the return and great work of a previous colleague, retirement of two substandard licenses, research, and a global summit/launch of a process toward version 4.0 of the CC licenses, which I hope over the next year prove at least a little bit visionary, long-standing, and have some consideration for how they can make the world a better place.

Speaking of which, I’ve spent more time thinking about social science-y stuff in 2011 than I have in at least several years. I’ll probably have plenty to say regarding this on a range of topics next year, but for now I’ll state one narrow “professionally-related” conclusion: free/libre/open software/culture/etc advocates (me included) have done a wholly inadequate job of characterizing why our preferences matter, both to the general public and to specialists in every social science.

Apart from silly peeves, two moderate ideas unrelated to free/libre/open stuff that I first wrote about in 2011 and I expect I’ll continue to push for years to come: increasing the minimum age and education requirement for soldiers and tearing down highway 980.

I haven’t done much programming in several years, and not full time in about a decade. This has been making me feel like my brain is rotting, and contributes to my lack of prototyping various services that I want to exist. Though I’d been fiddling (that may be generous) with Scala for a couple years, I was never really super excited about tying myself to the JVM. I know and deeply respect lots of people who doing great things with Python, and I’ve occasionally used it for scripts over the past several years because of that, but it leaves me totally non-enthused. I’ve done enough programming in languages that are uglier but more or less the same, time for something new. For a couple months I’ve been learning and doing some prototyping using the Yesod web framework (apparently I had heard of Haskell in 2005 but I didn’t look at it closely until last year). I haven’t made as much progress as I’d like, mostly due to unrelated distractions. The biggest substantive hurdle has not been Haskell (and the concepts it stands for), but a lack of Yesod examples and documentation. This seems to be a common complaint. Yesod is rapidly moving to a 1.0 release, documentation is prioritized, and I expect to be really productive with it over the coming year. Thanks to the people who make Yesod and those who have been making Haskell for two decades.

This year I appreciated three music projects that I hadn’t paid much attention to before, much to my detriment: DNA, Moondog, and especially Harry Partch. I also listened a lot again to one of my favorite bands I discovered in college, Violence and the Sacred, which amazingly has released some of its catalog under the CC BY-SA license. Check them out!

Finally, in 2011 I had the pleasure of getting to know just a little bit some people working to make my neighborhood a better place, attending a conference with my sister, seeing one of my brothers start a new job and the other a new gallery, and with my wife of continuing to grow up (in that respect, the “better half” cliche definitely applies). Now for this world to end!

Mozilla $300m/year for freedom

Thursday, December 22nd, 2011

More Mozilla ads by Henrik Moltke / CC BY

Congratulations to Mozilla on their $300m/year deal with Google, which will more than double current annual revenue. I’ve always thought people predicting doom for Mozilla if Google failed to renew were all wrong — others would be happy to pay for the default search position; probably less since Microsoft, Yahoo, and others make less than Google per ad view, but it’d still be a very substantial amount — and the link article hints that a Microsoft bid drove the price up.

There’s always a risk that Mozilla won’t spend the money well, but I’m pretty confident that they will. Firefox is excellent, and in 2011 has gotten more excellent, faster, and I think many of the other projects they’re doing are really important, and on the right track (insofar as I’m qualified to discern, which is not much), for example BrowserID. Even in small and hopelessly annoying things, like licensing, I think Mozilla is doing good. (Bias: Mozilla has donated to my employer.)

I’m no longer enthused about the possibility of huge resources for progress toward Wikimedia’s vision from advertising on Wikipedia. Since I was last on that bandwagon, it has become even less of a possibility in anything but the distant future: Wikimedia’s donation campaigns have gone very well, adequately funding its operating mission, and lack of advertising has become even more part of Wikimedia’s messaging; I’ve also become more concerned (not in particular to Wikimedia) about the institutional corruption risks previously blogged by Peter McCluskey and Timothy B. Lee. (Note these objections don’t apply to Mozilla: its significant revenue has always been advertising-based; very roughly its revenues are already 10x those of Wikimedia’s; and it is also building up an individual donor program, which I agree is often the healthiest revenue for a nonprofit.)

But I still very much think freedom needs massive, ongoing resource infusions, in the right institutional framework. I celebrate the tremendous benefits of the FLOSS community achieves without massive, concentrated, ongoing resource infusions, but I also admit that the web likely would be much worse, much less webby, and much less free without concentrated resources at Mozilla over the last several years.

Thank you Mozillians, and congratulations. I have very high expectations for your contributions over the next years to the web and society, in particular where more freedom and security are obviously needed such as mobile and software services. Such would be just a start. As computation permeates everything, and digital freedom becomes the most important political issue, the resources of many Mozillas are needed. More on that, soon.

Creative Commons hiring CTO

Monday, July 11th, 2011

See my blog post on the CC site for more context.

Also thanks to Nathan Yergler, who held the job for four years. I really miss working with Nathan. His are big shoes to fill, but also his work across operations, applications, standards, and relationships set the foundation for the next CTO to be very successful.

5 years of posts as wordles

Saturday, January 3rd, 2009

Composition of wordles / CC BY

Unsatisfying, or perhaps this blog is just that uninteresting. Code used to produce yearly wordlists. Some possible improvements:

  • Rewrite as WordPress plugin OR abstract from WordPress
  • Case insensitivity
  • Suppress common words (used Wordle menu for this, but it isn’t very aggressive), perhaps using a word frequency dataset
  • Use free software alternative to Wordle to generate wordclouds (suggestions?)
  • Automate generation of wordclouds (very difficult using Wordle, would involve browser automation, thus previous bullet)

I started doing this in part to see five years of topic changes on this blog, but mostly because if it worked well, I’d use it on the Creative Commons blog, which is a 6+ year mass of around 2,500 almost completely uncategorized/untagged posts. In that vein, I intend to look into automated term extraction and user tagging code.


Monday, February 18th, 2008

There are a number of fun things about a sketch of Uberfact: the ultimate social verifier. The first is that the post could be written without mentioning . The second is that the proposed project is a nice would-be example of political desires sublimated entirely into creating useful and voluntary tools. Third, Mencius Moldbug is a fun writer.

Something like Uberfact should absolutely be built, though I’m far from certain it would hit a sweet spot. It may be too decentralized or too centralized or both. All points from enhancing Wikipedia to the Semantic Web (with Uberfact somewhere between) are complementary and well worth pursuing, particularly if that pursuit displaces malinvestment in politics.

Relatedly, but no time to explain why:

Steps toward better software and content

Saturday, December 1st, 2007

The Wikimedia Foundation board has passed a resolution that is a step toward Wikipedia migrating to the Creative Commons Attribution-ShareAlike license. I have an uninteresting interest in this due to working at Creative Commons (I do not represent them on this blog), but as someone who wants to see free knowledge “win” and achieve revolutionary impact, I declare this an important step forward. The current fragmentation of the universe of free content along the lines of legally incompatible but similar in spirit licenses delays and endangers the point at which that universe reaches critical mass — when any given project decides to use a copyleft license merely because then being able to include content from the free copyleft universe makes that decision make sense. This has worked fairly well in the software world with the GPL as the copyleft license.

Copyleft was and is a great hack, and useful in many cases. But practically it is a major barrier to collaboration in some contexts and politically it is still based on censorship. So I’m always extremely pleased by any expansion of the public domain. There could hardly be a more welcome expansion than ‘s release of his code (most notably ) into the public domain. Most of the practical benefit (including his code in free software distributions) could have been achieved by released under any free software license, including the GPL. But politically, check out this two minute video of Bernstein pointing out some of the problems of copyright and announcing that his code is in the public domain.

Bernstein (usually referred to as ‘djb’) also recently doubled the reward for finding a security hole in qmail to US$1,000. I highly recommend his Some thoughts on security after ten years of qmail 1.0, also available as something approximating slides (also see an interesting discussion of the paper on cap-talk).

gOS: the web takes and gives

Saturday, November 24th, 2007

I imagine thousands of bloggers have commented on , a Linux distribution featuring shortcuts to Google web application on the desktop and preloaded on a PC sold (out) for $200 at Wal-Mart. Someone asked me to blog about it and I do find plenty interesting about it, so thus this post.

I started predicting that Linux would take over the desktop in 1994 and stopped predicting that a couple years later. The increasing dominance of web-based applications may have me making that prediction again in a couple more years, and gOS is a harbinger of that. Obviously web apps make users care less about what desktop operating system they’re running — the web browser is the desktop platform of interest, not the OS.

gOS also points to a new and better (safer) take on a PC industry business model — payment for placement of shortcuts to web applications on the desktop (as opposed to preloading a PC with crapware) — although as far as I know Google isn’t currently paying anything to the gOS developers or , which makes the aforementioned cheap PC.

This is highly analogous to the Mozilla business model with a significant difference: distribution is controlled largely by hardware distributors, not the Mozilla/Firefox site, and one would expect end distributors to be the ones in a position to make deals with web application companies. However, this difference could become muted if lots of hardware vendors started shipping Firefox. This model will make the relationship of hardware vendors to software development, and particularly open source, very interesting over the next years.

One irony (long recognized by many) is that while web applications pose a threat to user freedoms gained through desktop free and open source software, they’ve also greatly lowered the barriers to desktop adoption.

By the way, the most interesting recent development in web application technology: Caja, or Capability Javascript.

RIA marketing follies

Sunday, October 28th, 2007

I don’t know anything about software marketing, but if I had to give an impromptu lecture on the subject right now, I’d use the following two posts (with comments) as virtual handouts: Mozilla Labs on Prism and Mike Chambers (of Adobe) on Mozilla Prism and the disingenuous web.

: Difficult to figure out exactly what it is other than expansive and proprietary, so people assume it is an evil attempt to take over the web. Dan Brickley‘s comment on Chambers’ post is illustrative:

Hi thereFrom your post over on Mozilla’s site,

“You do realize that Adobe AIR is as much about HTML, JavaScript, CSS, etc… as it is about Flash / Flex?”

Just as a point of feedback: I had no idea of this. I’ve seen a lot of mentions of Air around the Web of course, but not dug into its official docs. Well I assumed AIR could probably handle HTML, maybe even bits of SVG if you’ve got webkit in there, but I somehow had the impression it was primarily all about Flash. Quite probably I didn’t bother to read up on it properly because, for better or worse, I somewhat expected a Flash-centric agenda, and so didn’t take the time to investigate what I unreflectively figured was “Adobe’s new Flash-based thingy”. If it is more standards-friendly, there’s a chicken and egg problem in getting this news out to developers who may tune out when they hear “Adobe toolkit” on assumption it’ll be Flash-flash-flash. I’m happy to be re-educated anyway :)

Will Air support (interactive) SVG to any level? Or the W3C widgets work ( ?

Tellingly (in terms of marketing if not reality), Brickley’s questions have gone unanswered.

: Open source and so simple that there’s almost nothing there (open a URL from a desktop icon in a browser with some web navigation features removed) that people instantly “get” it (and the bigger ideas behind it) and looooove it.

I suspect that an AIR application can accomplish the same limited functionality with just a bit more code than hello world and that AIR provides much more. But unless Adobe can effectively communicate what the heck AIR is and exactly how it works with open standards, it will be eaten for breakfast by the slow (for good reason — more fully featured web/desktop integration will raise all kinds of thorny security, synchronization and software update issues) web juggernaut. As some commenters pointed out, the obvious thing for Adobe to do is to “work with Mozilla and other players to standardize these features.”

Then there’s the obvious joke about AIR (although that link does include the appropriate reference to vapor, it concerns something surprising and somewhat — an attempt to make Java Applets — relevant).

Don’t know what any of this is about? Try Rear Guard Applications for perspective.

Moore’s law for software

Monday, August 27th, 2007

There’s been a fair bit written about ‘Moore’s law for software’, usually complaining that there isn’t one. My guess is that’s nuts, but I’d love to see some rigorous analysis (I bet I’m just ignorant of it).

Interesting tidbit from San Jose Mercury-News article two weeks ago Penny-pinching entrepreneurs changing world of venture capital:

Ten years ago, six or seven programmers would have been needed to achieve the results of one programmer today, valley veterans say.

If true, that’s an annual increase in programmer productivity of about twenty percent. Let’s say it’s actually half that due to exaggeration or (adding headcount to a software project doesn’t scale well–though on second thought Brooks’ Law could magnify productivity increases, by allowing teams to get smaller). That would make for a doubling time of about seven years. Not nearly as impressive as Moore’s Law doubling of transistor density every two years, but still exponential. And my wild guess is that it has been fairly consistent over the history of programming.

For my five year old impressions on the matter, see this thread.

Addendum: Depending (in part) on how far back you consider the history of programming to go, of course a consistent doubling time for software (or hardware) doesn’t make sense, but rather . Doubtless Ray Kurzweil has many graphs attempting to demonstrate this for software in his books. I didn’t intend to go there in this post, but it is timely, as I’ll probably attend the Singularity Summit in a couple weekends.

Rear Guard Applications

Saturday, May 12th, 2007

In the mid-90s lots of companies sold attempts to make web development more like desktop or client/server development (e.g., by shoe-horning state, UI builders and controls and object-relational mapping into the web paradigm), when all developers really wanted was a way to reliably to a database from scripts running on a webserver.

10+ years later similar companies have taken a sharp turn (but not 180 degrees) and are now shoe-horning web development concepts (e.g., URLs, markup and other declarative programming) into their desktop and client/server frameworks. This is what it seems to me are about, though admittedly I have not been following all that closely and am even more in the dark about what exactly is “in” the Apollo, Silverlight, or JavaFX “stack” than I was about the specific features of what came to be known as application servers in the late 90s.

I gather there is lots of fear about damage proprietary RIA frameworks could do to the open web. There’s plenty to be concerned about, and RIA vendors and developers should be encouraged to go open source and for maximum interoperability with the web. Perhaps I’m less than worked up because I see proprietary RIA as a rearguard action (NB web applications are complicated for open source completely independent of their use of “rich” frameworks), albeit one that may significantly improve some desktop and client/server application development.

Mike Shaver has a nice post related to this:

The web can eat toolchain bait like this for breakfast. And, if Mozilla has anything to say about it, it will do just that. You won’t have to give up the web to work offline any more, or programmable 2D graphics, etc. Soon you’ll have the power of 3D and great desktop/application integration as well, via projects like canvas3d and registration of content handlers, and you’ll have it in a way that’s built on open specifications and a tool ecosystem that isn’t a monoculture. Why wouldn’t you choose the web, given its record and power and openness?

Shaver’s post also concerns a debate about whether Mozilla should put more of a focus on its , in addition to its applications, primarily Firefox. I haven’t been following closely, but at first glance the debate strikes me as idiotic. XULRunner is just yet another desktop application development platform. Who cares? Yes, I think Songbird is a neat application that also happens to be built on XULRunner. But the web is a far more interesting platform, and Firefox (or to a large extent, just ), not XULRunner, is the client development environment for the web. If Firefox had not been built on XULRunner, how many people would care or notice?

Mozilla has the right focus for another reason, hinted at by Mitchell Baker:

The Mozilla Foundation will continue building the Mozilla platform. And application developers who have high quality improvements to make are very welcome contributors. But the idea of the Mozilla Foundation de-emphasizing applications in order to transform ourselves into a general purpose “platform” organization — giving up the fundamental focus on the human being a application focus provides, reducing our ability to help individuals directly — seems an absolute non-starter to me.

Development frameworks have no moneysearch box.