<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>keithcu.com</title>
	<atom:link href="http://keithcu.com/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://keithcu.com/wordpress</link>
	<description></description>
	<lastBuildDate>Wed, 08 May 2013 06:43:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>LibreOffice 4.0 And The Power of Brands</title>
		<link>http://keithcu.com/wordpress/?p=3163</link>
		<comments>http://keithcu.com/wordpress/?p=3163#comments</comments>
		<pubDate>Tue, 12 Feb 2013 00:49:58 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=3163</guid>
		<description><![CDATA[<p>LibreOffice 4.0 was launched last week, and the news reports and activity on social media were massive, more than any release of LibreOffice or OpenOffice before, with better coverage than many of Microsoft&#8217;s well-funded introductions. There were numerous links sent around to the usual sites like LinuxToday.com, but also TechCrunch, VentureBeat, Time Magazine, etc. [...]]]></description>
			<content:encoded><![CDATA[<p>LibreOffice 4.0 was launched last week, and the news reports and activity on social media were massive, more than any release of LibreOffice or OpenOffice before, with better coverage than many of Microsoft&#8217;s well-funded introductions. There were numerous links sent around to the usual sites like <a href="http://www.linuxtoday.com/upload/libreoffice-4.0-release-to-widen-divide-with-openoffice-130205143018.html" target="_blank">LinuxToday.com</a>, but also <a href="http://techcrunch.com/2013/02/07/libreoffice-4-0-released-just-in-time-for-office-365-refugees/" target="_blank">TechCrunch</a>, <a href="http://venturebeat.com/2013/02/07/libreoffice-4-0-release/" target="_blank">VentureBeat</a>, <a href="http://techcrunch.com/2013/02/07/libreoffice-4-0-released-just-in-time-for-office-365-refugees/" target="_blank">Time Magazine</a>, etc. A fair amount of the chatter was people wondering what the difference is between the two versions. Some have basic questions like whether LibreOffice can import their OpenOffice documents.</p>
<p>LibreOffice is introducing their new name and community to the world. All the major Linux distros are already aware, but there are many Windows and Mac users who don&#8217;t understand what is going on. People even become attached to names for emotional reasons. Brands are powerful. If you were in a remote village in India on a hot day, you&#8217;d quite likely grab a Coke to cool your thirst if that was the only one with letters you recognized. Even people who like to travel and try new things might not want to take a risk on something that looks like carbonated, used bathwater with funky characters when they are tired, hot and thirsty.</p>
<p><a href="http://keithcu.com/wordpress/wp-content/uploads/2013/02/kancha-cola-walacropped.jpg"><img class="size-full wp-image-3165 aligncenter" title="kancha-cola-wala" src="http://keithcu.com/wordpress/wp-content/uploads/2013/02/kancha-cola-walacropped.jpg" alt="" width="640" height="372" /></a><em>Picture by Hari Kishan &amp; Shardul Pandey<br />
</em></p>
<p>In the realm of software, the considerations are different but related. Many are afraid to try new things because technologies so frequently come and go. People have been burned by Farmville, Zune, Tweetdeck, iTunes, Nvidia, Comcast, AT&amp;T, Sprint, Sun, Adobe, Gnome 2.x, Microsoft, IBM, etc.</p>
<p>Some people look down on the LibreOffice / OpenOffice codebases because the user interface is more clunky than Microsoft&#8217;s Office, but many who spent time in it saw how it handled their files, has <a href="https://wiki.documentfoundation.org/Feature_Comparison:_LibreOffice_-_Microsoft_Office" target="_blank">many features</a>, and is generally stable, fast, portable and free. People became attached to &#8220;OpenOffice&#8221; during the hours they spent expressing their creative ideas. Many attach greatness to the name rather than to the people who built it. This makes people uneasy to try LibreOffice.</p>
<p>If you were to explain to OpenOffice users that Oracle laid off all the programmers before handing the trademark to Apache, and their new team is legally unable to accept changes made by LibreOffice, they might realize they should try the newcomer. That disclaimer is currently not on the Apache website. It would also be a useful warning if they listed all the features missing from LibreOffice. The current full list is already mind-blowing (<a href="http://www.libreoffice.org/download/4-0-new-features-and-fixes/" target="_blank">4.0</a>, <a href="http://www.libreoffice.org/download/3-6-new-features-and-fixes/" target="_blank">3.6</a>, <a href="http://www.libreoffice.org/download/3-5-new-features-and-fixes/" target="_blank">3.5</a>, <a href="http://www.libreoffice.org/download/3-4-new-features-and-fixes/" target="_blank">3.4</a>, <a href="http://www.libreoffice.org/download/3-3-new-features-and-fixes/" target="_blank">3.3</a>), and they are just getting started (<a href="https://wiki.documentfoundation.org/Development/Easy_Hacks_by_Difficulty" target="_blank">Easy hacks</a>, <a href="https://wiki.documentfoundation.org/Development/Gsoc/Ideas" target="_blank">GSoc</a>).</p>
<p>The biggest issue to consider is the opportunity cost. Instead of enhancing the existing OpenOffice brand, the community is forced to rebuild a new one. That is especially unfortunate because there are many people in LibreOffice who contributed to OpenOffice, and made the brand worth what it is today. As Apache OpenOffice is unable to accept LibreOffice changes, the brand is being squandered. And instead of adding resources, Apache are playing catchup, <a href="http://ebb.org/bkuhn/blog/2011/06/01/open-office.html" target="_blank">mandating an inferior license for this codebase</a>, and inferior tools.</p>
<p>Because Apache OpenOffice has the brand, and a handful of full-time employees working on the codebase, they can find always ways to report good news and give the illusion of progress: &#8220;There have been 35M downloads, which saves the world $21M per day.&#8221; &#8220;Who wants to help with the wiki?&#8221; &#8220;We&#8217;ve now got 6 workitems tagged as Easy Bugs.&#8221; &#8220;Can someone dig up the documentation of our SDF format?&#8221; &#8220;It would be great to get someone to package OpenOffice into Fedora and give users choice.&#8221; &#8220;We found 50 <span style="text-decoration: line-through;">naive</span>^Wnew volunteers to help with QA in our recent <a href="https://twitter.com/ApacheOO/status/292351821605912576" target="_blank">call</a> for help.&#8221; Etc.</p>
<p>This was an exchange that took place during <a href="http://video.fosdem.org/2013/maintracks/Janson/LibreOffice__cleaning_and_re_factoring_a_giant_code_base.webm" target="_blank">Michael Meeks&#8217; interesting Fosdem 2013 talk</a>:</p>
<blockquote><p><strong> Question:</strong> I don&#8217;t know if I&#8217;m the only one, but I&#8217;d love to see peace between LibreOffice and Apache OpenOffice. Is that in the works?</p>
<p><strong>Michael Meeks:</strong> Okay. Well, I think there are lots of opportunities for code sharing. We provide code under a license that Apache can incorporate, into their binary releases at least, so I think there&#8217;s a lot of scope for that. And, I think you&#8217;d have to go and ask them. I&#8217;m not really interested in talking so much about that. I might say something rude.</p></blockquote>
<p>People in the Linux community are aware of the situation, but many don&#8217;t realize that there is very little LibreOffice can do to improve things. LibreOffice cannot prevent new forks from being created, and no one inside was threatening to fork. LibreOffice couldn&#8217;t prevent Oracle from giving away the trademark to anyone. LibreOffice couldn&#8217;t prevent Apache from creating a project that doesn&#8217;t accept their code. LibreOffice can&#8217;t prevent new people from getting confused when they see Apache, OpenOffice, and a pretty website, not realizing this is basically the <a href="http://www.italovignoli.org/2012/11/thanks-mr-weir/" target="_blank">&#8220;pet project&#8221; of an IBM employee</a>.</p>
<p>It seems like people inside Apache could do something, but many of them liked the idea of having two &#8220;cores&#8221;. They see themselves as the upstream with the more open license, and LibreOffice is free to grab whatever code they find useful. Unfortunately, they don&#8217;t realize that as these codebases diverge, this becomes harder. LibreOffice no longer uses the SDF format for localization. So between the confusion, and the illusion of progress by a stream of money, we could be here a while. IBM has been around for 100 years. Perhaps they&#8217;re happy to wait until everyone is dead and hope the next generation of LibreOffice representatives is more amicable to their plans. As far as for things getting better, the best sign to look for would be if IBM were to send their representative new directives from the Home Office. You do see comments stating <a href="https://twitter.com/rcweir/status/268730745831440385" target="_blank">they&#8217;d like to end the fork</a>. If only they had that wisdom before they created one. However, it appears they have no ideas what to do next. More wisdom is yet required.</p>
<p>LibreOffice is doing very well for such a young team. The free software community is jumping in and improving the codebase in many ways. However, the community could easily use millions of dollars to hire more people to work full-time and mentor volunteers. Perhaps the greatest concern is a lack of people who understand the Writer layout code, which is the most complicated piece of logic in the entire suite. Code and people are valuable, but people who understand code even more so.</p>
<p><em>Note: I write about LibreOffice / OpenOffice because I don&#8217;t like to see <a href="http://keithcu.com/wordpress/?p=2567" target="_blank">brands and volunteers wasted</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=3163</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Dissent on Gnome&#8217;s Javascript decision</title>
		<link>http://keithcu.com/wordpress/?p=3101</link>
		<comments>http://keithcu.com/wordpress/?p=3101#comments</comments>
		<pubDate>Tue, 05 Feb 2013 15:24:53 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=3101</guid>
		<description><![CDATA[<p>Yesterday I read a blog post / announcement about how Gnome is moving to Javascript and I wanted to write some feedback.</p> <p>It is great that they are trying to use a garbage-collected language for as much code as possible. For a component-based shell UI, Javascript is surely better than C, C++, or Java. [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I read a <a href="http://treitter.livejournal.com/14871.html" target="_blank">blog post / announcement</a> about how Gnome is moving to Javascript and I wanted to write some feedback.</p>
<p>It is great that they are trying to use a garbage-collected language for as much code as possible. For a component-based shell UI, Javascript is surely better than C, C++, or Java. I realize they started down this road towards Javascript years ago, but I think it is worth re-considering whether they are on the right path.</p>
<p>With big decisions, it is nice to have a paper trail. I can find no supporting documentation backing up the decision other than one blog post written after the fact, which doesn&#8217;t give very much information.</p>
<p>It appears the decision was made in a meeting. It is great to have meetings to discuss things, and it is great to make decisions in meetings, but oftentimes the best results are about moving the decision-making process forward, not actually committing to big things. Even if there were many in that room, there are surely facts they didn&#8217;t have, and other interested parties who were not there. There is the risk of &#8220;tyranny&#8221; by a self-selected cabal. Hopefully the decision wasn&#8217;t made at a bar <img src='http://keithcu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I believe the best choice for Gnome is Python, not because the language is necessarily a lot better than Javascript, but because it is already close to the standard scripting language of the Linux desktop. My Mint-Debian repository has 1809 Python packages, and only 301 for Javascript. (Vala has 68.) Was data like this taken into account during the decision-making process? Without a paper trail, there is no way to validate the analysis or circulate it for feedback. There are many reasons to use Python, but the most important is that it is already so popular on the free desktop. The best reason to use Javascript is if you plan on running inside a web browser. Anyone writing code for the Linux desktop and not constrained to a web browser can do better.</p>
<p>To be clear, some of the reasoning is explained. Here are my responses:</p>
<blockquote>
<div>1. Our language of choice needs to be dynamic and high level.</div>
</blockquote>
<p>Python and many languages fit that description.</p>
<p>Next, it says:</p>
<blockquote>
<div>2. There is already momentum in the GNOME Project for JavaScript &#8212; it&#8217;s used in GNOME Shell and GNOME Documents.</div>
</blockquote>
<p>Unfortunately, that is not really much of a reason. In fact, it could be perpetuating a bad plan with this logic.</p>
<p>Next:</p>
<blockquote>
<div>3. There&#8217;s a lot of work going into the language to make it especially fast, embeddable, and framework-agnostic.</div>
</blockquote>
<p>Every language works to make itself fast. There are lots of efforts to make Python fast such as Cython and PyPy, and as many Gnome libraries will remain in C, this is hardly an issue even with the standard CPython implementation.</p>
<p>I&#8217;m not sure what the benefit of being embeddable is for a desktop UI. And Python is embeddable as well, inside apps like LibreOffice. I don&#8217;t undertand what the benefit of being framework-agnostic is. Every language needs libraries, and a rich set of libraries is a good thing.</p>
<blockquote>
<div>4. JavaScript is increasingly being seen as a first class desktop programming language &#8212; it us being used in Windows 8, mobile platforms, and for local web applications.</div>
</blockquote>
<p>Aren&#8217;t Windows 8, mobile, and local web applications supposed to be a worse experience than a Linux desktop? I imagine living exclusively in any of those platforms and shudder at the thought. They also aren&#8217;t planning on sharing code with any of those groups. Please don&#8217;t try to convince people the Gnome future is bright by using those three examples!</p>
<p>There is <a href="http://www.j5live.com/2013/02/04/gnome-and-languages/" target="_blank">another post</a> by John (J5) Palmieri who appears to be a fan of Python but who nevertheless endorses Javascript for Gnome. In it, he says that Python has a lot of baggage. Unfortunately, he doesn&#8217;t describe or link to a document describing what he&#8217;s talking about. In addition, it is important to weigh the good (the existing libraries and free software programmers) against the baggage. Every language has some baggage. For example, there is a book called <em>Javascript: The Good Parts</em>, which says something about Javascript&#8217;s. Furthermore, Python is setup to evolve and periodically break backward compatibility via things like the Python 2.x / 3.x branches. Can Javascript ever remove its cruft?</p>
<p>My day job is trying to finish a movie (<a href="http://www.youtube.com/watch?v=A1evxMedow4">trailer</a>) endorsing Python as part of <a href="http://www.sagemath.org/" target="_blank">math literacy</a>. Changing how math is taught to children could take a generation. But if Gnome get going now, they will be ready, and hopefully also be better than Gnome 2.x by then <img src='http://keithcu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  (I&#8217;m stuck in MATE. I believe the decision to remove Gnome 2.x is as good an idea as LibreOffice removing DOC import. This decision can be revisited also, but given how long ago it was made, I&#8217;m sure people are tired of the topic, so I will end here.)</p>
<p><strong>Update:</strong> Some suggest that Javascript is more popular than Python as being a reason. Google trends show that Javascript popularity is <a href="http://www.google.com/trends/explore#cat=0-5-32&amp;q=Python%2C%20Javascript&amp;cmpt=q">dropping dramatically</a> and the two are close today. Furthermore, most of those people are building random websites, not writing code that ships in Debian. And as pointed out in the comments, a recent TIOBE survey shows Python as more popular than Javascript. Python is also replacing Java in introductory CS classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=3101</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Open Letter to fellow ex-Microsoftie Steven Sinofsky</title>
		<link>http://keithcu.com/wordpress/?p=3040</link>
		<comments>http://keithcu.com/wordpress/?p=3040#comments</comments>
		<pubDate>Thu, 15 Nov 2012 05:57:24 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=3040</guid>
		<description><![CDATA[<p>Congratulations on leaving Microsoft. Unless you have bills to pay, you won&#8217;t regret it. I left at the end of 2004, and have since studied a vast and amazing &#8212; but still flawed &#8211; world of computing out there.</p> <p>For example, I discovered that we should already have cars that (optionally) drive us around and computers that [...]]]></description>
			<content:encoded><![CDATA[<p>Congratulations on leaving Microsoft. Unless you have bills to pay, you won&#8217;t regret it. I left at the end of 2004, and have since studied a vast and amazing &#8212; but still flawed &#8211; world of computing out there.</p>
<p>For example, I discovered that we should already have cars that (optionally) drive us around and computers that talk to us. And that Linux on the desktop is powerful and rich but failing because of several strategic mistakes. Google claims to be a friend of Linux and free software, but most of their interesting AI code is locked up. Programming should be a part of basic <a href="http://www.sagemath.org/" target="_blank">math literacy</a> for every child. The biotechnology world is proprietary like Microsoft, which is stunting progress in new medicines and safer devices.</p>
<p>The most important lesson is that the free software world outside Microsoft is much bigger and richer. No matter what aspect of technology you want to work on, there are codebases and communities out there. Even the large companies who write proprietary software like Amazon, Apple, Facebook, and Twitter use free software as their base. So you first find out <em>what</em> you want to work on, and then you find the existing codebases and communities to join. In some cases, the are multiple, so you need to decide which best meets your needs.</p>
<p>The good news is that there are already millions of smart people working on any aspect of technology you&#8217;d like to work on. That is important because now that you have left Microsoft, you greatly lose the ability to control your own destiny using their technology.</p>
<p>When I first left Microsoft, I took on a consulting job helping a team build a website which used Microsoft Passport as the authentication mechanism. However, as I ran into problems, even Google wasn&#8217;t able to help because the knowledge and ability I needed to fix my problems was locked up behind the Microsoft firewalls. Fixing a problem in proprietary software can sometimes feel like performing witchcraft — you have to try lots of random incantations because you can&#8217;t know what is really going on. In the free software world, the code, buglists, specs, discussions, etc. are public, and anyone is welcome to contribute. A warning though, it can be like herding cats.</p>
<p>I read you have a Microsoft Surface. I recommend getting another machine and installing <a href="http://www.linuxmint.com/download_lmde.php" target="_blank">Mint-Debian Linux</a>. You&#8217;ve probably heard of Ubuntu, but Debian is the 1000-person team that provides the rock Ubuntu builds upon. Mint is a very popular re-spin that adds mp3 playback and other features that have patent risks and can&#8217;t be part of the free Debian system. The Windows app store is a Potemkin village <a href="http://packages.debian.org/stable/">compared to what Linux offers</a>. I remember you have a Unix background, I recommend refreshing your knowledge of the command line and <a href="http://www.aboutdebian.com/books.htm" target="_blank">reading some new books</a>. I felt like a stranger in a strange land for the first couple of months, but it became perfectly comfortable to me, and has numerous advantages such that now I am as interested in using Windows as I am in using DOS.</p>
<p>I don&#8217;t recommend you bother with Apple. They have a proprietary walled garden even smaller than Microsoft&#8217;s. If you find a problem with Apple&#8217;s technology, your best option is to wait. If you find a problem anywhere in the free software world, you can file a bug, talk to a person, (usually) find a workaround, write some code, hire someone &#8212; or wait.</p>
<p>The other nice thing about this global community is that you don&#8217;t have to go anywhere to join. You can write code in your pajamas from Seattle and send it to Linus Torvalds in Portland who works from home in his. The Linux kernel alone has 3,000 programmers, scattered all over the earth, some of whom live in countries that are officially at war with each other.</p>
<p>Enjoy your new-found freedom. I have written a book about much of this you can <a href="http://keithcu.com/wordpress/?page_id=407" target="_blank">read for free</a>. It contains many things I didn&#8217;t know until I left. There are many news sites to learn about what is going on in Linux. I personally use <a href="http://linuxhomepage.com/">LinuxHomePage</a>, but <a href="http://planet.documentfoundation.org/" target="_blank">every community has blog aggregators</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=3040</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Mike Conlon on the Apache OpenOffice fork</title>
		<link>http://keithcu.com/wordpress/?p=2962</link>
		<comments>http://keithcu.com/wordpress/?p=2962#comments</comments>
		<pubDate>Sat, 02 Jun 2012 01:58:54 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2962</guid>
		<description><![CDATA[<p>The comment below was made on my blog, but it was so good, I&#8217;ve turned it into a post. It was written by Mike Conlon, who has written papers about forks in software.</p> <p>It’s obvious that many of your correspondents either haven’t read your article [about the reasons against the Apache OpenOffice fork] or [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://keithcu.com/wordpress/?p=2567#comment-50575">comment</a> below was made on my blog, but it was so good, I&#8217;ve turned it into a post. It was written by <a href="http://cs.sru.edu/~conlon">Mike Conlon</a>, who has <a href="http://proc.isecon.org/2007/2554/index.html">written papers about forks in software</a>.</p>
<blockquote><p>It’s obvious that many of your correspondents either haven’t read <a href="http://keithcu.com/wordpress/?p=2567">your article</a> [about the reasons against the Apache OpenOffice fork] or don’t understand it. However, I want to comment on forking.</p>
<p>First of all, the ability to fork is good. However, not all forks are good. Forking occurs when one set of parties in a development project develops serious objections to the direction the project is going. Once the fork occurs, usually the vast majority of the community choose one tine of the fork, and the other one withers.</p>
<p>Example: Remember XFree86? The leadership of the project became very unresponsive to community requests, to the point that many community members were complaining, and new contributors felt unwelcome. It actually forked into several tines, but soon most of the community settled on the X.org fork, which has thrived, while XFree86 went nowhere after the fork.</p>
<p>Sun was rather unresponsive to the OpenOffice.org community. Many potential contributors wouldn’t join the project because they would have been required to deed ownership of their code to Sun. But for whatever reason or reasons, the OpenOffice.org development community never grew to anything like the size of other open-source projects of similar scope. Then Oracle bought Sun, and many in the community simply didn’t trust Oracle to lead an open-source project properly. Sun was bad. Oracle was intolerable. The result was the LibreOffice fork.</p>
<p>LibreOffice appears to be thriving, while there seems to be little happening in Apache OpenOffice.org, other than press releases. This is a sign of a good fork. As some have commented, There is some instability in recent releases, but I also see the RIGHT THING™ where I didn’t see it before. (E.g., when you click on the change-the-font-size drop-down list, the current font size is now in the center of the list rather than at the top as before.) The increased pace of improvement is a major sign of the successful tine of the fork.</p>
<p>The Apache OpenOffice.org effort must be considered a fork of LibreOffice, even though it has its predecessor’s name. As you have indicated, the original OpenOffice.org project is dead. (The project is dead, but the Website lingers on…) So this isn’t the original, this is a fork. It’s a bad fork: it’s bad because there are no significant complaints about the direction of the LibreOffice effort. And, I believe, with you, that this fork is wasting resources, and it is dead. It is dead because (all complaints about which license is more desirable aside) there is no likelihood that developers will abandon LibreOffice for Apache OpenOffice.org.</p>
<p>Finally, a word about IBM (and other corporations related to open source development): IBM does not have friends. It has interests. When its interests align with the open source community, we will perceive IBM as “good.” When its interests do not align with the open source community, it will do things we consider “bad.” Remember that IBM, or any corporation, is legally required to do what is in the interest of its shareholders. Govern your relationship with the beast accordingly.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2962</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Response to the Global Futures 2045 Video</title>
		<link>http://keithcu.com/wordpress/?p=2888</link>
		<comments>http://keithcu.com/wordpress/?p=2888#comments</comments>
		<pubDate>Thu, 31 May 2012 01:57:12 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2888</guid>
		<description><![CDATA[<p>I have just watched this video by Global Futures 2045:</p> <p></p> <p>This is my list of things I disagree with:</p> <p>I moved my response here.</p> ]]></description>
			<content:encoded><![CDATA[<p>I have just watched this video by Global Futures 2045:</p>
<p><iframe src="http://www.youtube.com/embed/01hbkh4hXEk" frameborder="0" width="560" height="315"></iframe></p>
<p>This is my list of things I disagree with:</p>
<p>I moved my response <a href="http://lifeboat.com/blog/2012/06/response-to-the-global-futures-2045-video">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2888</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Article</title>
		<link>http://keithcu.com/wordpress/?p=2881</link>
		<comments>http://keithcu.com/wordpress/?p=2881#comments</comments>
		<pubDate>Wed, 23 May 2012 18:55:48 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2881</guid>
		<description><![CDATA[<p>I just got a new article posted on UnixMen.com, about how Apache OpenOffice is a house of sand.</p> ]]></description>
			<content:encoded><![CDATA[<p>I just got a new article posted on UnixMen.com, about how <a href="http://www.unixmen.com/openoffice-a-house-of-sand/">Apache OpenOffice is a house of sand</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2881</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Status update on LibreOffice / Apache OpenOffice</title>
		<link>http://keithcu.com/wordpress/?p=2850</link>
		<comments>http://keithcu.com/wordpress/?p=2850#comments</comments>
		<pubDate>Thu, 26 Apr 2012 20:36:31 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2850</guid>
		<description><![CDATA[<p>Michael Meeks has posted a status update on LibreOffice versus Apache OpenOffice. It is worth reading, but there are some points I&#8217;d like to add and emphasize.</p> <p>The first is that the Apache OpenOffice project went public about a year ago. And in the meanwhile, all they&#8217;ve done is make a build with a [...]]]></description>
			<content:encoded><![CDATA[<p>Michael Meeks has posted a <a href="http://people.gnome.org/~michael/blog/2012-04-26-ooo-comparison.html">status update on LibreOffice versus Apache OpenOffice</a>. It is worth reading, but there are some points I&#8217;d like to add and emphasize.</p>
<p>The first is that the Apache OpenOffice project went public about a year ago. And in the meanwhile, all they&#8217;ve done is make a build with a small amount of new features:</p>
<p><a href="http://people.gnome.org/%7Emichael/images/2012-04-25-ooo-comparison.png"><img class="alignnone" src="http://people.gnome.org/%7Emichael/images/2012-04-25-ooo-comparison.png" alt="" width="800" /></a></p>
<p>Most of the new features they will announce are features done by Sun / Oracle, but never debugged / shipped. Only a handful of features have been achieved by this new organization. In other words, while Apache are now making a release under the OpenOffice brand, it is not a version moves things forward very much. It should be a concern that the value of the OpenOffice name is decreasing. How many would still be running Firefox if it didn&#8217;t make major improvements for 2 years? What is the point of a brand if you aren&#8217;t building the best product to represent it? It is cheapest if the brand is handed over to LibreOffice, though primarily IBM stands in the way.  In the meanwhile, explaining to as many people as possible that LibreOffice is a better OpenOffice is helpful. I am happy several people mentioned LibreOffice in <a href="http://keithcu.com/wordpress/?page_id=2713">my movie interviews</a>.</p>
<p>The Apache incubation started because IBM didn&#8217;t understand that LibreOffice had just build everything they would need and that copyleft is considered a good thing by many. IBM are convincing a few handfuls of naive contributors to use lax license with a primary benefit that allows IBM to use but not give back. I don&#8217;t recommend these people play poker.</p>
<p>The biggest point from that chart is that it documents how Apache OpenOffice is behind and will never be able to catch up with LibreOffice, especially considering their license prevents them from incorporating LO code. It should have been possible to predict these results a year ago, and now we have the evidence. I don&#8217;t expect these facts to make it into the skulls of smart but stubborn people at IBM, but it is a good reminder of the situation. There will surely be some announcements of their first release coming soon, and which will ask the community to try it out and help. Fortunately, the Linux community is already clued in to what is going on. LibreOffice is one of the most important communities to enable more people to run Linux on a full-time basis. There are <a href="http://www.libreoffice.org/get-involved/">many ways for people to help out</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2850</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Milton Friedman quotes</title>
		<link>http://keithcu.com/wordpress/?p=2770</link>
		<comments>http://keithcu.com/wordpress/?p=2770#comments</comments>
		<pubDate>Tue, 04 Oct 2011 03:05:26 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2770</guid>
		<description><![CDATA[<p>Here are some great quotes by Milton Friedman which describe some of the biggest problems in modern society.</p> <p>The greatest advances of civilization, whether in architecture or painting, in science and literature, in industry or agriculture, have never come from centralized government.</p> <p>The most important single central fact about a free market is that [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some great quotes by Milton Friedman which describe some of the biggest problems in modern society.</p>
<blockquote><p>The greatest advances of civilization, whether in architecture or painting, in science and literature, in industry or agriculture, have never come from centralized government.</p>
<p>The most important single central fact about a free market is that no exchange takes place unless both parties benefit.</p>
<p>The only way that has ever been discovered to have a lot of people cooperate together voluntarily is through the free market. And that&#8217;s why it&#8217;s so essential to preserving individual freedom.</p>
<p>If you put the federal government in charge of the Sahara Desert, in 5 years there&#8217;d be a shortage of sand.</p>
<p>Is it really true that political self-interest is nobler somehow than economic self-interest?</p>
<p>Many people want the government to protect the consumer. A much more urgent problem is to protect the consumer from the government.</p>
<p>Most economic fallacies derive from the tendency to assume that there is a fixed pie, that one party can gain only at the expense of another.</p>
<p>So that the record of history is absolutely crystal clear. That there is no alternative way, so far discovered, of improving the lot of the ordinary people that can hold a candle to the productive activities that are unleashed by a free enterprise system.</p>
<p>The black market was a way of getting around government controls. It was a way of enabling the free market to work. It was a way of opening up, enabling people.</p>
<p>The Great Depression, like most other periods of severe unemployment, was produced by government mismanagement rather than by any inherent instability of the private economy.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2770</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Protests in the UK</title>
		<link>http://keithcu.com/wordpress/?p=2696</link>
		<comments>http://keithcu.com/wordpress/?p=2696#comments</comments>
		<pubDate>Thu, 11 Aug 2011 22:49:39 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2696</guid>
		<description><![CDATA[<p>I think of my friends in the UK.</p> <p>Many Americans feel their country is crumbling too. There have been demonstrations in the US against the current government for 2 years now. They are known as the tea party. They protest for economic improvement like people are demanding in your country.</p> <p>The official storyline in [...]]]></description>
			<content:encoded><![CDATA[<p>I think of my friends in the UK.</p>
<p>Many Americans feel their country is crumbling too. There have been demonstrations in the US against the current government for 2 years now. They are known as the tea party. They protest for economic improvement like people are demanding in your country.</p>
<p>The official storyline in the US is that the tea party protesters are: &#8220;racist, uncompromising, potentially violent, and stupid&#8221;. The movement is mentioned regularly in the US news, and on comedy shows, and it is almost exclusively in a negative light. (<a href="http://newsbusters.org/blogs/scott-whitlock/2011/08/12/msnbcs-religious-expert-racist-white-bloc-tea-party-republicans-wont">Here is one example</a>.) This is in spite of the fact that they have not flipped over even one car yet. This is done mostly to slow the growth of the movement, and it has had great success. Almost everyone who has not seen or been to a tea party rally are fully convinced they are diabolical.</p>
<p>The good news is that the solution to economic stagnation in our countries is simple: we need to unwind the bankrupt welfare state.</p>
<p>Maybe you could create a tea party in the UK? We&#8217;ll combine efforts! We can send you Sarah Palin and you send us Daniel Hannan.</p>
<p>Another huge problem is single motherhood. Incidence of this in the UK is the highest in Europe. Single-motherhood is a consequence of the welfare state. The social and economic are thoroughly mixed!</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2696</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open letter to Apache regarding OpenOffice / LibreOffice</title>
		<link>http://keithcu.com/wordpress/?p=2567</link>
		<comments>http://keithcu.com/wordpress/?p=2567#comments</comments>
		<pubDate>Wed, 08 Jun 2011 02:22:17 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2567</guid>
		<description><![CDATA[<p>Open letter to an Apache mailing list regarding their OpenOffice incubation plan. This was originally written in June 2011, so is out of date but much still applies. </p> <p>Having written code in Microsoft Office, why this Apache fork is bad is intuitively obvious to me. I wish everyone had the same instincts. In [...]]]></description>
			<content:encoded><![CDATA[<p><em>Open <a href="http://mail-archives.apache.org/mod_mbox/incubator-general/201106.mbox/%3CBANLkTi=tonHHCrr12VYYxXnPeAM31GaQNg@mail.gmail.com%3E">letter</a> to an Apache mailing list regarding their OpenOffice incubation plan. This</em><em> was originally written in June 2011, so is out of date but much still applies.<br />
</em></p>
<p>Having written code in Microsoft Office, why this Apache fork is bad is intuitively obvious to me. I wish everyone had the same instincts. In the days since I first saw the announcements, I&#8217;ve been reading and learning a number of additional facts that helped me understand all the reasons why for this situation.</p>
<p>Here I will summarize the &#8220;no&#8221; vote reasons against this Apache incubation proposal. While reading, I gained respect for the Apache foundation and the OpenOffice brand. There is love people attach to these names. Apache could offer poop on a stick and it would have downloads and people curious about how to make it better.</p>
<p>Many of us want all of these good ideas and energies to be channeled. The LibreOffice team is not a raging success yet and they&#8217;ve just climbed some big hills. Yet no one inside is complaining of a reason to fork.</p>
<p>Given all I have read, this is my (unfinished) list for the arguments against:<br />
&#8212;&#8212;-</p>
<ol>
<li>This is mostly a code dump, not the set of 50(?) full-time engineers who have created / been maintaining this code.</li>
<li>This technology is massive. It is about the same size as the Linux kernel (10 million lines). This is a world that thousands could get lost in. Because the codebase is so large, it makes the cost of the fork that much greater.</li>
<li>IBM&#8217;s priority will be on Symphony and Notes (which build on top) more than the core code.</li>
<li>Much of the expertise is at Sun / Oracle, and IBM is not bringing many of them over.</li>
<li>IBM&#8217;s biggest investment here is &#8220;open source&#8221; evangelists. They believe the community will build everything for them.</li>
<li>This is mostly a cabal of IBM / Sun evangelists trying to confuse Apache into letting them fork the LibreOffice community.</li>
<li>The Apache foundation has a lot of experience, but none with this technology. Therefore, their help will be limited. It is like asking a hospital to fix your car.</li>
<li>The Apache foundation requires developers use SVN, which is not as good as Git for handling a large distributed project.</li>
<li>The code dump is <a href="http://www.mail-archive.com/discuss@documentfoundation.org/msg06603.html">missing a lot</a> (filters, images, translations, etc.)</li>
<li>OpenOffice is now primarily a brand to be preserved.</li>
<li>This brand is in jeopardy now.</li>
<li>There is nothing to incubate. LibreOffice has just built everything you need.</li>
<li>The Apache License (AL2) is not within the <a href="http://ebb.org/bkuhn/blog/2011/06/01/open-office.html">spirit of the tradition of this codebase</a>.</li>
<li>There is no company waiting to build some amazing technology like Watson in LibreOffice but hold back because of its &#8220;restrictive&#8221; license. These are just fantasies IBM can promise and a rhetorical trick because anything about the future is impossible to disprove.</li>
<li>A proprietary Watson could be built on LO today. LGPL is the ideal license for this codebase, a compromise between GPL and Apache. LibreOffice should not compromise anymore.</li>
<li>This proposal is considered to have a practical license agreement, but grabbing code changes from LibreOffice is said to be impractical. This is not considered a problem.</li>
<li>Linus said that making Linux the GPL was the &#8220;best thing he ever did.&#8221;</li>
<li>Copyleft is compelling to small LibreOffice contributors. &#8220;Do you really want to write Apache 2 (AL2) so that IBM can make it proprietary and sell it?&#8221;</li>
<li>The move from Java towards Python in LO will add more barriers.</li>
<li>There is a lot to be done: polish, services, plugins, mobile, etc. We don&#8217;t have people to waste.</li>
<li>LO has just recruited many of the most passionate and experienced volunteers and other unaffiliated third-parties.</li>
<li>People will show up here because of the Apache, OpenOffice, and IBM name. They will not understand what is going on.</li>
<li>There were 87 contributors who signed on to this proposal, but many are just curious.</li>
<li>The leaders create bad plans, find curious and naive people who &#8220;support&#8221; it, and use those numbers as proof that their plan has merit and should go forward.</li>
<li>The community of contributors to this podling is artificially inflated with &#8220;advocates&#8221; and not many people with expertise in the OO codebase.</li>
<li>Microsoft would root for Apache to fork the LibreOffice community.</li>
<li>LibreOffice is a young community, so some are easily confused and frightened. Many barely know this name &#8220;LibreOffice&#8221;. Meanwhile LO needs and would love to have more people.</li>
<li>The OO brand was given up by Oracle primarily because of the success of LibreOffice.</li>
<li>The OpenOffice brand would be very valuable to LO today.</li>
<li>These &#8220;open source&#8221; evangelists from IBM, Sun, etc. should hand over the OpenOffice trademark before they hurt someone. LibreOffice can maximize the value and carry it on best right now.</li>
<li>They need all kinds of help. They are not turning down one contribution, and no one inside is threatening to fork because of problems.</li>
<li>The hardware / bandwidth costs are not very expensive. It is the human costs.</li>
<li>It is not just a question of if you fail, but what is the damage in that failed experiment.</li>
<li>There is also the opportunity cost of doing something better than failure.</li>
<li>Rather than using resources to help LibreOffice, they are used to hurt them, and waste their own life rebuilding what LibreOffice has just finished.</li>
<li>If this podling fails, it could hurt the value of the OpenOffice brand, LibreOffice, waste resources (these emails are just the start), hurt Apache&#8217;s reputation, etc.</li>
<li>Forks are one of the biggest reasons why free software has struggled in places. For an example in another industry, look at Blu-Ray vs. HD-DVD.</li>
<li>People at IBM responsible for Notes / Symphony may get bad reviews for building on top of a dying fork and when internal customers complain the product isn&#8217;t as good as what comes with Linux. These &#8220;open source&#8221; evangelists are supposed to have their finger on the pulse of the community, not their finger in the face of the community. I stole that from someone <img src='http://keithcu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>No major revisions have been proposed.</li>
<li>A &#8220;no&#8221; vote on current idea is fail-fast and the potential for a better plan.</li>
<li>LO see this as a danger. They received more cash donations since this announcement.</li>
<li>It will only be a trickle of volunteers. If more show up, LibreOffice can recruit in bulk.</li>
<li>With the interested people already occupied, this will never catch up with LibreOffice.</li>
<li>Wise people I have consulted with in LibreOffice believe this will fail.</li>
<li>Some are not even worried anymore, but I am less confident.</li>
<li>Some believe the Apache foundation is being used to legitimize a premature idea.</li>
<li>I believe the result will be the same no matter the vote unless the plan is changed. This plan is like an animal chewing off its own paw even though it wasn&#8217;t stuck in a trap.</li>
<li>Once you have written failure into your plans, like to build a house out of sand instead of concrete, these &#8220;friendly&#8221; meetings to resolve differences cannot achieve much.</li>
<li><strong>May, 2012: </strong>IBM has made their proprietary Symphony code available for free. Initially, many thought that the primary reason IBM wanted this project in the Apache foundations was because because they wanted to build a proprietary Symphony on top, and only the lax Apache license allowed for this. So now that the their proprietary code is free, even this reason disappears.</li>
</ol>
<p>&#8212;&#8212;&#8212;</p>
<p>I am an un-affiliated observer rooting for Linux on the desktop and Python over Java. I have spent years surveying and writing about Linux so I&#8217;ve come to respect the Apache server very much. Any rude bits in my mails were directed at IBM <img src='http://keithcu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  I believe they should know better than to attempt to fork a community. I think the Apache foundation has been caught in the cross-fire of the language and license battles. I feel sorry for these political battles. There are also actual proprietary competitors to fight as well! Isn&#8217;t that the most important?</p>
<p>Even if this is born, and fails, the community will pick up the pieces. It has many times before. The LO opinion of the plan is close to unanimous and strongly-felt. My feelings are more mixed.</p>
<p>Perhaps this can help serve as impetus for the vote. Many are curious to its result and are anxiously awaiting.</p>
<p>Hope this work is helpful.</p>
<p>Warm regards,</p>
<p>-Keith</p>
<p><strong>Update: June 13: The podling was created.</strong> Oh well, Rome wasn&#8217;t built in a day. It is tragic that they&#8217;ve designed failure into their plans. Not only that, the opportunity cost of combining resources immediately. Reading their plan, some sentences are reasonable, and some stand out like daggers.</p>
<p>A better plan would have helped instead of hurt. These emails were a huge waste of time, and just the start. Many &#8220;open source&#8221; evangelists are actually hindrances.<strong></strong> Some think forks are okay because they&#8217;ve happened before. This is like advocating for slavery because slavery has happened before.</p>
<p>The worst part is that the supporters of this plan made no changes to address the major flaws found by the community since the proposal was first announced. It is rude not to retract and make a new plan when relevant people have big objections to your idea. If you want to get code into the Linux kernel, you need to fix <strong>all</strong> the problems people find. Plans can be refined and improved, but this did not happen. The cost of the flaws only gets more expensive as this goes forward. Therefore, it was cheapest to vote this down now, so we can make a new plan. The new plan would involve something like making LibreOffice and its license the mainline, and merging TDF and Apache. Who knows where it goes from here.</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2567</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Another Post to the LKML</title>
		<link>http://keithcu.com/wordpress/?p=2564</link>
		<comments>http://keithcu.com/wordpress/?p=2564#comments</comments>
		<pubDate>Thu, 02 Jun 2011 00:46:29 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2564</guid>
		<description><![CDATA[<p>Post is here.</p> <p>Start:</p> I wrote two responses, which eventually allowed me to boil it down to one sentence: You can do anything you want in addition to perfection (i.e. zero bugs). Long answer: I was baptized into the zero bugs religion about 20 years ago. This was before the web and time-based releases, [...]]]></description>
			<content:encoded><![CDATA[<p>Post is <a href="https://lkml.org/lkml/2011/6/1/763">here</a>.</p>
<p>Start:</p>
<pre>I wrote two responses, which eventually allowed me to boil it down to
one sentence: You can do anything you want in addition to perfection
(i.e. zero bugs).
Long answer:

I was baptized into the zero bugs religion about 20 years ago. This
was before the web and time-based releases, but these only add
complications, and are yet compatible with zero bugs all the time. As
a beginner, you can cheat such as zero bugs older than 6 months / 2
releases, or give yourself 1,000. Over time, you can pick new goals
and improve your numbers. Reaching enlightenment may require multiple
steps. You don't have to meet your goals, but you will become better
for trying.</pre>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2564</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Post to the Linux Kernel Mailing List about Zero Bugs in Linux</title>
		<link>http://keithcu.com/wordpress/?p=2562</link>
		<comments>http://keithcu.com/wordpress/?p=2562#comments</comments>
		<pubDate>Sat, 28 May 2011 03:01:28 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2562</guid>
		<description><![CDATA[<p>Original link here.</p> <p>Copied here:</p> <p style="padding-left: 30px;">Many interesting ideas on version numbering schemes. I like 2.11.X because it maps to years easily in people&#8217;s mind, but I look forward to seeing what is chosen. You guys break many of the rules for software development, so why not going backwards in version numbers </p> [...]]]></description>
			<content:encoded><![CDATA[<p>Original link <a href="https://lkml.org/lkml/2011/5/27/45">here</a>.</p>
<p>Copied here:</p>
<p style="padding-left: 30px;">Many interesting ideas on version numbering schemes. I like 2.11.X because it maps to years easily in people&#8217;s mind, but I look forward to seeing what is chosen. You guys break many of the rules for software development, so why not going backwards in version numbers <img src='http://keithcu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p style="padding-left: 30px;">While you are talking about arbitrary numbers and new goals, I want to offer that you could consider a push towards zero bugs. In general, as long as your reliability monotonically increases (no regressions) that is an acceptable minimum approach because it means that you will never have a customer go from being happy to unhappy.</p>
<p style="padding-left: 30px;">However, it is common in companies to make an effort to get towards zero bugs. Zero bugs is impossible, and that is a philosophical discussion. If you look through your current list of bugs, nearly every one looks scary to me and important to someone. You currently have 2,800 active bugs (<a href="http://bit.ly/LinuxBugs">http://bit.ly/LinuxBugs</a>) The last time I looked, I found the median age was 10 months. In general, bugs should be fixed in the next release and so therefore 3 months.</p>
<p style="padding-left: 30px;">Zero bug bounces is hard for the others because they don&#8217;t have sufficient resources. However, I believe you easily do. I can&#8217;t say that anything magical technically will happen if you work on your bugs faster, but I can say that people I respect as much as you taught me this. My salary was based on my ability to  promptly respond to my bugs, and zero was everyone&#8217;s goal. Hitting zero, even for a minute, could be a newsworthy event, as another way Linux is better than the others. It also shows leadership to user mode. I sometimes get the feeling that many in the FOSS community look at bugs as something they could work on when they get bored of adding new features, instead of: &#8220;Holy poop, there is someone unhappy out there.&#8221;</p>
<p style="padding-left: 30px;">Warm regards,</p>
<p style="padding-left: 30px;">-Keith<br />
<a href="http://keithcu.com/">http://keithcu.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2562</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Torcs-based driving simulator in Python</title>
		<link>http://keithcu.com/wordpress/?p=2310</link>
		<comments>http://keithcu.com/wordpress/?p=2310#comments</comments>
		<pubDate>Wed, 09 Mar 2011 18:45:18 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2310</guid>
		<description><![CDATA[<p>I have decided to restart OpenRacing: (Note, we may rename it to PyTorcs or pySpeed-Dreams[1]) Note, I&#8217;ve decided to call it PyTorcs for now. See you in Github.</p> <p>PyTorcs is based on the Torcs codebase, which is widely considered the best FOSS racing game and which already has autonomous cars. However, the codebase contains [...]]]></description>
			<content:encoded><![CDATA[<p>I have decided to restart <a href="http://keithcu.com/wiki/index.php/OpenRacing">OpenRacing</a>: (Note, we may rename it to PyTorcs or pySpeed-Dreams[1]) Note, I&#8217;ve decided to call it <strong>PyTorcs</strong> for now. See you in <a title="https://github.com/KeithCu/PyTorcs" href="https://github.com/KeithCu/PyTorcs">Github</a>.</p>
<blockquote><p>PyTorcs is based on the Torcs codebase, which is widely considered  the best FOSS racing game and which already has autonomous cars.  However, the codebase contains a lot of cruft.</p>
<p>So, it has been methodically re-written into <del>C#</del> <strong>Python</strong>, ported to  leverage the graphics engine Ogre, the physics engine ODE, OIS, standard widget APIs, OpenAL, and extended with a more  general track model.</p>
<p>Then, there will be a clean and 6x smaller codebase, with the heritage of Torcs, for  simulating autonomous vehicles which can handle the complexities of  urban scenarios, and can eventually navigate via the use of a vision  recognition engine and simulated sensors like radar and GPS.</p></blockquote>
<p>There is nothing to announce yet but a plan. Here it is so far:</p>
<p>Python Port</p>
<ol>
<li> <span style="text-decoration: line-through;">Do mechanical port of C# code (<a href="http://codeconverter.sharpdevelop.net/SnippetConverter.aspx">http://codeconverter.sharpdevelop.net/SnippetConverter.aspx</a>)</span></li>
<li> Port the Swig wrapping tools to generate Python</li>
<li> Debug</li>
</ol>
<p>Steps after which can go independently:</p>
<ul>
<li> <a title="Using blender as a track editor" href="../../wiki/index.php/Using_blender_as_a_track_editor"> Extra data attached to map model</a></li>
<li> Define map APIs for the robots to use. ([<a title="http://trac.gispython.org/lab" rel="nofollow" href="http://trac.gispython.org/lab">[1]</a>], [<a title="http://trac.gispython.org/spatialindex" rel="nofollow" href="http://trac.gispython.org/spatialindex">[2]</a>],[<a title="http://pypi.python.org/pypi?:action=browse&amp;show=all&amp;c=214&amp;c=385&amp;c=391" rel="nofollow" href="http://pypi.python.org/pypi?:action=browse&amp;show=all&amp;c=214&amp;c=385&amp;c=391">[3]</a>]) In the short term, it seems will need three spatial indices inside the map, physics, and graphics engines.</li>
<li> Get basic autocar driving (waypoints, lanes)</li>
<li> Grab more features from [<a title="http://sourceforge.net/apps/trac/speed-dreams/wiki/ListOfRobots|" rel="nofollow" href="http://sourceforge.net/apps/trac/speed-dreams/wiki/ListOfRobots%7C">Simplix</a>]</li>
<li> Networking</li>
<li> Windows &amp; Mac port (remaining code is very portable)</li>
<li> Make map more pleasant to look at.</li>
<li> Simulate Lidar (Can we put the source of light behind the camera?)</li>
<li> Faster than realtime simulation runs (turn off graphics, optimize physics)</li>
<li> Better weather</li>
<li> Port over a new and prettier car model from Speed-Dreams and  discuss the current set of difficulties in using their data with Ogre</li>
<li> Find / modify a big urban map with highway exit</li>
<li> OpenStreetMap augmented-reality visual annotations</li>
<li> OpenStreetMap auto-generate mesh to drive through</li>
<li> Smart objects like street lights</li>
<li> Assisted-driving features (prevent crashes)</li>
<li> Port over automatic transmission, wheels, etc. from Torcs / Speed-Dreams</li>
<li> Plug into vision engine</li>
<li> Define, record, and replay simulations</li>
<li> Joystick, better keyboard</li>
<li> Port simuv3 to Python (low priority, isolated task)</li>
<li> Etc.</li>
</ul>
<p>If you are interested in working in a Python driving simulator, please contact me or put in some information below. There are plenty of big and little tasks. A handful of people, let alone 10, could accomplish a lot, chipping away in any of those areas. I&#8217;ll make another post here when the <span style="text-decoration: line-through;">Github repository is ready, C# is gone</span> (<a href="https://github.com/KeithCu/PyTorcs">Github here</a>) Python is running.</p>
<p>[1] Just kidding about the last one. I am looking for a good readable simple name, but I never got to choose names of the codebases I worked on so I&#8217;m not practiced at it.</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2310</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Letter to Ableton</title>
		<link>http://keithcu.com/wordpress/?p=2283</link>
		<comments>http://keithcu.com/wordpress/?p=2283#comments</comments>
		<pubDate>Fri, 04 Mar 2011 16:14:01 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=2283</guid>
		<description><![CDATA[<p>This is a rant I posted to the Ableton forum. </p> <p>Open letter to Ableton;</p> <p>I was very annoyed about Ableton / Linux support, so I decided to come here and complain and I found a thread &#8212; of course!</p> <p>If an application supports Windows and Mac, supporting Linux is not much work. Somehow, [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is a rant I posted to the <a href="http://forum.ableton.com/viewtopic.php?p=1261663#p1261663">Ableton forum</a>.<br />
</em></p>
<hr />
<p>Open letter to Ableton;</p>
<p>I was very annoyed about Ableton / Linux support, so I decided to come here and complain and I found a thread  &#8212; of course!</p>
<p>If an application supports Windows and Mac, supporting Linux is not much work. Somehow, there are very many products  that work on all 3 platforms. If you only supported Windows, you would be in much worse shape. I&#8217;ll bet a sandwich Ableton doesn&#8217;t have even have one person working on Linux. 3-5 could have a solid native port in a few months.</p>
<p>The Linux audio stack is getting mature now. What is required now is a realization by you that your customers want Linux support. Note, the WINE support for Ableton Live is getting solid today, but it does have problems. On the latest Ubuntu, it installs and runs, which is a big milestone, but it has some perf glitches (some things are very slow), and the audio doesn&#8217;t work. With Ableton supporting Linux directly, or via Wine, ideally both, these problems could easily and quickly get fixed.</p>
<p>A free / GPL Ableton would be very nice,  but the proprietary version of Ableton on Linux enables users to run a free OS, which is even better. Not supporting Linux is damaging to the freedom of Ableton&#8217;s customers. Microsoft continues to win because of the lack of vision or laziness of others.</p>
<p>I don&#8217;t recommend rioting in the streets, but I do encourage customers to loudly remind every software vendor that the freedom to choose your own OS is very important, and companies should respect their customers&#8217; hardware and software preferences.</p>
<p>You might think it isn&#8217;t worth it to build a Linux version today, but how can you know the demand of a product you don&#8217;t have? Linux marketshare is growing every year and studies show that worldwide usage is comparable to the Macintosh today. It is true that not much music-making is done on Linux now, but that is partially your fault! Are you waiting for Linux to be dominant in music-making before you enter the market? Any businessman will tell you that is exactly backwards.</p>
<p>People may not use a product if it doesn&#8217;t run on all platforms: PDF, Flash, Firefox, Wikipedia, etc., etc. are popular because they work on all platforms. Not having a Linux version puts the entire company at risk.</p>
<p>I know you are busy, but that you can afford it. It is not a matter of development being at capacity (as if people ever sit around), it is a matter of prioritizing. When you say you don&#8217;t have the resources, you just are saying it doesn&#8217;t seem important yet. You  actually could make a major shift in priorities quickly if you wanted to. Requirements often show up up mid-way through every development cycle that need to be incorporated, and it gets done. Ableton says that they aren&#8217;t going to support Linux because they can&#8217;t  be &#8220;all things to all people&#8221;. That is equating one feature with all features.</p>
<p>You either embrace the future or your competitors do it for you. I don&#8217;t care who builds it, but music-making software is one of the top challenges for the Linux desktop. Many people run 1 or 2 proprietary apps on Linux. Several of Ableton&#8217;s employees are long-time users of Debian Linux. It is sad that Linux has so many users who are not  supporters. Supporting Linux can mean many things, I just ask you to start with creating a version of Ableton that runs on at least Debian. If you feel very busy, I can recommend moving away from C++ towards 99% Python. That will help help speed the Linux port and every other feature.</p>
<p>Regards,</p>
<p>-Keith<br />
<a href="http://keithcu.com/SoftwareWars/">http://keithcu.com/SoftwareWars/</a></p>
<p>P.S. Here is a quote:</p>
<blockquote><p>Sometimes the real  hurdle to renewal is not a lack of  options, but a lack of flexibility in  resource allocation. All too  often, legacy projects get richly funded  year after year while new  initiatives go begging. This, more than  anything, is why companies  regularly forfeit the future &#8212; they over  invest in “what is” at the  expense of “what could be.”</p>
<p>New  projects are deemed “untested”, “risky”, or a “diversion of  resources.”  Thus while senior execs may happily fund a billion-dollar  acquisition,  someone a few levels down who attempts to “borrow” a  half-dozen talented  individuals for a new project, or carve a few  thousand dollars out of a  legacy budget, is likely to find the task on  par with a dental  extraction.</p>
<p>The resource allocation model is typically biased  against new ideas,  since it demands a level of certainty about volumes,  costs, timelines,  and profits that simply can&#8217;t be satisfied when an  ideal is truly  novel. While it&#8217;s easy to predict the returns on a  project that is a  linear extension of an existing business, the payback  on an  unconventional idea will be harder to calculate.</p>
<p>Managers  running established businesses seldom have to defend the  strategic risk  they take when they pour good money into a slowly  decaying business  model, or overfund an activity that is already  producing diminishing  returns.</p>
<p>How do you accelerate the redeployment of resources from legacy programs to future-focused initiatives?</p>
<p>—Gary Hamel, <em>The Future of Management</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=2283</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GC Lingua Franca(s)</title>
		<link>http://keithcu.com/wordpress/?p=1691</link>
		<comments>http://keithcu.com/wordpress/?p=1691#comments</comments>
		<pubDate>Sun, 13 Feb 2011 21:46:46 +0000</pubDate>
		<dc:creator>KeithCu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://keithcu.com/wordpress/?p=1691</guid>
		<description><![CDATA[<p>Feb-15-2011 Science doesn&#8217;t always proceed at the speed of thought. It often proceeds at sociological or even demographic speed. — John Tooby</p> <p>Open Letter to the Linux Kernel Mailing List (LKML);</p> <p>If we were already talking to our computers, etc. as we should be, I wouldn’t feel a need to write this to you. [...]]]></description>
			<content:encoded><![CDATA[<p>Feb-15-2011<br />
<em>Science doesn&#8217;t always proceed at the speed of thought. It often proceeds at sociological or even demographic speed.</em> — John Tooby</p>
<p>Open Letter to the <a href="https://lkml.org/lkml/2011/2/15/260">Linux Kernel Mailing List (LKML)</a>;</p>
<p>If we were already talking to our computers, etc. as we should be,  I wouldn’t feel a need to write this to you. Given current rates of adoption, Linux still seems a generation away from being the priceless piece of free software useful to every child and PhD. This army your kernel enables has millions of people, but they often lose to smaller proprietary armies, because they are working inefficiently. My mail one year ago (<a href="http://keithcu.com/wordpress/?p=272">http://keithcu.com/wordpress/?p=272</a>) listed the biggest workitems, but I realize now I should have focused on one. In a sentence, I have discovered that we need garbage-collected (GC) lingua franca(s). (<a href="http://www.merriam-webster.com/dictionary/lingua%20franca">http://www.merriam-webster.com/dictionary/lingua%20franca</a>)</p>
<p>Every Linux success builds momentum, but the desktop serves as a powerful daily reminder of the scientific tradition. Many software  PhDs publish papers but not source, like Microsoft. I attended a human genomics conference and found that the  biotech world  is filled with proprietary software. IBM&#8217;s Jeopardy-playing Watson is proprietary, like Deep Blue was. This topic is  not discussed in any of the news articles, as if the  license does not matter. I find widespread fear of having ideas stolen in the software industry,  and proprietary licenses encourage this. We need to get these paranoid  programmers, hunched in the shadows, scribbled secrets clutched in their    fists, working together, for any of them to succeed. Windows is not the biggest problem, it is the proprietary licensing model that has infected computing, and science. Desktop world domination is not necessary, but it is sufficient to  get robotic chaffeurs and butlers.</p>
<p>There is, unsurprisingly, a consensus among kernel programmers that usermode is &#8220;a mess&#8221; today, which suggests there is a flaw in the Linux desktop programming paradigm. Consider the vast cosmic expanse of XML  libraries in a Linux distribution. Like computer vision (<a href="http://www.cs.cmu.edu/%7Ecil/v-source.html">http://www.cs.cmu.edu/~cil/v-source.html</a>), there are not yet clear places for knowledge to accumulate. It is a shame that the kernel is so far ahead of most of the rest of user mode.</p>
<p>The most popular free computer vision codebase is OpenCV, but     it is time-consuming to integrate because it defines an entire world   in   C++ down to the matrix class. Because C/C++ didn&#8217;t define a matrix, nor provide code, countless groups have created their own. It is easier to build your own computer   vision library using standard classes that do math, I/O, and   graphics,   than to integrate OpenCV. Getting productive in that   codebase is months  of work and people want to see results before then. Building it is a  chore, and they have lost users because of that. Progress in the  OpenCV core is very slow because the barriers to entry are high. OpenCV has some machine   learning code, but  they would be better  delegating  that out to   others. They are now doing  CUDA optimizations they  could  get from   elsewhere. They also have 3  Python wrappers and several other wrappers   as  well; many groups spend  more time working on wrappers than the    underlying code. Using  wrappers is fine if you only want to call  the  software, but if you want  to improve the underlying code, then the programming   environment instantly becomes radically  different and more complicated.</p>
<p>There  is a team working on Strong  AI called OpenCog, a C++ codebase  created in 2001. They  are evolving slowly as they do not  have a constant stream of  demos. They don&#8217;t consider their codebase  is a small amount of world-changing ideas buried in engineering baggage  like STL. Their GC  language for small pieces is Scheme, an unpopular GC language in the FOSS community. Some in their group recommend Erlang. The  OpenCog team looks at their core of C++,  and over to  OpenCV&#8217;s core of C++, and concludes the situation is fine.  One of the  biggest  features of the ROS (Robot OS), according to  its   documentation, is a re-implementation of RPC in C++, not what robotics was missing. I&#8217;ve emailed various groups and all know of GC, but they are  afraid of any decrease in performance, and they do not think they will ever  save time. The transition from brooms to vacuum cleaners was disruptive,  but we managed.</p>
<p>C/C++  makes it harder to share code amongst disparate  scientists than a   GC  language. It doesn&#8217;t matter if there are lots of XML parsers or  RSS   readers, but it does matter if we don&#8217;t have an official computer   vision  codebase. This is not against any codebase or language, only  for  free software lingua franca(s) in certain places to enable faster   knowledge accumulation. Even language researchers can improve and create   variants of a common language, and tools can output it from other domains like math.   Agreeing on a standard  still gives us an uncountably infinite   number of things to disagree over.</p>
<p>Because the kernel is   written in C, you&#8217;ve strongly influenced the rest of community. C is  fully  acceptable for a mature kernel like Linux, but many concepts  aren&#8217;t so  clear  in user   mode. What is the UI of OpenOffice when  speech input is  the  primary   means of control? Many scientists don&#8217;t  understand the  difference   between the stack and the heap. Software  isn&#8217;t buildable if  those with   the necessary expertise can&#8217;t use the  tools they are given.</p>
<p>C is a flawed language for user mode because it is missing GC,   invented a decade     earlier, and C++ added as much as it took   away as each feature came     with an added cost of  complexity. C++   compilers converting to  C    was a good idea, but being a superset was   not. C/C++ never died in user mode because there  are now so many GC replacements, it created a situation paralyzing many to inaction, as there seems no clear place to go. Microsoft doesn&#8217;t have this confusion as their language, as of 2001,  is C#. Microsoft is steadily moving to C#, but it is 10x easier to port a  codebase like MySQL than SQL Server, which has an operating system  inside. C# is taking over at the edges first, where innovation  happens anyway. There is a competitive aspect to  this.</p>
<p>Lots  of free software technologies have multiple C/C++ implementations, because it  is   often easier to re-write than share, and an  implementation   in  each GC language. We all might not agree on the solution, so   let&#8217;s start by agreeing on the problem. A good  example for GC   is  how a Mac port can go from weeks to   hours. GC    also prevents  code from being able to use   memory after    freeing, free   twice, etc. and  therefore that user   code is less likely  to  corrupt your memory hardware. If  everyone in user   mode  were still  writing   in assembly    language,  you would obviously   be concerned. If Git   had been built in 98% Python  and 2% C, it would   have  become easier   to use  faster, found ways to speed up Python, and set a good example. It doesn&#8217;t matter now, but it was an opportunity in 2005.</p>
<p>You can  &#8220;leak&#8221; memory in GC, but that just means that you are still holding a reference. GC   requires the system to have a fuller   understanding of the code,      which enables features like reflection. It is   helpful to consider that  GC is a step-up    for  programming like C was   to assembly language. In Lisp, first GC language, the binary was the     source code &#8212; Lisp is free by default. The Baby Boomer generation didn&#8217;t  bring the tradition of science to    computers, and the  biggest legacy of this generation is if we       remember it. Boomers gave us  proprietary software, C,  C++, Java,    and the bankrupt welfare state.  Lisp and GC were created / discovered by John     McCarthy, a mathematician of  the WW II greatest  generation. He wrote that computers   of  1974 were fast enough to do Strong    AI. There were plenty of   people  working on it back then, but not in a   group big enough to   achieve critical mass. If they had, we&#8217;d know  their names. If our scientists had been working together in  free  software   and Lisp in 1959, the technology we would have developed   by  today would   seem magical to us. The good news is that we have more  scientists than we  need.</p>
<p>There are a number of good languages, and it doesn&#8217;t matter too much  what one is chosen, but it seems the Python family (Cython / PyPy) require the  least amount of work to get what we need as it has the most extensive  libraries: <a href="http://scipy.org/Topical_Software">http://scipy.org/Topical_Software</a>.  I don&#8217;t argue the Python language and implementation is perfect, ﻿﻿only good enough, like how the  shape of the letters of the English language are good enough. Choosing and agreeing  on a lingua franca will increase the results for  the same amount of effort. No one has to understand the big picture,  they just have to do their work in a place where knowledge can  easily accumulate. A GC lingua franca isn&#8217;t a silver  bullet, but it is  the bottom piece of a solid science foundation and a powerful form of  social engineering.</p>
<p>The most important thing is to get lingua franca(s)  in key fields  like computer vision and Strong AI. However, we should also consider a  lingua franca for the Linux desktop. This will help, but not solve, the  situation of the mass of Linux apps feeling dis-integrated. The Linux  desktop is a lot harder because code here is 100x bigger than computer  vision, and there is a lot of C/C++ in FOSS user mode today. In fact it seems hopeless to me, and I&#8217;m an optimist. It doesn&#8217;t matter; every team can  move at a different pace. Many groups might not be able to finish a  port for 5 years, but agreeing on a goal is more than half of the  battle. The little groups can adopt it most quickly.</p>
<p>There are a lot of lurkers around codebases who want to contribute but don&#8217;t want to spend months getting up to speed on countless tedious things like learning a new error handling scheme. They would be happy to jump into a port as a way to get into a codebase. Unfortunately, many groups don&#8217;t encourage these efforts as they feel so busy. Many think today&#8217;s hardware is too slow, and that running any slower would doom the effort; they do not appreciate the steady doublings and forget that algorithm performance matters most. A GC system may add a one-time cost of 5-20%, but it has the potential to be faster, and  it gives people more time to work on performance. There are also real-time, incremental, and NUMA-aware collectors. The ultimate in performance is taking advantage of parallelism in  specialized hardware like GPUs, and a GC language can handle that because it supports arbitrary bitfields.</p>
<p>Science moves at demographic speed when knowledge is not being reused among the existing scientists. A lingua franca makes more sense as more  adopt it. That is why I send  this message to  the main address of the free software mothership. The kernel provides code and leadership, you have influence and the     responsibility to lead the rest, who are like wandering ants. If I were Linus, I would threaten to quit Linux and get people going on AI <img src='http://keithcu.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  There are many things you could do. I mostly want to bring this to your attention. Thank you for reading this.</p>
<p>I am posting a copy of this open letter on my blog as well (<a href="http://keithcu.com/wordpress/?p=1691">http://keithcu.com/wordpress/?p=1691</a>). Reading the LKML for more than one week could be classified as torture under the Geneva conventions.</p>
<p>In liberty,</p>
<p>-Keith</p>
]]></content:encoded>
			<wfw:commentRss>http://keithcu.com/wordpress/?feed=rss2&#038;p=1691</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
