Archive for the 'Open Source' Category

At EclipseCon 2007 - Look Me Up!

I’m at EclipseCon 2007 this week, in sunny Santa Clara, CA. I’m very much looking forward to the event. Lots of great sessions lined up and this year’s conference looks to be bigger than ever.

The ecosystem that has developed around Eclipse is remarkable. Definitely shows the power of Open Source within the developer community (something I was lucky enough to contribute to with CVS).

If you’d like to chat/meet, please drop me an email.

Tags: ,,,,,,,



OpenID Enabled

I’m OpenID enabled. Check out the Wikipedia OpenID article for a great overview. The high points include:

When you post on a blog using OpenID, the blogger’s site asks your OpenID provider to log you in; when your provider verifies you, you are guaranteed a unique identity without maintaining an account for that blog.

On OpenID-enabled sites, Internet users do not need to register and manage a new account for every site before being granted access.

Sounds pretty good to me! Also, take a look at the Simon Willison Screencast on How to use OpenID.

The other thing I like about OpenID is that I can make my website/blog address be my OpenID. I.e., my OpenID is brianberliner.com. So, what do I get with this:

  • An easy username to remember that works on multiple web sites.
  • Muy OpenID maps to me, my brand.
  • No need to create yet another password to forget (there’s only ONE PASSWORD) to manage.
  • My very personal OpenID URI will only authenticate to me.
  • I can change the back-end provider that does the actual authentication at any time, and the OpenID that the rest of the world sees does not change.

So, how did I do it?

1. Check out Simon Willison’s article on How to turn your blog into an OpenID.

I chose VeriSign Labs as my OpenID provider, since I trust the VeriSign brand. They are the one’s that will do the heavy lifting of securely authenticating me on multiple OpenID-enabled sites using my single sign-on password (yes, ONE PASSWORD!). I’m
brianberliner.pip.verisignlabs.com.

2. Configure your website/blog software to include two additional links in the header.

I edited my Wordpress 2.1 theme to add the following two lines to the <head> section:

<link rel="openid.server"
    href="https://pip.verisignlabs.com/server">
<link rel="openid.delegate"
    href="http://brianberliner.pip.verisignlabs.com/">

And, that’s it! Do these two steps and you too can be OpenID enabled.

Tags: ,,,

Kernel-based Virtual Machine hits Linux

Many congratulations to my good friend Moshe Bar and his team over at (stealth-mode startup) Qumranet. Techworld reports that the KVM (Kernel-based Virtual Machine) project has been accepted into the 2.6.20 version of the Linux kernel distribution.

KVM is an Open Source kernel driver that basically allows a Linux kernel to host virtual machines, as plain old Linux processes, that can run Linux or Windows (or other x86-based operating systems). It runs only on hardware that support Intel’s VT instruction set (which is fine) and will soon support the AMD-V instruction set as well.

This is cool for a number of reasons.

  • It’s Open Source, released under the GPL.
  • It basically turns the Linux that we all know and love into a "hypervisor".
  • Linux-as-hypervisor makes sense because Linux already knows how to manage devices, memory, processes, multi-cores, etc.
  • VMware ESX is, essentially, a "hypervisor" - a small kernel, built on Linux as it turns out, that boots to load other guest operating systems in protected space. Could Linux + KVM be a credible threat to VMware ESX? Perhaps, someday. But the KVM team has a ton of work to do to get there.
  • Yet another confirmation that out-of-the-box virtualization is being completely commoditized.
  • Xen is an external hypervisor which lives outside of (below) the Linux kernel. At present, I am a bigger fan of hypervisors that live within a commercial operating system (like Linux, Windows, or Mac OS X), rather than below it (like Xen).

For more information, check out the KVM Whitepaper. It is well written and explains the differences between the Xen approach and theirs. Also check out the KVM Sourceforge Project page.

The KVM team has done a very nice job, and I really like the architectural approach, but they have a long way to go:

  • Fraser Campbell reports that KVM was "decided slow" when he tried it.
  • Currently only supports uniprocessor guest operating systems.
  • The Linux commit of the project included the following comment: "Performance currently is non-stellar due to the naive implementation of the mmu virtualization, which throws away most of the shadow page table entries every context switch." Not good. Workarounds for this included waiting for new releases of Intel and AMD processors that supported nested page tables. That would be a 3+ year wait for a new processor spin to end up in the hands of paying customers.
  • Of course, none of this matters in the enterprise if you cannot manage it… Hmm. I wonder where Qumranet will fit?

Unfortunately, the "KVM" acronym is a horrible one. It makes me, and likely every other datacenter person, think of "Keyboard Video Mouse".

