<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A04EQn4yfip7ImA9WhRUF00.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067</id><updated>2012-01-27T16:18:23.096-08:00</updated><category term="patents" /><category term="gpl" /><category term="drizzle" /><category term="idea" /><category term="travel" /><category term="android" /><category term="software construction" /><category term="mysql" /><category term="gear6" /><category term="memcached" /><category term="nosql" /><category term="mysqlconf" /><category term="okcupid" /><category term="open source" /><category term="Security" /><category term="data" /><category term="work" /><category term="sociology" /><category term="Cloud" /><category term="OpenStack" /><category term="lca2012" /><category term="AWS" /><title>Machines Plus Minds</title><subtitle type="html">Public musings about the technologies and implications of cloud computing, open source software, open standards, and any other stuff that I find interesting.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://machinesplusminds.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MachinesPlusMinds" /><feedburner:info uri="machinesplusminds" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEcMQXk5eSp7ImA9WhRVFEw.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6605731360724903782</id><published>2012-01-12T16:54:00.000-08:00</published><updated>2012-01-12T16:54:40.721-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T16:54:40.721-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lca2012" /><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><title>On my way to LCA2012</title><content type="html">&lt;br /&gt;
I'm starting the first leg of a literal `round-the-world business trip.&lt;br /&gt;
&lt;br /&gt;
I'm flying from my home in Seattle, via LAX, to Melbourne Australia. &amp;nbsp;There I will meet up with my friend &lt;a href="http://www.linkedin.com/in/stewartsmith"&gt;Stewart Smith&lt;/a&gt;, the Director of Engineering at Percona. He is fellow survivor of MySQL &amp;amp; Sun, and a fellow contributor to &lt;a href="http://www.drizzle.org/"&gt;Drizzle&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Other good friends of mine who are converging on Australia for LCA 2012 are &lt;a href="http://www.linkedin.com/in/sarahnovotny"&gt;Sarah Novotny&lt;/a&gt;, &lt;a href="http://www.linkedin.com/in/montytaylor"&gt;Monty Tayler&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Jacob_Appelbaum"&gt;Jacob Applebaum&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Why am I going to Australia? &amp;nbsp;Geeks into open source who are "in the know" know the Linux.conf.au conference to be one of the best open source conferences in the world. &amp;nbsp;This year it will be held in Ballarat, which is not far from Melbourne. &amp;nbsp;This will be my 4th LCA, having attended past ones in Brisbane, Wellington, and Tazmania&lt;br /&gt;
&lt;br /&gt;
At that conference, I will be speaking in the SysAdmin Miniconf, to demo &lt;a href="http://openshift.redhat.com/"&gt;OpenShift&lt;/a&gt;, Red Hat's cloud PaaS. &amp;nbsp;(Sign up with the promo code LCA2012.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is only the first leg of this trip. &amp;nbsp;After LCA, I will be heading to Bangalore India to present at &lt;a href="http://www.jboss.org/events/JUDCon/2012/india"&gt;JUDCon:India&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
And after that, I will keep heading west to Europe, to present at &lt;a href="http://fosdem.org/2012/"&gt;FOSDEM&lt;/a&gt; in Brussels.&lt;br /&gt;
&lt;br /&gt;
And then who knows where I will go next?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6605731360724903782?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/RMTUN4je8AU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6605731360724903782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2012/01/on-my-way-to-lca2012.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6605731360724903782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6605731360724903782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/RMTUN4je8AU/on-my-way-to-lca2012.html" title="On my way to LCA2012" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><georss:featurename>Los Angeles International Airport (LAX), 8100 Westchester Pkwy, Los Angeles, CA 90045, USA</georss:featurename><georss:point>33.9434989 -118.4088701</georss:point><georss:box>33.917153400000004 -118.44835210000001 33.9698444 -118.3693881</georss:box><feedburner:origLink>http://machinesplusminds.blogspot.com/2012/01/on-my-way-to-lca2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQHSHc6eip7ImA9WhRWFkk.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6674321388252435676</id><published>2012-01-03T19:38:00.000-08:00</published><updated>2012-01-03T19:38:59.912-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T19:38:59.912-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="data" /><category scheme="http://www.blogger.com/atom/ns#" term="okcupid" /><category scheme="http://www.blogger.com/atom/ns#" term="sociology" /><title>Thoughts on travelling and OkCupid matching</title><content type="html">&lt;br /&gt;
I've had an OkCupid profile about 10 years, and have answered over 1200 questions in their database.&lt;br /&gt;
&lt;br /&gt;
When I travel, I sometimes reset my location in OkC to be the city I'm in. &amp;nbsp;It makes for an interesting view into the place that I'm at.&lt;br /&gt;
&lt;br /&gt;
When I'm in Seattle, there are surprisingly large number of people who match me at 95% or above. &amp;nbsp; When I am traveling, there are relatively few people who match that closely. &amp;nbsp;Often, there are none. &amp;nbsp;Even in very densely populated areas with an order of magnitude more people to match against.&lt;br /&gt;
&lt;br /&gt;
I find that very interesting.&lt;br /&gt;
&lt;br /&gt;
Did I end up living in Seattle because it's friendly to "people like me"? &amp;nbsp;Or is it the other way around, and being around Seattle has made me more like the people here I match so closely with?&lt;br /&gt;
&lt;br /&gt;
And then there are even more interesting questions one could ask and answer with the OkC database. &amp;nbsp;Does this kind of "lots of close matches" effect happen in every city? &amp;nbsp;How much dispersion is there in a given city. &amp;nbsp;After all, even if there are many people I match closely with, there are a LOT more in Seattle that I don't match at all. &amp;nbsp;How do other cities compare that way?&lt;br /&gt;
&lt;br /&gt;
Hopefully the data geeks inside OkC will someday answer these questions.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6674321388252435676?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/6no3Zd-_Pm0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6674321388252435676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2012/01/thoughts-on-travelling-and-okcupid.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6674321388252435676?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6674321388252435676?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/6no3Zd-_Pm0/thoughts-on-travelling-and-okcupid.html" title="Thoughts on travelling and OkCupid matching" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>1</thr:total><georss:featurename>Capitol Hill, Seattle, WA, USA</georss:featurename><georss:point>47.6192 -122.3202</georss:point><georss:box>47.6084945 -122.339941 47.6299055 -122.300459</georss:box><feedburner:origLink>http://machinesplusminds.blogspot.com/2012/01/thoughts-on-travelling-and-okcupid.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMAQ3ozcSp7ImA9WhRWEE8.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-4383604102931460808</id><published>2011-12-22T10:52:00.000-08:00</published><updated>2011-12-27T15:27:22.489-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-27T15:27:22.489-08:00</app:edited><title>Ideas for Foursquare</title><content type="html">I have a list of ideas for Foursquare:&lt;br /&gt;
&lt;br /&gt;
One, they should open source their Android app, so people can improve it.&lt;br /&gt;
&lt;br /&gt;
Two, when a mobile app checks in, it should also send the mac of the wifi it's connected to, the mac &amp;amp; signal strengths of all the other wifi's it sees, the cellphone tower id the phone is connected to, the signal strengths of all the other towers it sees.&lt;br /&gt;
&lt;br /&gt;
Three, the app should be able to search for locations based on that data.  Why wait for a GPS lock and/or a couple of round trips trying to turn that information into a latlon and THEN search for locations near that latlon.  Cut out the middleman data.&lt;br /&gt;
&lt;br /&gt;
Four, the app should keep a local cache associating wifis &amp;amp; tower ids to checkin locations.  When my phone can see the local cafe's wifi access point blazing away, it should be able to instantly display the location I checked into the last time it saw that AP, without having to wait for a couple of network round trips and searches from the 4sq servers.&lt;br /&gt;
&lt;br /&gt;
Five, the Android app should integrate with the Map app just like Google Latitude does.  When I bring up Maps, there should be an overlay named 4sq that has pinpoints for all my friend's checkins in the last couple of hours.&lt;br /&gt;
&lt;br /&gt;
Six, they should start contributing their mapping information to OSM.  Or at least give the user the option to click a couple of checkboxes "Do you want to contribute your information to OSM?"&lt;br /&gt;
&lt;br /&gt;
Seven, they need to work with organizations and with serious crowdsource volunteers better.  For example, make it easy for an airport authority, a university, a mall, a public transit org, etc to create the canonical entries for airport gates and terminals and shops, for buildings and classrooms, for mall locations and shops, for bus and transit stops.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-4383604102931460808?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/npg9VOlwnO4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/4383604102931460808/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/12/ideas-for-foursquare.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/4383604102931460808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/4383604102931460808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/npg9VOlwnO4/ideas-for-foursquare.html" title="Ideas for Foursquare" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/12/ideas-for-foursquare.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EDRXkzeSp7ImA9WhRQF0k.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6354191478252793676</id><published>2011-12-12T18:01:00.001-08:00</published><updated>2011-12-12T18:01:14.781-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-12T18:01:14.781-08:00</app:edited><title /><content type="html">I hate it when example or teaching code does something like:

