{"id":653,"date":"2006-04-19T14:28:33","date_gmt":"2006-04-19T04:28:33","guid":{"rendered":"http:\/\/www.flamingspork.com\/blog\/2006\/04\/19\/beat-on-state-of-the-dolphin-or-why-software-is-never-really-ready-until-a-20-release\/"},"modified":"2013-12-18T08:50:15","modified_gmt":"2013-12-17T22:50:15","slug":"beat-on-state-of-the-dolphin-or-why-software-is-never-really-ready-until-a-20-release","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2006\/04\/19\/beat-on-state-of-the-dolphin-or-why-software-is-never-really-ready-until-a-20-release\/","title":{"rendered":"Beat on &#8220;state of the dolphin&#8221; (or: Why Software is never really ready until a .20 release)"},"content":{"rendered":"<p><a href=\"http:\/\/web.archive.org\/web\/20090618070557\/http:\/\/www.futhark.ch:80\/\">Beat Vontobel<\/a> blogs about <a href=\"http:\/\/web.archive.org\/web\/20100206174055\/http:\/\/www.futhark.ch:80\/mysql\/140.html\">&#8220;fu\u00c3\u00beark: The silence of futhark and the state of the dolphin&#8221;<\/a> which is basically about how he&#8217;s found that the 5.0.20 release of <a href=\"http:\/\/www.mysql.com\">MySQL<\/a> is when the 5.0 release is really starting to shine.<\/p>\n<p>This confirms my theory (that I&#8217;ve had for quite a while now&#8230; like years) that a software release is never really mature until it hits about .20 (that&#8217;s dot twenty, not dot two).<\/p>\n<p>When something reaches .10 (dot ten) it&#8217;s no longer going to be annoying for most uses, but .20 means that you&#8217;re going to be happy. Don&#8217;t ask me really why this is the case, but it is.<\/p>\n<p>Think about the 2.6 kernel (yes, <a href=\"http:\/\/www.kernel.org\">Linux Kernel<\/a> &#8211; honestly, you think i was talking about something else?). At about 2.6.10, it would no longer be a pain to use and get things going &#8211; everything was starting to be smooth. As we&#8217;re getting closer to .20, things are getting better too. Mind you, everything here does run 2.6 now (and so does my mum&#8217;s machine &#8211; which is always a good sign of something being ready). With 2.4 hitting .20 &#8211; you&#8217;d never even think about using 2.2, 2.4 was perfect (except when you wanted 2.6).<\/p>\n<p><a href=\"http:\/\/www.gnome.org\">GNOME<\/a> (and everything attached to it) is getting to be a really good desktop &#8211; ever since about the 2.10 release I&#8217;ve been using just much more of the GNOMEy way of doing things because they&#8217;re actually getting useful and usable (don&#8217;t get me wrong, previous releases were good too &#8211; but a lot more things annoyed me). As the releases have progressed, I&#8217;m increasingly convinced that 2.20 will be the &#8220;we&#8217;re here&#8221; release. 2.14 is a lot better, but there&#8217;s still a bunch of stuff that has to be done before it&#8217;s totally kick-ass.<\/p>\n<p>There are no surprises in <a href=\"http:\/\/downloads.mysql.com\/archives.php?p=mysql-4.0\">MySQL 4.0<\/a> (it&#8217;s past .20 &#8211; at .26 now). Everybody knows and trusts it. <a href=\"http:\/\/dev.mysql.com\/downloads\/mysql\/5.1.html\">4.1<\/a> is at 4.1.18 &#8211; which is about as good as a .20 and it&#8217;s a pretty happy release. But due to 4.0 being rather solid &#8211; a lot of people have just stuck there. We&#8217;re seeing a bunch move to 5.0 &#8211; but my theory is that this will be 5.0.20 or above. Hrrm&#8230; anybody see a pattern?<\/p>\n<p><a href=\"http:\/\/dev.mysql.com\/downloads\/mysql\/5.1.html\">MySQL 5.1<\/a> is at 5.1.10 (or so) and it&#8217;s stopped being annoying, and that great march towards a .20 is healthy and active.<\/p>\n<p>GCC 2.95 had a lot of respect for a very long time (now it&#8217;s just a bit old). Note that .95 is higher than .20 :)<\/p>\n<p>EMACS is at version 21, but ed is only at .2 (hrrm.. and which is used by more people as their editor i wonder).<\/p>\n<p>aptitude at 0.2.15 (getting to .20) &#8211; while apt is at 0.6.40 (above .20). RPM is only at 4.0.4 &#8211; so a bit to go there :)<\/p>\n<p>The version of <a href=\"http:\/\/www.postgresql.org\">postgresql<\/a> is 7.5.9 over here&#8230; so getting to the .1 stage, but away from the .20. (now I&#8217;m going to watch comments fill up with postgesql guys going on about something, i just know it :) But there is 7.3.14 &#8211; a lot closer to .20!<\/p>\n<p><a href=\"http:\/\/www.mythtv.org\">MythTV<\/a> is at 0.19 &#8211; getting closer to the .20 release (it&#8217;s a lot better than even just a few releases ago).<\/p>\n<p>(versions here mostly taken from whatever ubuntu 5.04 has)<\/p>\n<p>Note that attempting to skip a whole bunch of versions and label your software 95, 98, 2003 or whatever doesn&#8217;t get you &#8220;.20&#8221; status. Neither does just skipping to &#8220;.20&#8221; automatically. It&#8217;s about hard work and removing annoying things (we tend to call them <strong>bugs<\/strong>).<\/p>\n<p>This is a<strong> really stupid<\/strong> metric of software maturity. It is, however, disturbingly accurate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beat Vontobel blogs about &#8220;fu\u00c3\u00beark: The silence of futhark and the state of the dolphin&#8221; which is basically about how he&#8217;s found that the 5.0.20 release of MySQL is when the 5.0 release is really starting to shine. This confirms &hellip; <a href=\"https:\/\/www.flamingspork.com\/blog\/2006\/04\/19\/beat-on-state-of-the-dolphin-or-why-software-is-never-really-ready-until-a-20-release\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[10,2,8,14],"tags":[],"class_list":["post-653","post","type-post","status-publish","format-standard","hentry","category-gnome","category-life-the-universe-and-everything","category-linux-kernel","category-mysql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-ax","jetpack-related-posts":[{"id":3254,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/03\/12\/is-mysql-bigger-than-linux\/","url_meta":{"origin":653,"position":0},"title":"Is MySQL bigger than Linux?","author":"Stewart Smith","date":"2013-03-12","format":false,"excerpt":"I'm going to take the numbers from my previous post, MySQL Modularity, Are We There Yet? for the \"kernel\" size of MySQL - that is, everything that isn't a plugin or storage engine. For Linux kernel, I'm just going to use the a-bit-old git tree I have on my laptop.\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3380,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/08\/01\/stewarts-dot-twenty-rule\/","url_meta":{"origin":653,"position":1},"title":"Stewart&#8217;s dot twenty rule","author":"Stewart Smith","date":"2013-08-01","format":false,"excerpt":"I realised I haven't written on this for a while and I was asked about it again today. Stewart's dot twenty rule is that a piece of software is never really mature until a dot twenty release. This was a variant of \"never use a dot zero release\" which has\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":715,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/06\/14\/arjens-mysql-community-journal-hyperthreading-not-on-a-mysql-server\/","url_meta":{"origin":653,"position":2},"title":"Arjen&#8217;s MySQL Community Journal &#8211; HyperThreading? Not on a MySQL server&#8230;","author":"Stewart Smith","date":"2006-06-14","format":false,"excerpt":"Arjen's MySQL Community Journal - HyperThreading? Not on a MySQL server... I blame the Linux Process Scheduler. At least it's better than the earlier 2.6 days where things would get shunted a lot from one \"cpu\" to the other \"cpu\" for no real reason. Newer kernel verisons are probably better...\u2026","rel":"","context":"In &quot;linux-kernel&quot;","block_context":{"text":"linux-kernel","link":"https:\/\/www.flamingspork.com\/blog\/category\/linux-kernel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3884,"url":"https:\/\/www.flamingspork.com\/blog\/2014\/10\/14\/mysql-5-7-5-on-power-thread-priority\/","url_meta":{"origin":653,"position":3},"title":"MySQL 5.7.5 on POWER &#8211; thread priority","author":"Stewart Smith","date":"2014-10-14","format":false,"excerpt":"Good news everyone! MySQL 5.7.5 is out with a bunch more patches for running well on POWER in the tree. I haven't yet gone and tried it all out, but since I'm me, I look at bugs database and git\/bzr history first. On Intel CPUs, when you're spinning on a\u2026","rel":"","context":"In &quot;IBM&quot;","block_context":{"text":"IBM","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/ibm-work-et-al\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1627,"url":"https:\/\/www.flamingspork.com\/blog\/2009\/05\/09\/does-linux-fallocate-zero-fill\/","url_meta":{"origin":653,"position":4},"title":"Does linux fallocate() zero-fill?","author":"Stewart Smith","date":"2009-05-09","format":false,"excerpt":"In an email disscussion for pre-allocating binlogs for MySQL (something we'll likely have to do for Drizzle and replication), Yoshinori brought up the excellent point of that in some situations you don't want to be doing zero-fill as getting up and running quickly is the most important thing. So what\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":706,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/05\/31\/davem-on-ingos-smp-lock-validator\/","url_meta":{"origin":653,"position":5},"title":"DaveM on Ingo&#8217;s SMP lock validator","author":"Stewart Smith","date":"2006-05-31","format":false,"excerpt":"DaveM talks about Ingo's new SMP lock validator for linux kernel A note reminding me to go take a look and see what can be ripped out and placed into various bits of MySQL and NDB. Ideally, of course, it could be turned into a LD_PRELOAD for pthread mutexes. Anybody\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/www.flamingspork.com\/blog\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/comments?post=653"}],"version-history":[{"count":3,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/653\/revisions"}],"predecessor-version":[{"id":3605,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/653\/revisions\/3605"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}