Qumranet has received VC funding from Sequoia Capital and Norwest Venture Partners.

Tags: , , , , , , ,

Big In Japan Open Sources Their Ruby On Rails Tools

The kind folks over at Big In Japan have graciously decided to Open Source the code they used to build their demo web sites. It’s all Ruby on Rails code, and it’s being released with a GPL license. The code trees being made available include:

Very cool. I just love the Open Source community.

I have actually been writing some code of late, and it’s great to have some reference code to check out. Not sure if I’m going to go with Ruby on Rails yet, however.

And, for the record. I have no idea if this is big in Japan.

Tags: ,,,,,

STIRR Founder Mixer 1.8

I attended the STIRR Founder Mixer 1.8 tonight in Palo Alto. Charles River Ventures sponsored the event and introduced their QuickStart program to the packed house. Then, the four invited companies got to present a 60-second elevator pitch about their business, and answer a question or two from the host. All the presenters did an excellent job.

For my part, I was attending as an “Advisor Capitalist” — someone who invests in an early stage company only if he/she feels that they can actually add value to the company by working with the founders directly. That value can come in the form of fund raising assistance, business planning, technology review, architectural considerations, partnering strategy, pricing analysis, competition, corporate structuring, or organizational plan/issues.

My reactions on the presenting companies below…


Frucall allows you to call 1-888-DO-FRUCALL on your mobile phone while you are shopping to find out the best online price for an item. You enter the barcode number of the item of interest, listen to the response, choose to buy from Frucall immediately, get product information verbally, or bookmark the item for later review from your PC. I see where they are going, but I don’t think that consumers want to buy items from their mobile phone for mail-order delivery while in a retail store shopping for an instant gratification purchase. Perhaps that’s just me. I tried the service with the bar code from my iLife ‘06 package, but couldn’t get a match. Also, it’s hard for people to know which numbers constitute the whole bar code. And, the ad at the beginning was pretty long. This might be easier with an SMS message of the bar code…


Kongregate is a casual games site that allows you to play (Flash-only?) games online for bragging rights. I love the market. Couldn’t try the service, as it is not open for use quite yet. They describe themselves as “online hub for players and game developers to meet up, play games, and operate together as a community”. I also like the fact that “Kongregate shares microtransaction and advertising revenue with contributing developers, who retain the full rights to their games.” Well done. The challenge, of course, is to build the player and developer user base concurrently.


Krugle is the place you go to find code and find answers. Krugle is a well-funded startup with funding from folks like Emergence Capital Partners, Omidyar Networks, First Round Capital,
and Rustic Canyon Partners. Krugle also has a seasoned CEO on board in Steve Larsen. I’m a big fan of Krugle. I wrote CVS and contributed it to the Open Source community back in 1989, so I love any tool that helps developers build great software more efficiently. Krugle does that.



What Expedia is for Hotels, Liftopia is for Ski Resorts. OK. Full disclosure. I did live in Colorado for 16 years and I am a snow boarder. But, that’s not why I like Liftopia. I think these guys are onto an under-served market. Their CEO really seems to “get it”. Their site is nicely done. Unfortunately, they don’t have too many resorts on board yet, but some good, hard business development work will get them there. I expect to see some good things from these guys.

All in all, a very enjoyable STIRR event. Just a bit too loud.

Tags: ,,,,,,,,,,

Zimbra Collaboration Suite 4.0

Previously, I’ve talked about how my Nokia E61 smartphone does not seem to work correctly with the IMAP IDLE support offered by my Dreamhost email server. I contacted Dreamhost support about this, and they tell me that it’s not their fault. It must be a bug in the Nokia E61 IMAP client.

The problem is that the Nokia E61 Email client, when connected to my Dreamhost email server via IMAP, refuses to download new email automatically. I have to specifically ask it to do so. Having grown tired of that, I decided to give Zimbra a try.

The problem with Zimbra is that if you are a Sole Proprietor and only need a single mailbox for your business, trying out Zimbra can be a pretty costly experiment. Lots of the Hosting Partners that support Zimbra charge big setup fees and large monthly fees for Zimbra Mobile support, which I needed for my Nokia E61 to have full access via the Nokia Mail for Exchange (ActiveSync) client.

Having found no love from the Hosting Partners in the US, I moved on to the UK. Simply Mail Solutions offered the full Zimbra Collaboration Suite (ZCS) 4.0 Network Profession Edition with support for Zimbra Mobile and iSync synchronization for my Mac iCal and Address Book contacts. They offer this with $0 setup fee, the ability to purchase just one mailbox, and for the low monthly price of under $8 (US). Competitors in the US were charging setup fees more like $99 and monthly fees of over $20. Simply Mail Solutions won the business.