&lt;code&gt;
import foo.bar.*&lt;br/&gt;
import foo.baz.*&lt;br/&gt;
&lt;/code&gt;

And then starts just using the symbols defined in foo.bar and foo.baz willynilly.

This is *stupid*.  The point of example code is to teach me.  Doing this in example code does not teach me which symbols are in which package, nor does it teach good form or proper idiom.  The only thing it teaches is rage against who ever wrote the examples.

Most all of the teaching docs and example code for Java are worst chronic offenders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6354191478252793676?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/coGotapeBA8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6354191478252793676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/12/i-hate-it-when-example-or-teaching-code.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6354191478252793676?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6354191478252793676?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/coGotapeBA8/i-hate-it-when-example-or-teaching-code.html" title="" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/12/i-hate-it-when-example-or-teaching-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MFQH8-cSp7ImA9WhRSE08.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-8698888099119297015</id><published>2011-11-14T17:36:00.001-08:00</published><updated>2011-11-14T17:43:31.159-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-14T17:43:31.159-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><title>Best practice for "releasing" Open Source Software.</title><content type="html">&lt;br /&gt;
Many projects practice "open source" via the "release the source" technique. &amp;nbsp;Sometimes, in the process of being underwhelming, what is "released" is a bare tarball that lacks build instructions, and metadata such as change history, internal documentation, and bug and feature commentary.&lt;br /&gt;
&lt;br /&gt;
This is not a "best practice".&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A slightly nicer way to do it is to maintain a read-only repository, such as a public SVN or GIT server, and on occasion write out an approved and sanitized version of the software for the great unwashed to pull down.&lt;br /&gt;
&lt;br /&gt;
This looks nicer than just bare tarball drops, but actually isn't any better.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is "public development". &amp;nbsp;This turns software development into a public performance. &amp;nbsp;It turns out that the proverb "Sunlight makes the best disinfectant" is true for software quality as well as for politics. &amp;nbsp;Such projects keep their &lt;b&gt;real&lt;/b&gt; operational version control system world readable, and keep their bug tracker and development mailing lists and documentation fully public. &amp;nbsp;Sites like GitHub and Launchpad make it trivial to do this.&lt;br /&gt;
&lt;br /&gt;
There are some costs a project has to pay to make this work. &amp;nbsp;They have to make sure that "tip always passes", e.g. that they have a good enough test suite, continuous integration system, and merge processes. &amp;nbsp;But, consider: any project, open source or closed, that doesn't have these things is unlikely to be generating high quality work at all.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step after "public development" is open development. &amp;nbsp;Such projects accept participation and contribution from "outsiders". When fully expressed, there is no such thing as an "outsider", everyone is a contributor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-8698888099119297015?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/Nu2NZ_MNuww" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/8698888099119297015/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/11/best-practice-for-releasing-open-source.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/8698888099119297015?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/8698888099119297015?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/Nu2NZ_MNuww/best-practice-for-releasing-open-source.html" title="Best practice for &quot;releasing&quot; Open Source Software." /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/11/best-practice-for-releasing-open-source.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MDQ3c-fyp7ImA9WhRTF0w.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-2161522782046552559</id><published>2011-11-07T17:24:00.000-08:00</published><updated>2011-11-07T17:24:32.957-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-07T17:24:32.957-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="drizzle" /><title>Drizzle: Seeking tiny contributions, leading to big things</title><content type="html">&lt;p&gt;
The &lt;a href="http://drizzle.org/"&gt;Drizzle project&lt;/a&gt; regularly gets people asking what they can do to get involved in the project.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
One very easy way to brush up on your C++ skills and dip your toe into our open development process is to fix minor warnings.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
We are very proud that Drizzle builds with zero warnings for with "gcc -Wall -Wextra".&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
But we can be even better! &amp;nbsp;Our &lt;a href="http://jenkins.drizzle.org/"&gt;JenkinsCI&lt;/a&gt; system has a target that is &lt;a href="http://jenkins.drizzle.org/view/Drizzle-build/job/drizzle-build-all-warnings/"&gt;even more picky&lt;/a&gt;, and also a &lt;a href="http://jenkins.drizzle.org/view/Drizzle-build/job/drizzle-build-cppcheck/"&gt;target that runs cppcheck&lt;/a&gt;.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Go to one of those pages, pick a build log off the build history, find a warning that you think you can fix, and then ask us in the #drizzle channel on Freenode how to send your fix to us.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
After you've done that a few times, you'll be ready to fix some &lt;a href="https://bugs.launchpad.net/drizzle/+bugs?field.tag=low-hanging-fruit"&gt;low hanging fruit&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
We've had people graduate from this process into becoming a &lt;a href="http://wiki.drizzle.org/GSOC_2011"&gt;Google Summer of Code student&lt;/a&gt;, and eventually having a full time paying job hacking on Drizzle and other open source software.
&lt;/p&gt;
&lt;p&gt;
And it all starts with writing a simple warning fix.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-2161522782046552559?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/bLFTIP4v7Es" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/2161522782046552559/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/11/drizzle-seeking-tiny-contributions.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/2161522782046552559?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/2161522782046552559?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/bLFTIP4v7Es/drizzle-seeking-tiny-contributions.html" title="Drizzle: Seeking tiny contributions, leading to big things" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/11/drizzle-seeking-tiny-contributions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMMSHs4fip7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-2826478359748135373</id><published>2011-10-31T12:48:00.000-07:00</published><updated>2011-10-31T12:48:09.536-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T12:48:09.536-07:00</app:edited><title>Repost: Cloud computing is to computing, what the Internet is to telecommunications.</title><content type="html">&lt;br /&gt;
(originally posted 2011-03-03)&lt;br /&gt;
&lt;br /&gt;
Twenty years ago, if I wanted a reasonably fast data connection between a computer in Seattle and one in San Francisco, I had to call The Phone Company. Contracts would be negotiated and signed, Purchase Orders would be sent, Expensive Machines would be shipped, Work Orders would be generated and executed on, and well-trained well-paid Union Men would provision and test the link, which would be from a specific geographic point, to another specific geographic point. And I would be presented with a monthly Expensive Bill.&lt;br /&gt;
&lt;br /&gt;
Ten years ago, that started to change, dramatically. All that complex hardware, cabling, installation, and cost-recovery got abstracted away by TCP/IP. Today, to get a much faster and much more flexible connection, I just click on a hyperlink, and or start a VPN, and I have a connection that lats a few seconds to a few hours, for just as long as I need it, and then the underlying real hardware forgets completely about me and my data, and gives some other random person the link they need.&lt;br /&gt;
&lt;br /&gt;
Ten years ago, if I need to run "back office" software for an company, or if I wanted to run a web site, I would again have to do the whole Contracts, Purchase Order, Expensive Machine, Work Order and so forth. And again, there would be a big monthly bill, plus a big capex spend too.&lt;br /&gt;
&lt;br /&gt;
About 5 years ago, that started to change, dramatically. All that "stuff" got abstracted away. With the type of a command, or the click of a UI button, machine instances spin up to do my work, and when I am done with them, the underlying real hardware forgets completely about me and my workload, and gives some other random person the work they need.&lt;br /&gt;
&lt;br /&gt;
Cloud computing is to computing, what the Internet is to telecommunications.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-2826478359748135373?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/II4UVbNSN8Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/2826478359748135373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/10/repost-cloud-computing-is-to-computing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/2826478359748135373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/2826478359748135373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/II4UVbNSN8Q/repost-cloud-computing-is-to-computing.html" title="Repost: Cloud computing is to computing, what the Internet is to telecommunications." /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/10/repost-cloud-computing-is-to-computing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMGQ309fSp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-282152406059895789</id><published>2011-10-31T12:47:00.000-07:00</published><updated>2011-10-31T12:47:02.365-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T12:47:02.365-07:00</app:edited><title>Repost: I forget not everyone understands Open Source</title><content type="html">&lt;br /&gt;
(originally posted 2011-03-13)&lt;br /&gt;
&lt;br /&gt;
When you surrounded by something, that something eventually becomes obvious, then it becomes assumed knowledge, and then finally it becomes invisible.&lt;br /&gt;
&lt;br /&gt;
I have been involved in Open Source since the late 1980s, and it is sometimes hard for me to remember that is what is obvious and assumed by someone in my position, is not obvious to everyone.&lt;br /&gt;
&lt;br /&gt;
Early this week, I received an email from a group who are literally half a world away from me, physically and culturally. They use Eucalyptus, and had a question about it. Specifically, they wanted to know if they could modify it, if they could add modules and features that they needed.&lt;br /&gt;
&lt;br /&gt;
Like I said, what seems obvious to me, is not obvious to everyone.&lt;br /&gt;
&lt;br /&gt;
I wrote back to them, and explained that Eucalyptus is "Free Libre Open-Source". Most of it is licensed under the GPL Gnu Public License. That means that they can download it for free, can try it for free, run it on as many machines, with as many users, for as long as they want, for free. And yes, they can also look at the source code, modify and patch it, add more code, and write new modules for it, without having to get permission from anyone.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-282152406059895789?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/mNVb6t0qPV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/282152406059895789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/10/repost-i-forget-not-everyone.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/282152406059895789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/282152406059895789?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/mNVb6t0qPV4/repost-i-forget-not-everyone.html" title="Repost: I forget not everyone understands Open Source" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/10/repost-i-forget-not-everyone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGSHg_fyp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-5458241450863752624</id><published>2011-10-31T12:45:00.000-07:00</published><updated>2011-10-31T12:45:29.647-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T12:45:29.647-07:00</app:edited><title>Closing The Eucalyptoid, and saving some posts</title><content type="html">For a while, I was writing blog posts for Eucalyptus Systems. &amp;nbsp;Since I have moved on from them (and I wish them well, they are a great company with a great product), I've closed the personal/role blog I used for those posts. &amp;nbsp;But two of those posts, I want to keep around, and so will repost them here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-5458241450863752624?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/qhv4yznI110" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/5458241450863752624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/10/closing-eucalyptoid-and-saving-some.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/5458241450863752624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/5458241450863752624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/qhv4yznI110/closing-eucalyptoid-and-saving-some.html" title="Closing The Eucalyptoid, and saving some posts" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/10/closing-eucalyptoid-and-saving-some.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0INQ3c6cCp7ImA9WhdaGEs.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-8599407254933005517</id><published>2011-10-28T17:43:00.001-07:00</published><updated>2011-10-28T23:26:32.918-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-28T23:26:32.918-07:00</app:edited><title /><content type="html">&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 13px;"&gt;I think that this is the last straw, and I'm now really completely done with Perl as anymore more than a write-once short-script language.&lt;br /&gt;&lt;br /&gt;CPAN and /usr/bin/cpan as installed by native package management apparently do not work out of the box on stock MacOS, on stock Solaris, on stock Illumos, on stock Ubuntu, on stock Debian, on stock Fedora, on stock RHEL, or on stock CentOS.&lt;br /&gt;&lt;br /&gt;Perl is now worse than the various implementations of the JVM at assuming that an entire box is going to be turned into a "Perl machine" and that the admin of that machine has any interest in keeping track of all the ways that Perl is special, and in all the ways that Perl wants to make that machine "special".&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 13px;"&gt;I mostly gave up on Perl about 3 years ago, and about once a year I go back and give it other try, and each time the experience is worse.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-8599407254933005517?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/rqi-uQxvB84" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/8599407254933005517/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/10/i-think-that-this-is-last-straw-and-im.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/8599407254933005517?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/8599407254933005517?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/rqi-uQxvB84/i-think-that-this-is-last-straw-and-im.html" title="" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/10/i-think-that-this-is-last-straw-and-im.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QFRH84fyp7ImA9WhdaF04.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6088846446775020102</id><published>2011-10-27T10:01:00.001-07:00</published><updated>2011-10-27T10:08:35.137-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-27T10:08:35.137-07:00</app:edited><title>Some good advice</title><content type="html">A few days ago I was interviewed by a Georgia Tech student about my job and career, and what advice I may have for students of computer science and programming.

