{"id":950,"date":"2007-12-07T22:18:29","date_gmt":"2007-12-07T12:18:29","guid":{"rendered":"http:\/\/www.flamingspork.com\/blog\/2007\/12\/07\/stewarts-wisdom-for-today\/"},"modified":"2007-12-07T22:18:29","modified_gmt":"2007-12-07T12:18:29","slug":"stewarts-wisdom-for-today","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2007\/12\/07\/stewarts-wisdom-for-today\/","title":{"rendered":"Stewart&#8217;s Wisdom for Today"},"content":{"rendered":"<p>All useful software is buggy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>All useful software is buggy.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_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}},"categories":[1],"tags":[],"class_list":["post-950","post","type-post","status-publish","format-standard","hentry","category-general"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-fk","jetpack-related-posts":[{"id":450,"url":"https:\/\/www.flamingspork.com\/blog\/2005\/08\/08\/why-returns-1-on-error-is-bad\/","url_meta":{"origin":950,"position":0},"title":"Why &#8220;returns -1 on error&#8221; is bad","author":"Stewart Smith","date":"2005-08-08","format":false,"excerpt":"(a general note on what's good practice) In C, 0 is false and !0 is true. In the dim past there was an elsewhere where 0 was true and !0 was false. Why? Because there can be more than one error state and this is usually more interesting than how\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":[]},{"id":3380,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/08\/01\/stewarts-dot-twenty-rule\/","url_meta":{"origin":950,"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":1935,"url":"https:\/\/www.flamingspork.com\/blog\/2010\/05\/27\/a-warning-to-solaris-users-fsync-possibly-doesnt\/","url_meta":{"origin":950,"position":2},"title":"A warning to Solaris users&#8230;. (fsync possibly doesn&#8217;t)","author":"Stewart Smith","date":"2010-05-27","format":false,"excerpt":"Read the following: Oracle\/Sun ZFS Data Loss - Still Vulnerable OpenSolaris Bug 6880764 Data loss running Oracle on ZFS on Solaris 10, pre 142900-09 Linux has its fair share of dumb things with data too (ext3 not defaulting to using write barriers is a good one). This is however particularly\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":[]},{"id":563,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/01\/20\/openofficeorg-barely-usable\/","url_meta":{"origin":950,"position":3},"title":"OpenOffice.org barely usable","author":"Stewart Smith","date":"2006-01-20","format":false,"excerpt":"Trying to fiddle with my linux.conf.au presentation in OpenOffice.org2 (the version that comes with Ubuntu Breezy). It's as buggy as all hell. At the moment, after pasting in some slides from another presentation (if it doesn't randomly crash some short time afterwards) I can't save the file. Really useful. grrr....","rel":"","context":"In &quot;GNOME&quot;","block_context":{"text":"GNOME","link":"https:\/\/www.flamingspork.com\/blog\/category\/gnome\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2253,"url":"https:\/\/www.flamingspork.com\/blog\/2011\/01\/05\/is-your-storage-engine-buggy-or-the-database-server\/","url_meta":{"origin":950,"position":4},"title":"Is your Storage Engine buggy or the database server?","author":"Stewart Smith","date":"2011-01-05","format":false,"excerpt":"If your storage engine returns an error from rnd_init (or doStartTableScan as it's named in Drizzle) and does not save this error and return it in any subsequent calls to rnd_next, your engine is buggy. Namely it is buggy in that a) an error may not be reported back to\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":360,"url":"https:\/\/www.flamingspork.com\/blog\/2005\/02\/15\/software-raid-is-the-suck\/","url_meta":{"origin":950,"position":5},"title":"Software raid is the suck","author":"Stewart Smith","date":"2005-02-15","format":false,"excerpt":"Has anyone actually gotten the Hoary installer to do anything useful with software raid? like, i'd like it to: a) recognise my 200GB \/home raid b) create one for \/","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\/950","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=950"}],"version-history":[{"count":0,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/950\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}