What was even better was that their customer support was excellent. Keith over at Simply Mail Solutions set up my account and took very good care of me.

If you are looking for Zimbra mailbox support, check these guys out. Tell them I sent you.

I will return later with my reactions to the Zimbra product.

Tags: ,,,,,,

Firefox 2.0: It’s Not You… It’s Me, Baby

I broke up with Firefox today.

“Foxy” and I had been seeing each other, exclusively, for over a year now. So, it has certainly been a long-term relationship.

At first, it was a fast-paced romance.

Lots of extensions to try, and themes to suit the mood.

Even Greasemonkey.

But lately, things have really slowed down.

Foxy took over my memory. Leaks, they call it. My poor system was forced to swap itself silly.

It seemed like Foxy didn’t want me to visit other websites; see other pages; use other apps. Was it jealousy or something else?

Surfing became a drag.

Instead of play, we took to arguing over performance.

The yelling increased. We found ourselves talking about topics when we should have been talking about the issues.

The promise of a “2.0″ version appeared to be the only thing holding us together.

But, the core issues remained, even with the plastic surgery.

I was as much a part of the dysfunction as Foxy.

It had to end.

I’ll go on Safari now.

Sure, there may not be as much glitz and glamour.

No Greasemonkey.

But surfing is no longer a drag. I can use other apps; see other pages.

Thanks, Foxy.

It was fun while it lasted.

Tags: ,,,,,,,

Ask Brian: CVS, Open Source, and Startups Today

DEAR BRIAN: This is Michael, founder of Photoblog.com. I’m starting an online blog, folksonomy.org, where I hope to post interviews of prominent figures in Web2.0, investing, programming, and more. Would you be willing to answer a few questions? Here they are:

  • What inspired you to code CVS?
  • How do/did you feel about CVS being adopted by the open source community and watching it grow?
  • What are the biggest differences you see between the internet startups today, and the startups during Web 1.0?
  • Do you think we’re in a new internet bubble?

– MICHAEL FROM FOLKSONOMY.ORG, Bay Area, CA

DEAR MICHAEL FROM FOLKSONOMY.ORG: I’d be happy to answer your questions!
NOTE: Michael’s post on folksonomy.org is: Interview with Brian Berliner.

1) What inspired you to code CVS?

I wrote CVS precisely because of a core need that my software development team had. I was working for a company called Prisma Supercomputers in 1988. We were trying to build the world’s fastest scalar supercomputer using GaAs technology, running the SPARC instruction set, and built on top of SunOS (the days before Solaris). In the software department, we had a bunch of programmers that were making some significant changes to the SunOS kernel, all at the same time. This was 1988-1989, and Sun was largely a Workstation company at the time. They wanted to build the big servers and get the high margins, but really hadn’t figured out how to do that yet. SunOS, as a result, was a Workstation-tuned operating system. The kernel jockeys at Prisma, myself included, were working hard to scale SunOS up to the speeds and performance demanded of the world’s fastest computer. And, we were stepping on each-other’s work, or having to wait for a file to be unlocked in RCS before we had a shot at editing it. We were a startup and had no time to be less than optimally efficient.

So, I went to my boss, Mike O’Dell (who since went on to be Chief Scientist at UUNET and is now a Venture Partner with NEA), and explained the problem. I asked for 2 weeks to dig in and solve the problem. He granted it (Thanks, Mike!). Given the limited time that I had, I opted to start from a "public domain" solution called "CVS" done by Dick Grune in 1986. It was about 2,000 lines of shell script that did the basics of adding concurrency on top of RCS within a single directory. The project had not advanced in the 3 years since release, but it gave me a good jumping off point. I wrote about 6,000 lines of C code in those two weeks to implement the core CVS that folks have used over the last 17 years. Interestingly, the core concurrency piece of the shell script version (which was brilliant and ahead of its time), ended up being 239 lines of shell script code. My version of it, in C, weighed in at 289 lines of code, and I only recall extending it to handle directories (making CVS recursive was one of the killer feature additions), and fixing some logic. I also added a bunch of capabilities that weren’t in the original shell script version, including recursive directories, modules, branching, tagging, code bulk import, operations on the repository itself, tracking your modifications to third-party source code, logging, hooks for third-party tools, extreme performance upgrades for scalability, flexible merging, checkout and diff using flexible dates, and patch generation.

You can find more on CVS here.