&lt;ul&gt;
&lt;li&gt;Take on as little student loan debt as possible. And if someone will not pay you to get a post-grad degree, don't waste the debt and the time. Keep out of debt.  You never want to feel stuck somewhere so to make rent and pay bills.&lt;/li&gt;
&lt;li&gt;Learn to write.  You learn to write by writing. Take writing classes, read about good writing, and practice writing.  It doesn't matter what kind of job you get or life path you take, you need to know how to write.&lt;/li&gt;
&lt;li&gt;Get involved in some open source projects, and make real contributions to them.  The Google Summer of Code is a good thing to get involved in. A portfolio of demonstrated contributions to open source projects is more impressive than a GPA on a new resume.&lt;/li&gt;
&lt;li&gt;Get involved.  Find your local makerspaces, hackerspaces, and barcamps.  Volunteer and participate.  Go to Ignite. Speak at Ignite.&lt;/li&gt;
&lt;li&gt;Always be fluent in at least two programming languages, and practice learning new ones.  Languages and frameworks come and go, learning new ones is forever.&lt;/li&gt;
&lt;li&gt;When getting a job, beware of the non-compete and copyright assignment clauses in the employment contract.  Push back on them.  If they are non-negotiable, too onerous, are enforceable, beware and be careful of taking that job.  Keep your list of "personal and outside projects" ready to attach as an appendix.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6088846446775020102?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/axOUSZd31HI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6088846446775020102/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/10/few-days-ago-i-was-interviewed-by.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6088846446775020102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6088846446775020102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/axOUSZd31HI/few-days-ago-i-was-interviewed-by.html" title="Some good advice" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/10/few-days-ago-i-was-interviewed-by.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UFQng_fip7ImA9WhdWGEg.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-7424150157137796134</id><published>2011-09-12T11:13:00.000-07:00</published><updated>2011-09-12T11:13:33.646-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-12T11:13:33.646-07:00</app:edited><title>Wanted: A Netflix for physical books</title><content type="html">The tech rumor mill has been churning for a few days about "Amazon launching a Netflix for books".  While a neat concept, it is for Kindle books only.  This plays to Amazon's strengths, but is not what I have been wanting for years.&lt;br /&gt;
&lt;br /&gt;
For years I have been wishing for a "Netflix for Books", for physical books.&lt;br /&gt;
&lt;br /&gt;
Here is how I envision it working:&lt;br /&gt;
&lt;br /&gt;
A large municipal library, or a consortium of them working together, set up a site and paid service very similar to Netflix, only for books.&lt;br /&gt;
&lt;br /&gt;
I, as a user, select how many books at a time I want to rent.  There would be different monthly payment levels, just like Netflix.&lt;br /&gt;
&lt;br /&gt;
Books in my queue get checked out from the library or via inter library loan.  They get mailed to me, along with a return mailer.  Postage would be USPS Book Rate, of course.  Unless I am willing to pay extra for Priority or Express mail.&lt;br /&gt;
&lt;br /&gt;
I read the book, keep it for as long as I want (maybe with a one year maximum), and then either return it with the return mailer or by dropping it off at the library like a regular book.&lt;br /&gt;
&lt;br /&gt;
I could keep using my muni library "for free", or use this service for the convenience factor.  It could even be a source of much needed funding for the amazing public library system that we all too often take for granted, and do not use enough.&lt;br /&gt;
&lt;br /&gt;
I want this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-7424150157137796134?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/rSiHC_PhT8A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/7424150157137796134/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/09/wanted-netflix-for-physical-books.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/7424150157137796134?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/7424150157137796134?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/rSiHC_PhT8A/wanted-netflix-for-physical-books.html" title="Wanted: A Netflix for physical books" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/09/wanted-netflix-for-physical-books.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAESH49eSp7ImA9WhdQEU8.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6059312676423333578</id><published>2011-08-11T21:51:00.000-07:00</published><updated>2011-08-11T21:51:49.061-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T21:51:49.061-07:00</app:edited><title>Google Plus, minus minus</title><content type="html">I've started telling friends and family who have been asking me about Google Plus to not bother, until G fixes their broken "real name" policy.  Plus is turning into a place where it's mostly white techy males talking about white techy male topics.  And speaking as a white techy male, that's pretty boring.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6059312676423333578?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/H7lG0b7lHn0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6059312676423333578/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/08/google-plus-minus-minus.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6059312676423333578?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6059312676423333578?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/H7lG0b7lHn0/google-plus-minus-minus.html" title="Google Plus, minus minus" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/08/google-plus-minus-minus.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEEQn05eip7ImA9WhdSEko.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-5594084933102977326</id><published>2011-07-21T12:32:00.000-07:00</published><updated>2011-07-21T12:46:43.322-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-21T12:46:43.322-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="software construction" /><category scheme="http://www.blogger.com/atom/ns#" term="drizzle" /><title>Regarding Autotools, and attempts to replace it</title><content type="html">In the world of software development on Linux, especially in the open source world, there is a set of packages called &lt;a href="http://en.wikipedia.org/wiki/GNU_build_system"&gt;"autotools"&lt;/a&gt;, which abstracts and manages portability between compilers and other aspects of the software build environment.  Nobody likes it.  In fact, most people who use it hate it.  There are many attempts to replace it.&lt;br /&gt;
&lt;br /&gt;
And the problems with autotools are getting worse, because it itself was never designed to have cleanly portable control files between versions. Back when most everyone just FTPed down a tarball, and then ran the prebuilt &lt;tt&gt;./configure&lt;/tt&gt;, it worked pretty well. Now that people pull a projects raw repo over SVN, BZR, or GIT, and then have to run liptoolize, aclocal, automake, autoconf, etc themselves, and who knows what version of autotools is locally installed, all hell breaks loose.&lt;br /&gt;
&lt;br /&gt;
With respect to all the autotools replacements, such as cmake, Ant, etc, and all the other ones mentioned in &lt;a href="http://esr.ibiblio.org/?p=1877"&gt;Eric Raymond's recent blog post&lt;/a&gt;: they ALL are some multiple combination of horribly slow, enforce their own special "one true way" of laying out source trees, are specific to what languages they will deign to handle, have abysmally bad error messages when there is a problem (and being worse than autotools in this respect is an amazing achievement), require the installation of a JVM and a huge pile of buggy poorly documented class files, require the installation of a huge pile of buggy poorly documented Python modules, require the installation of a huge pile of buggy poorly documented Perl modules, cannot intelligently detect and handle optional build dependencies, cannot cross compile, cannot build out of a read-only source tree, cannot build out of tree, and/or cannot build shared object files.&lt;br /&gt;
&lt;br /&gt;
I wish to gods and monsters that this was not true, but it is. And until the writers of the competing build chain systems understand why all this stuff is important, and are willing to support it, autotools will stick around, and people will continue to use it.&lt;br /&gt;
&lt;br /&gt;
This is not to say that it cannot be used better.  One of &lt;a href="https://launchpad.net/~mordred"&gt;Monty Taylor&lt;/a&gt;'s herculian tasks the &lt;a href="http://drizzle.org/"&gt;Drizzle&lt;/a&gt; project has been &lt;a href="https://code.launchpad.net/pandora-build"&gt;pandora build&lt;/a&gt;, which is a refactoring and rewrite to the years of cargo-cult accumulated cruft that has infested most autotools based open source projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-5594084933102977326?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/Jl0sieNCkE4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/5594084933102977326/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/07/regarding-autotools-and-attempts-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/5594084933102977326?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/5594084933102977326?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/Jl0sieNCkE4/regarding-autotools-and-attempts-to.html" title="Regarding Autotools, and attempts to replace it" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/07/regarding-autotools-and-attempts-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AEQHkzeyp7ImA9WhdTFUQ.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6144058762432928043</id><published>2011-07-12T14:14:00.000-07:00</published><updated>2011-07-13T15:21:41.783-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-13T15:21:41.783-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="drizzle" /><title>SQL identifier case, Unicode case, and boost::to_upper, all in a fight that nobody will win</title><content type="html">The SQL standard says that table and row names are case insensitive. Drizzle table names are in Unicode with UTF8 encoding. boost::to_upper et al mangles UTF8 case. Down this path there is going to be a lot of pain. My own inclination is to tell the SQL Standard to realize that its 2011, no longer 1961, and break all the apps that are lazy about identifier case, but other people will probably disagree.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6144058762432928043?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/G07O9ssSxlU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6144058762432928043/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/07/sql-table-case-unicode-case-and.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6144058762432928043?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6144058762432928043?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/G07O9ssSxlU/sql-table-case-unicode-case-and.html" title="SQL identifier case, Unicode case, and boost::to_upper, all in a fight that nobody will win" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/07/sql-table-case-unicode-case-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYERX4yfip7ImA9WhdTEE0.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-230266130085023776</id><published>2011-07-06T19:51:00.000-07:00</published><updated>2011-07-06T19:51:44.096-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-06T19:51:44.096-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="drizzle" /><title>Multi Master Replication is back in Drizzle</title><content type="html">This last March, David Shrewsbury put together a basic implementation of multi-master replication into DrizzleDB &lt;a href="http://dshrewsbury.blogspot.com/2011/03/multi-master-support-in-drizzle.html"&gt;link&lt;/a&gt;.  We were able to actually merge it with the mainline trunk, but then had to remove it until we had refactored and fixed more things.  Today, we were able to put it back in.&lt;br /&gt;
&lt;br /&gt;
It's worth reading Shrew's original blog posts, and then trying it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-230266130085023776?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/S48anqg1z_I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/230266130085023776/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/07/multi-master-replication-is-back-in.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/230266130085023776?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/230266130085023776?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/S48anqg1z_I/multi-master-replication-is-back-in.html" title="Multi Master Replication is back in Drizzle" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/07/multi-master-replication-is-back-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQAQHY_cSp7ImA9WhZaFUg.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6646199944594316936</id><published>2011-07-01T14:55:00.000-07:00</published><updated>2011-07-01T14:55:41.849-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T14:55:41.849-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="drizzle" /><title>Thoughts on node.js and libdrizzle</title><content type="html">Today I was chatting with a technical friend, and she mentioned that she has a "todo" of writing a decent node.js driver for MySQL.  A bit more chatting back and forth, and http://nodejsdb.org/db-drizzle/ was discovered.  It was written to use libdrizzle and drizzled, but since libdrizzle can talk to MySQL, it should work for her needs as well.&lt;br /&gt;
&lt;br /&gt;
I would love to see some work done on how well libmysql+mysqld, libdrizzle+mysqld, and libdrizzle+drizzled handle highly concurrent asynchronous event-oriented workloads such as those generated by all these new node.js applications.&lt;br /&gt;
&lt;br /&gt;
I suspect that all sorts of surprising bugs will be discovered.&lt;br /&gt;
&lt;br /&gt;
Please help us discover those bugs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6646199944594316936?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/TMmsL36e6Rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6646199944594316936/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/07/thoughts-on-nodejs-and-libdrizzle.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6646199944594316936?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6646199944594316936?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/TMmsL36e6Rs/thoughts-on-nodejs-and-libdrizzle.html" title="Thoughts on node.js and libdrizzle" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/07/thoughts-on-nodejs-and-libdrizzle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHQXgzfip7ImA9WhdSEko.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-7154869856160716213</id><published>2011-06-27T19:26:00.001-07:00</published><updated>2011-07-21T13:05:30.686-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-21T13:05:30.686-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="drizzle" /><title>Textual configuration has comments, GUIs dont.</title><content type="html">I have been running the test and merge process for &lt;a href="http://drizzle.org/"&gt;DrizzleDB&lt;/a&gt; using &lt;a href="http://jenkins.drizzle.org/"&gt;Jenkins&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Jenkins is a pretty standard Java-based web app. The configuration settings are stored in XML files, and that configuration is manipulated using an "easy to use" Web GUI.&lt;br /&gt;
&lt;br /&gt;
The "old skool" UNIX-like way to keep configuration settings is in a text file, which is edited with an ordinary text editor, and is read by the program daemon on start or SIGHUP.  This is considered "scary", "hard to learn", and "hard to use" by novices.&lt;br /&gt;
&lt;br /&gt;
There is a big problem with GUI-only managed configuration, an issue where text file configuration has a major advantage.&lt;br /&gt;
&lt;br /&gt;
I did not set up the Jenkins server or nodes.  I am not the only person with admin access to it.  Several other people have set it up, set up various projects in it, and added new nodes and new types of nodes.&lt;br /&gt;
&lt;br /&gt;
As I work on it and look at the existing configuration, I often find things that are "surprising", things that make me say "Is that right?  That can't be right?  Can it?".  And then I have to spend time digging into it.  Sometimes it IS right, for reasons I didn't know at that moment.  Sometimes it used to be right, but isn't necessary any more.  And sometimes, it just wasn't right.&lt;br /&gt;
&lt;br /&gt;
In a textual configuration file, you can put comments.  The purpose of a comment is to communicate into the future, to tell those who came after you (including your future self) what you were intending to do, and why you selected some "surprising" option or way of doing things.&lt;br /&gt;
&lt;br /&gt;
There is no good way to put comments into GUI or WebGUI configuration, even if it has a freeform field labelled "comments".&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update, this post is being discussed at &lt;a href="http://www.reddit.com/r/programming/comments/id1f8/textual_configuration_has_comments_guis_dont/"&gt;Reddit&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Update, this post is being discussed at &lt;a href="http://forrstpodcast.com/post/7885629566/forrst-podcast-122-vampire-hotel-it-would-be"&gt;Forrst Podcast ep 122&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-7154869856160716213?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/tZGtsX2RW7E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/7154869856160716213/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/06/textual-configuration-has-comments-guis.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/7154869856160716213?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/7154869856160716213?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/tZGtsX2RW7E/textual-configuration-has-comments-guis.html" title="Textual configuration has comments, GUIs dont." /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/06/textual-configuration-has-comments-guis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkICQXs5fyp7ImA9WhZbEEs.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-113441467479420150</id><published>2011-06-14T09:22:00.001-07:00</published><updated>2011-06-14T09:22:40.527-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-14T09:22:40.527-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><title>"everyone had something valuable to contribute"</title><content type="html">I'm reading the July 2011 issue of "Linux Journal", and in "Upfront, diff -u" there is some text that is worth noting and repeating:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;This is actually one of the first and greatest innovations Linus Torvalds achieved with Linux.  While the GNU folks developed the idea of free software, they limited themselves by sticking with a just a tight group of core developers, who largely would ignore suggestions and patches from outside.   It was Linus' belief that everyone had something valuable to contribute that led the style of open-source development that now dominates the world.&lt;/blockquote&gt;&lt;br /&gt;
It is maybe an excess of hope to say it "dominates the world".&lt;br /&gt;
&lt;br /&gt;
There is still entirely too much "fauxpen source" software, where corporate dev teams or small mentally incestuous groups emit "releases", while sitting behind legal and social barriers to outside contribution and feedback.  The tightly coupled development process results in tightly coupled and poorly documented software, which is hard for "outsiders" to contribute to, and the resulting feedback loop spins around until the software is so knotted up that useful development basically stops.  (Of course, closed source software has the same problem, only worse.)&lt;br /&gt;
&lt;br /&gt;
The open development open community model does avoid this problem, and so it's use is spreading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-113441467479420150?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/9iqxY8CYwyU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/113441467479420150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/06/everyone-had-something-valuable-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/113441467479420150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/113441467479420150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/9iqxY8CYwyU/everyone-had-something-valuable-to.html" title="&quot;everyone had something valuable to contribute&quot;" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/06/everyone-had-something-valuable-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcARnc-eSp7ImA9WhZUFUo.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-3006235807886281061</id><published>2011-06-08T16:34:00.000-07:00</published><updated>2011-06-08T16:34:07.951-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-08T16:34:07.951-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Android &amp; iPhone, regarding Twitter.</title><content type="html">One new "feature" of the next release of Apple iOS is the integration with Twitter.  To get these features, Apple Inc and Twitter Inc had to "partner".&lt;br /&gt;
&lt;br /&gt;
Twitter has been just as "integrated" with Android for quite some time.  And all Twitter Inc had to do was write an app, that used the standard Android API hooks.&lt;br /&gt;
&lt;br /&gt;
In fact, my own Android phone doesn't even use the "official" Twitter app (which I find to be slow, heavy, and poorly done), it uses an even better and more advanced one called  &lt;a href="https://market.android.com/details?id=jp.r246.twicca"&gt;twicca&lt;/a&gt;.  And the author of Twicca didn't need to "partner" with either Twitter Inc or Google Inc.  He just wrote a better app, that again just used the public APIs.&lt;br /&gt;
&lt;br /&gt;
It doesn't take a high-level corporate partnership, a 12 month product roadmap, and a heavyweight development cycle by employees of a set of large companies to add a deep and useful integrated feature to Android.  It takes a single developer working in a cafe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-3006235807886281061?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/i3sHIX3RgCY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/3006235807886281061/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/06/android-iphone-regarding-twitter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/3006235807886281061?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/3006235807886281061?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/i3sHIX3RgCY/android-iphone-regarding-twitter.html" title="Android &amp; iPhone, regarding Twitter." /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/06/android-iphone-regarding-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YHRHk8cCp7ImA9WhZSGUs.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-8757006009801682008</id><published>2011-04-04T18:53:00.001-07:00</published><updated>2011-04-04T19:05:35.778-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-04T19:05:35.778-07:00</app:edited><title>Android Honeycomb on Motorola Xoom, first day impressions</title><content type="html">I've been an Android smartphone user ever since the the HTC Dream came out.  And I've wanted an Android tablet ever since the world went nuts over the iPad.  I've held off on buying the really early pad-like devices that have come out of China and India, because while they looked like the start of a promise, they have been plagued with poor build quality, hacked up software loads, and not-quite-there-yet.  I want something I can use, not just futz with.&lt;br /&gt;
&lt;br /&gt;
Now that the Motorola Xoom is out, and after playing with the first cut of the Android 3.0 Honeycomb running on it, I knew that it was time.  And since I didn't enroll for Google I/O before it sold out, I was probably going to have to buy it.&lt;br /&gt;
&lt;br /&gt;
So I did.  I ordered it from Amazon, requested free 3day Prime shipping, and was expecting it on Wednesday.  It arrived today.&lt;br /&gt;
&lt;br /&gt;
The unboxing went pretty quickly.   There is the unit, a USB cable, and a power cable.  And a few dozen sheets of regulatory instructions.  No "user manual".  Fortunately, while the Honeycomb UI is different from the past Android UIs (stock, GoogleTV, Sense, Touch), it's not too much different, and I was driving it after only a few minutes, and after all my apps synced up, I was using the calendar, gmail, chat, and Kindle, and such.&lt;br /&gt;
&lt;br /&gt;
I think this is going to be me default Kindle device, and I am going to be doing a majority of my email reading and much casual web browsing with it.&lt;br /&gt;
&lt;br /&gt;
I have only two complaints so far:&lt;br /&gt;
&lt;br /&gt;
One is the standard annoyance of having to connect all the apps that depend on back-end services back up to their accounts  (Kindle &amp; Amazon MP3 to Amazon, Facebook, Foursquare, Twitter, etc).  Android really needs to have a standard keychain service, and then sync it back to the G mothership like it does everything else.&lt;br /&gt;
&lt;br /&gt;
The other, continuing annoyance, is the power/charging cable uses a proprietary connector.  Now that the world is quickly converging on micro-USB for charging phones, after 20 years of power adapter hell, it's looking like the hardware manufacturers are doing the same stupid thing again with tablets.  This is going to be Yet Another power connector I will have to pack into my gear.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-8757006009801682008?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/k13Hapmqmuc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/8757006009801682008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/04/android-honeycomb-on-motorola-xoom.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/8757006009801682008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/8757006009801682008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/k13Hapmqmuc/android-honeycomb-on-motorola-xoom.html" title="Android Honeycomb on Motorola Xoom, first day impressions" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/04/android-honeycomb-on-motorola-xoom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0INR3c6fip7ImA9Wx9aEUs.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-2090803166786121114</id><published>2011-03-03T08:26:00.001-08:00</published><updated>2011-03-03T08:26:36.916-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-03T08:26:36.916-08:00</app:edited><title>Waiting on hold...</title><content type="html">In the mid 90s, Cisco Systems did something very simple and yet amazing with their tollfree telephone support line.  You could call in, and instead of wasting your time sitting on hold running up their phone bill, you could hang up, and keep your place in line.  When it was your turn, they would call you back.&lt;br /&gt;
&lt;br /&gt;
Other companies copied this idea, since it saves money.  However, they would "forget" to call back, or would drop you to the back of the queue after all the people who were holding, or they would call back at lunch time or right before the end of office hours.&lt;br /&gt;
&lt;br /&gt;
That most large corporations cannot be trusted regarding so simple as returning phone calls, even when it's in their own direct financial interest, is a demonstration of exactly what is wrong with corporations.  Or maybe of structured organizations of humans in general.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-2090803166786121114?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/1LTqSeG0D0c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/2090803166786121114/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/03/waiting-on-hold.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/2090803166786121114?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/2090803166786121114?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/1LTqSeG0D0c/waiting-on-hold.html" title="Waiting on hold..." /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/03/waiting-on-hold.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIMRHo8cSp7ImA9Wx9bE04.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-5392914784860990209</id><published>2011-02-21T17:19:00.001-08:00</published><updated>2011-02-21T17:19:45.479-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T17:19:45.479-08:00</app:edited><title>Converting PDF to SVG, that doesn't suck</title><content type="html">There are a number of converters that take in Adobe Illustrator or Adobe PDF files, and emit SVG files.  There are a number of online websites, a few simple little hacky Perl or Python scripts, and expensive commercial proprietary packages from people like Adobe.&lt;br /&gt;
&lt;br /&gt;
They all suck, and emit crap gigantic SVG files.&lt;br /&gt;
&lt;br /&gt;
Here is the way to do it that make perfectly covering SVG files that don't suck.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
gs -dBATCH -dSAFER -dNOPAUSE \&lt;br /&gt;
  -sDEVICE=svg \&lt;br /&gt;
  -sOutputFile=Logo.svg Logo.pdf&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
If you have an Adobe Illustrator AI file instead of a PDF file, just put a PDF filename extension on the end, it will work fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-5392914784860990209?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/g6uXOHbregI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/5392914784860990209/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/02/converting-pdf-to-svg-that-doesnt-suck.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/5392914784860990209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/5392914784860990209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/g6uXOHbregI/converting-pdf-to-svg-that-doesnt-suck.html" title="Converting PDF to SVG, that doesn't suck" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/02/converting-pdf-to-svg-that-doesnt-suck.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIER3s5cSp7ImA9WhZbFkQ.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-6797588159367562944</id><published>2011-02-21T17:07:00.000-08:00</published><updated>2011-06-21T16:05:06.529-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-21T16:05:06.529-07:00</app:edited><title>Howto convert AI to PNG, with good antialiasing &amp; transparency</title><content type="html">This does  all the transparency handling, antialiasing, and resizing all together inside Ghostscript, so they all work together and make a high quality final image.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
mv Logo.ai Logo.ai.pdf&lt;br /&gt;
gs -dBATCH -dSAFER -dNOPAUSE \&lt;br /&gt;
  -dDOINTERPOLATE \&lt;br /&gt;
  -sDEVICE=png16m \&lt;br /&gt;
  -dGraphicsAlphaBits=4 \&lt;br /&gt;
  -r72 \&lt;br /&gt;
  -SOutputFile=Logo.png Logo.ai.pdf&lt;br /&gt;