2) How do/did you feel about CVS being adopted by the open source community and watching it grow?

The original shell script version that I used as a model for CVS was already in the public domain. As a result, I could have done anything I wanted to my version of CVS, including making a commercial version. However, in the spirit of the Open Source movement (which, at that time, was really the Free Software movement), I chose to maintain the copyright myself and to license CVS under the GPL. Of course, to do this, I needed the permission of my management team. This time, it was Rob Kolstad who pushed Prisma to, as the company was being shut down, give me the rights to the work and let me put it under the GNU project (Thanks, Rob!).

CVS would not have been as successful had it not been a key part of the early Open Source movement. I nurtured CVS, part-time, for a couple of years past the first release. Jeff Polk helped me rewrite the internals of CVS during this time - he was a better programmer than I would ever be. Our rewrite allowed for lots of other contributors to extend CVS, now that it was as pretty inside as it was outside. User contributions included lots of portability fixes, which increased CVS adoption, as well as some key features, like the client-server support, which allowed for CVS to enable distributed development to happen on a very grand scale. You could say that CVS was a key component of the Open Source movement and its success. Sourceforge.net currently has over 120,000 open source projects using CVS (8,000 projects are using Subversion, the follow-on to CVS, and I am a big fan of Subversion).

I’m thrilled about the part that I, and other CVS contributors, had on Open Source and software development in general.

3) What are the biggest differences you see between the internet startups today, and the startups during Web 1.0?

It’s easier to do an Internet startup today than in the Web 1.0 days. The software tools are better and cheaper, hardware is cheaper, outsourced data centers are available and standard, global developers are writing really good code now and it’s easier to distribute development around the world. The entrepreneurs today are more focused on solving a true need. Google and Yahoo have established web-based advertising as a viable bootstrapping revenue stream - we didn’t fully understand how to "monetize eyeballs" in Web 1.0. Open Source tools have really enabled a lot of this. And, we’re just getting more mature in how we are allowing for the "architecture of participation". In Web 1.0, most people didn’t fully understand the Web and what it could do for them or their place in it. Now, people spend enormous amounts of time on-line, doing good, building their reputation, contributing content. The Web 1.0 greed machine was not good for building enduring businesses. I don’t see that now (yet).

4) Do you think we’re in a new internet bubble?

I covered this topic in my post, Web 2.0: 24 Minutes In Heaven: "I was up-close and personal during the first Internet Bubble. Are we in one now? Absolutely not. Not even close. Yes, there is a ton of VC money out there right now, but the IPO markets are largely closed, except for the best companies, which is how it should be. The M&A multipliers are reasonable for the most part (yes, there are some amazing exceptions, but there always will be). VC’s are over-valuating some of their investments today (both Series A and follow-ons, which I will cover shortly), which is bad, but it does not appear to be out of control. Compared to what I saw in 1996-1999, I feel very good about the industry as a whole right now. It’s a good time to be an investor and a good time to be an entrepreneur."

This post is part of The "Ask Brian" Series and is held to the same legal considerations as described therein.

Tags: , , , , , , , , , ,

Wordpress Trackbacks Not Working With Qumana

I am a new blogger.

I have discovered that blogging tools are still somewhat crude.

I chose Wordpress as my blog server-side software, hosted by Dreamhost instead of using the Wordpress.com hosting service. Why? I already had the Dreamhost account and I wanted full control to use whatever version I wanted and to fix/enhance the software when needed. One of the advantages of an Open Source piece of software, like Wordpress, is that the user community gets to help make it better for everyone on the platform. A happy user community breeds a better Open Source product, and the cycle feeds, positively, on itself. I had dinner with Matt (Mr. Wordpress himself) at the O’Reilly Web 2.0 Conference last October in San Francisco. Wordpress has really taken off since then, so it seemed like a reasonable choice. I have been mostly happy with it. Until…

I also chose Qumana as my blog-writing client-side software. I wanted a WYSIWYG blog writing tool that allows for offline editing since I travel a great deal. I run exclusively on Apple Mac OS X. Wordpress has a list of available clients. I tried them all. Qumana is the best that’s available today, but it has a number of annoying problems that I will get to in another post on another day. The current beta is free. TechCruch covers it here and here and here.

For today, I wanted to point out that, as a new blogger, the ability to send Trackbacks to articles that I comment on is pretty important. I am completely surprised that this appears to be a manual process:

  1. Visit the blog article that you are linking to
  2. Search down for "trackback" to see what the Trackback URI address is
  3. Select it and cut-and-paste, or right-clink and copy
  4. Paste it into the Trackbacks section of Qumana