pngcrush -v \&lt;br /&gt;
  -rem text \&lt;br /&gt;
  -l 9 \&lt;br /&gt;
  -brute \&lt;br /&gt;
  Logo.png Logo.crush.png&lt;br /&gt;
mv Logo.crush.png Logo.png&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
If you want to shrink the image to half size, change the -r72 to -r36, and so forth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-6797588159367562944?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/j3xpAjj6thg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/6797588159367562944/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2011/02/howto-convert-ai-to-png-with-good.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6797588159367562944?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/6797588159367562944?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/j3xpAjj6thg/howto-convert-ai-to-png-with-good.html" title="Howto convert AI to PNG, with good antialiasing &amp; transparency" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2011/02/howto-convert-ai-to-png-with-good.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08GR3Y6cSp7ImA9Wx9RGEU.&quot;"><id>tag:blogger.com,1999:blog-4771631636333583067.post-7489163929634399206</id><published>2010-12-20T16:03:00.000-08:00</published><updated>2010-12-20T16:03:46.819-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-20T16:03:46.819-08:00</app:edited><title>Open Source. No longer hype, just business as usual</title><content type="html">I am reading &lt;a href="http://www.theregister.co.uk/2010/12/17/open_source_year_in_review/"&gt;an article by Matt Asay&lt;/a&gt; about the position of "open source" in the "hype cycle".  He asserts that 2010 has been the year that Open Source became "invisible", that it is no longer hyper-worthy news that some company is using or producing open source software, but that instead that open source has become the foundational default for infrastructure and tools software.&lt;br /&gt;
&lt;br /&gt;
I think he is correct, and as a long term proponent of the "open source" project, dating back from when I was a young undergrad who had just read Stallman's manifesto, I am gratified that the concept is having been proven correct.  But as professional open source advocate, and as an employee Eucalyptus Systems, a company that actually creates and distributes GPL-licenced open source infrastructure software, this makes my life more difficult.&lt;br /&gt;
&lt;br /&gt;
In the past, one could "ride the wave" of the hype a bit, and take advantage of the opportunity to educate reporters and potential buyers to both evangulize the whole open-source project, and also the specific project one wants to present.  That free ride for publicity is now over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4771631636333583067-7489163929634399206?l=machinesplusminds.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MachinesPlusMinds/~4/Y6bCsCjSnIU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://machinesplusminds.blogspot.com/feeds/7489163929634399206/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://machinesplusminds.blogspot.com/2010/12/open-source-no-longer-hype-just.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/7489163929634399206?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4771631636333583067/posts/default/7489163929634399206?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MachinesPlusMinds/~3/Y6bCsCjSnIU/open-source-no-longer-hype-just.html" title="Open Source. No longer hype, just business as usual" /><author><name>Mark Atwood</name><uri>https://profiles.google.com/115686903235135444192</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-rX0CBo2seeo/AAAAAAAAAAI/AAAAAAAACJ4/WRw8USQAv3I/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://machinesplusminds.blogspot.com/2010/12/open-source-no-longer-hype-just.html</feedburner:origLink></entry></feed>