OK, that’s a pain, but at least it’s a process with a known workflow.

The problem comes when you do "Publish Post" or "Update Post" to send your fine new article to your Wordpress server so that it can be posted, and can then ping all the trackback links for you. Wordpress 2.0.3 will not send out any of the trackbacks that you send it via the XML-RPC API that is used by blog editing software, like Qumana or MarsEdit or Ecto. When you edit the post in Wordpress, it will say "Send trackbacks to: Array". It will look something like:

Now, you are forced to:

  • Edit the article directly in Wordpress
  • Delete the "Array" part
  • Go find all your Trackback URI’s again, one-by-one, as in the previous steps
  • Paste them into the Trackbacks field above, separated by spaces
  • Save the updated post in Wordpress

The worst part, though, is that after you save the post, some of the formatting is modified by Wordpress, causing the lines to wrap in Qumana in ways that you did not intend. Ugh. Fix the line breaks in Qumana and update it again. Heaven forbid if you actually added another Trackback address. I need a drink.

Annoyed, I took the morning off to fix it today.

There appears to be a bug that was opened about this issue, Ticket #1452 on Trac. The bug was opened one year ago, on June 18, 2005. It was fixed promptly by July 7, 2005, but the fix never worked. In November, Matt saw that the fix did not work and moved the resolution out to the 2.1 release (whenever that will be). I needed a fix now, so I found the problem and fixed it (the API was feeding it an "array", but the trackback code expected to get a "string" of Trackback URL’s separated by whitespace). The fix was easy. Since I’m not familiar with the code, finding the fix took a couple of hours of old-school printf-style debugging.

My quick and dirty fix was as follows. Immediately after the following lines in xmlrpc.php:

$to_ping = $content_struct['mt_tb_ping_urls'];

Note that there are two lines in the file like the above line - one in mw_newPost and one in mw_editPost. You should add the following lines of code after each of them:

if (is_array($to_ping)) {
    $to_ping = implode("\n", $to_ping);
}

Update: As I wrote this article, I see that the Wordpress developers posted a patch for this very same problem TODAY at this link. Ah, if only I had procrastinated one more day… No matter. I learned a ton about PHP and the Wordpress architecture today. Also, their patch is completely different than mine and I have not tried their fix. Add a comment here if you do. Such is the life of concurrent software development.

Such is the life of a new blogger with fairly, ahem, "fresh" tools.

Tags: , , , , , ,

CVS and FOSS

This weekend, I was lucky enough to spend many hours at the local bookstore. Browsing. Reading. Browsing. Reading. I have too many hobbies and too many interests. Just touching on a few of them keeps me pretty busy at the bookstore. Browsing online is great and all, but it’s really not as enriching as browsing the shelves. Perhaps I’m old school (I’m 42 years old), but I grew up in a time when you had to physically go to the library to research anything and everything. I spent a lot of time at the library. A few lucky families had an encyclopedia, but they were usually way out-of-date. And, as such, my fascination for real books was formed.

Anyway, while browsing the geek book section, I flipped through Perspectives on Free and Open Source Software by Michael Cusumano, Clay Shirky, Joseph Feller (Editor), Brian Fitzgerald (Editor), Scott A. Hissam (Editor), Karim R. Lakhani (Editor). They had some very nice words to say about CVS:

Adoption of CVS among Open Source projects is near total, and the concepts embodied in CVS have clearly influenced the open source methodology. CVS can easily provide universal access to users of many platforms and many native languages at locations around the globe. The practice of volunteer staffing takes advantage of CVS’s straightforward interface for basic functions, support for anonymous and read-only access, patch creation for later submission, and avoidance of file locking. CVS has been demonstrated to scale up to large communities, despite some shortcomings in that regard. The protocol used between client and server is not a standard; however, CVS clients have followed the user interface standards of each platform. In fact, the command-line syntax of CVS follows conventions established by the earlier RCS system. A separation of policy from capability allows a range of branching and release strategies that fit the needs of diverse projects. Frequent releases and hierarchies of release quality expectations are facilitated by CVS’s ability to maintain multiple branches of development. Peer review is enabled by easy access to the repository, and is encouraged by email notification of changes.

As a contributor to the Free and Open Source Software (FOSS) movement, I chose never to monetize CVS. That was my choice. As such, it is references like this and recognition like receiving the 2003 USENIX STUG Award that make me proud of my contribution and its 17 years of service that it brought to Free and Open Source Software development.

Many thanks to the authors of Perspectives on Free and Open Source. Keep up the good work, and keep spreading the word.

Tags: , , , , , , ,