<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17958827</id><updated>2011-12-27T00:02:01.498+08:00</updated><category term='gpg'/><category term='postgresql'/><category term='postgres'/><category term='tools'/><category term='c/c++'/><category term='news'/><category term='bug'/><category term='collaboration'/><category term='development'/><category term='meaning'/><category term='shareware'/><category term='vm'/><category term='legacy systems'/><category term='Semantic Web'/><category term='otherblog'/><category term='competition'/><category term='hosting'/><category term='antipattern'/><category term='suse'/><category term='applescript'/><category term='mea culpa'/><category term='extension'/><category term='email'/><category term='i14y'/><category term='freebsd'/><category term='confused'/><category term='Apache'/><category term='hg'/><category term='xhtml'/><category term='su'/><category term='solaris'/><category term='WebFaction'/><category term='Web hosting'/><category term='c++'/><category term='ansfd'/><category term='blogger.com'/><category term='rant'/><category term='maturity'/><category term='tao'/><category term='macintosh'/><category term='java'/><category term='CSS'/><category term='engineering'/><category term='obsolete'/><category term='BS'/><category term='best practices'/><category term='log4php'/><category term='April Fool'/><category term='policy'/><category term='literacy'/><category term='apple mail'/><category term='networking'/><category term='industry'/><category term='Web service'/><category term='c'/><category term='puppet'/><category term='interview'/><category term='parallels'/><category term='iPhone'/><category term='groovy'/><category term='favourites'/><category term='innovation'/><category term='mac'/><category term='marketing'/><category term='design'/><category term='governance'/><category term='Web trash'/><category term='socent'/><category term='framework'/><category term='ubuntu'/><category term='blogging'/><category term='compiler'/><category term='.NET'/><category term='ruby'/><category term='Python'/><category term='mail'/><category term='comment'/><category term='Microsoft'/><category term='English'/><category term='Dvorak'/><category term='professionalism'/><category term='explorer'/><category term='CICS'/><category term='ports'/><category term='risk'/><category term='Stalinism'/><category term='OS X'/><category term='jobsdb'/><category term='interface'/><category term='Kohana'/><category term='SingTel'/><category term='Singapore'/><category term='plugin'/><category term='future schlock'/><category term='ZDNet'/><category term='declining standards'/><category term='maintenance'/><category term='irc'/><category term='tdd'/><category term='open standards'/><category term='markup'/><category term='usability'/><category term='iPod Touch'/><category term='chef'/><category term='WS-*'/><category term='addressbook'/><category term='URLs'/><category term='controlled economy'/><category term='Go'/><category term='off-the-shelf'/><category term='attack possible'/><category term='howto'/><category term='startup'/><category term='justice'/><category term='codesniffer'/><category term='interoperability'/><category term='gtk'/><category term='hypervisor'/><category term='bookmarks'/><category term='post'/><category term='DLL hell'/><category term='PHPDocumentor'/><category term='getting started'/><category term='netbeans'/><category term='PHP'/><category term='Carbon'/><category term='ruby on rails'/><category term='Joomla'/><category term='wireless'/><category term='ownership'/><category term='unix'/><category term='trackpad'/><category term='PHPUnit'/><category term='automated testing'/><category term='gender'/><category term='gcc'/><category term='standards'/><category term='symfony'/><category term='JobStreet'/><category term='John C.'/><category term='social media'/><category term='defective'/><category term='virtualisation'/><category term='ill-seeming'/><category term='entourage'/><category term='writing'/><category term='change of pace'/><category term='management'/><category term='CMMI'/><category term='social entrepreneurship'/><category term='DSLs'/><category term='curmudgeon'/><category term='gpgmail'/><category term='documentation'/><category term='Beijing'/><category term='junit'/><category term='dokuwiki'/><category term='art'/><category term='open source'/><category term='freedom'/><category term='Web'/><category term='outsourcing'/><category term='MSDN'/><category term='Shaw'/><category term='society'/><category term='iPod'/><category term='egg'/><category term='Simplehost'/><category term='opaque'/><category term='sun'/><category term='DRM'/><category term='cakephp'/><category term='courtesy'/><category term='frustration'/><category term='structured data'/><category term='xen'/><category term='safari'/><category term='couch potato'/><category term='competence'/><category term='analysis paralysis'/><category term='Seven Sigma'/><category term='foreign concepts'/><category term='business'/><category term='Lion'/><category term='openbsd'/><category term='MySQL'/><category term='phing'/><category term='refactoring'/><category term='vmware'/><category term='security'/><category term='customer service'/><category term='shirkey'/><category term='XML'/><category term='language'/><category term='improvement'/><category term='PHP_CodeSniffer'/><category term='teams'/><category term='social database'/><category term='new product'/><category term='oracle'/><category term='Drupal'/><category term='editor'/><category term='ageism'/><category term='craft'/><category term='software'/><category term='cpptest'/><category term='html'/><category term='coding'/><category term='sinatra'/><category term='anfsd'/><category term='quality'/><category term='version control'/><category term='testing'/><category term='automation'/><category term='zend'/><category term='sip.phone'/><category term='mismanagement'/><category term='users'/><category term='test-driven'/><category term='yahoo'/><category term='Twitter'/><category term='hdb'/><category term='contract'/><category term='wiki'/><category term='trust'/><category term='apple'/><category term='IT'/><category term='open data'/><category term='gnu'/><category term='hownotto'/><category term='overflow'/><category term='2167A'/><category term='feedback'/><category term='agile'/><category term='TLD'/><category term='craftsmanship'/><category term='PGP'/><category term='anti-green'/><category term='debian'/><category term='domain'/><category term='windows'/><category term='docbook'/><category term='netbsd'/><category term='assumptions'/><category term='Kawasaki'/><category term='linux'/><category term='gnupg'/><category term='Internet'/><category term='Santayana'/><category term='opensuse'/><category term='favorites'/><category term='REST'/><category term='internet explorer'/><category term='process'/><category term='patterns'/><category term='programming'/><category term='tutorial'/><category term='bsd'/><category term='philanthropy'/><category term='flow3'/><category term='communication'/><category term='blog'/><category term='job site'/><category term='D'/><category term='time'/><category term='Eiffel'/><category term='wi-fi'/><category term='face'/><category term='C#'/><category term='distrowatch'/><category term='log4j'/><category term='SOAP'/><category term='YAML'/><category term='free software'/><category term='ICANN'/><category term='job search'/><category term='wxwidgets'/><category term='languages'/><category term='history'/><category term='2167-A'/><category term='IE'/><category term='WinFS'/><category term='fail'/><category term='g++'/><category term='iPad'/><category term='Web development'/><category term='mercurial'/><category term='fusion'/><category term='data'/><category term='progress'/><category term='money'/><title type='text'>Archimedes' Lever</title><subtitle type='html'>Observations on the craft and art of software development. Moving the world with a virtual toothpick.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default?start-index=101&amp;max-results=100'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>118</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17958827.post-8308966281511435564</id><published>2011-12-27T00:02:00.000+08:00</published><updated>2011-12-27T00:02:01.530+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='overflow'/><title type='text'>Hallowe'en II: Boxing Day</title><summary type='text'>Here's a scary/stupid trick to pull if you, like me, are a finalist for Biggest Email Pack Rat On The Internet.

Open Apple Mail's Preferences, select the "General" tab, and change Dock unread count from Inbox Only to All Mailboxes. I double-dare you.
Or, it might just be too depressing. I went from a mere(!) 355 unread messages to…
56,232

Let's see, at an average of just under 2 minutes each (</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8308966281511435564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8308966281511435564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8308966281511435564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8308966281511435564'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/12/halloween-ii-boxing-day.html' title='Hallowe&apos;en II: Boxing Day'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7119864685718411009</id><published>2011-12-21T01:17:00.000+08:00</published><updated>2011-12-21T01:17:03.651+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='improvement'/><title type='text'>Cover Yourself: Toolchains Are Agile, Too</title><summary type='text'>As people who know me professionally and/or read my blog know well, I have been a (raucously) loud evangelist for test-first development (TDD, BDD, Scrum, whatever your flavour) for years now. If I write even an exploratory bit of code and don't have tests in place first, I get very uncomfortable. As complexity increases, without tests (preferably automated, repeatable tests), I argue that I </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7119864685718411009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7119864685718411009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7119864685718411009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7119864685718411009'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/12/cover-yourself-toolchains-are-agile-too.html' title='Cover Yourself: Toolchains Are Agile, Too'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7223552742157838543</id><published>2011-12-20T17:32:00.000+08:00</published><updated>2011-12-20T17:32:13.333+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='i14y'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='interoperability'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Well, that was fast.</title><summary type='text'>Like many of you, I expect, I take a good look around at tools like editors when my needs change dramatically. A new system, or a language or app type I haven't worked with in a while, and I'll go out and see what the community is using (or at least buzzing about), narrow that down to a list of 2 or 3 to try, and start trying them out. Usually, I'll try one for a few days and then switch to the </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7223552742157838543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7223552742157838543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7223552742157838543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7223552742157838543'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/12/well-that-was-fast.html' title='Well, &lt;em&gt;that&lt;/em&gt; was fast.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3385339697519345150</id><published>2011-12-05T22:56:00.001+08:00</published><updated>2011-12-05T23:45:43.983+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='SingTel'/><category scheme='http://www.blogger.com/atom/ns#' term='foreign concepts'/><category scheme='http://www.blogger.com/atom/ns#' term='customer service'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Singapore'/><category scheme='http://www.blogger.com/atom/ns#' term='Lion'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>YAHA! (Yet Another 'Hey, Apple…') Hey, SingTel, you, too.</title><summary type='text'>Hey, Apple…
I like what works, and what helps me work better/faster/more enjoyably; the more of these boxes that get ticked, the better. After all, that's why I'm sitting in front of two iMacs with a MacBook Pro and iPad close to hand.However…
The new iMacs are a wonder. A 27" display, 2560 x 1440 resolution; absolutely gorgeous. I can have two full-page views plus a Terminal open on the same </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3385339697519345150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3385339697519345150' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3385339697519345150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3385339697519345150'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/12/yaha-yet-another-hey-apple-hey-singtel.html' title='YAHA! (Yet Another &apos;Hey, Apple…&apos;) Hey, SingTel, you, too.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8621024010586917782</id><published>2011-11-24T17:00:00.000+08:00</published><updated>2011-11-24T18:46:57.151+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='Singapore'/><title type='text'>ANFSD: Fascism Bites Everyone In The Pocket (Among Other Places)</title><summary type='text'>Fascism should more properly be called corporatism, for it represents the fusion of State and corporate power.— B. MussoliniIf you've lived in the USSR, former Soviet republics, or much of south Asia (including Singapore), you're quite familiar with the concept of "exclusive distributors", which the Free World seems to have thrown on the ash-heap of history at roughly the same time as leaded </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8621024010586917782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8621024010586917782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8621024010586917782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8621024010586917782'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/11/anfsd-fascism-bites-everyone-in-pocket.html' title='ANFSD: Fascism Bites Everyone In The Pocket (Among Other Places)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4484337435073840156</id><published>2011-11-24T00:56:00.001+08:00</published><updated>2011-11-24T02:44:33.469+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='Singapore'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><title type='text'>Know when to walk away; know when to run</title><summary type='text'>This started out as a reply to a comment on the LinkedPHPers group on LinkedIn; once I started writing, of course, it quickly grew beyond what was appropriate as a conversationally-inline comment. So I brought it over here. It's something I've been thinking about for a couple of weeks now, so let me get this anvil off my chest.

To R Matthew Songer1: I'd advise adding Ruby on Rails to that list </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4484337435073840156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4484337435073840156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4484337435073840156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4484337435073840156'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/11/know-when-to-walk-away-know-when-to-run.html' title='Know when to walk away; know when to run'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4857481250030072477</id><published>2011-11-10T10:37:00.000+08:00</published><updated>2011-11-10T11:58:41.538+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>DRY May Not Be Wet, But It Sure Is Cool</title><summary type='text'>As any developer who values his time, sanity, or amicable relations with teammates who have to maintain his code knows, one of the cardinal rules of modern programming is "Don't Repeat Yourself", or DRY. This is obviously something that should make reading code easier. Obviously, therefore, it should be applied except where the lengths you go to to not repeat yourself make your code harder for </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4857481250030072477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4857481250030072477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4857481250030072477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4857481250030072477'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/11/dry-may-not-be-wet-but-it-sure-is-cool.html' title='DRY May Not Be Wet, But It Sure Is Cool'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3138178722906488580</id><published>2011-11-08T10:07:00.001+08:00</published><updated>2011-11-08T10:14:15.326+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DSLs'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><category scheme='http://www.blogger.com/atom/ns#' term='writing'/><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Eloquence Is "Obsolete". We're Hurting. That's Redundant.</title><summary type='text'>Code is meant to be read, understood, maintained and reused by humans, and incidentally to be executed by a computer. Doing the second correctly is far, far less difficult than doing the first well. Innovation is utterly meaningless without effective communication, and that is at least as true within a team as between it and a larger organisation, or between a company and its (current and </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3138178722906488580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3138178722906488580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3138178722906488580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3138178722906488580'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/11/eloquence-is-obsolete-were-hurting.html' title='Eloquence Is &quot;Obsolete&quot;. We&apos;re Hurting. That&apos;s Redundant.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2577179738999660480</id><published>2011-10-30T14:06:00.001+08:00</published><updated>2011-10-30T14:06:34.812+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='writing'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><category scheme='http://www.blogger.com/atom/ns#' term='literacy'/><title type='text'>Once more into the breach, dear colleagues, once more…</title><summary type='text'>…or How I Learned to Stop Worrying and Love Serving Aboard Kobayashi Maru; a history lesson.
Once again, I've had an interesting couple of months. Between modern Singapore's regular effect on my health, some insane work and the opportunity to get even more insane work if my two best references weren't indefinitely unavailable (but hey, Thailand is usually lovely this time of year…or anytime, </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2577179738999660480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2577179738999660480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2577179738999660480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2577179738999660480'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/10/once-more-into-breach-dear-colleagues.html' title='Once more into the breach, dear colleagues, once more…'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2828377751683045312</id><published>2011-10-03T19:15:00.000+08:00</published><updated>2011-10-03T19:15:12.591+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger.com'/><title type='text'>Drafting a Classic</title><summary type='text'>By the way, count me among those who find the new Blogger in Draft interface to be a huge improvement over the old interface. The composing interface is clean and functional, with few distractions to typing away. It has the bonus of peripheral features and actions being visible at the periphery, ready when you need them but not with a busy interface distracting you away from the cursor. Previews </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2828377751683045312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2828377751683045312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2828377751683045312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2828377751683045312'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/10/drafting-classic.html' title='Drafting a Classic'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-905672874493063060</id><published>2011-09-03T19:55:00.000+08:00</published><updated>2011-09-03T19:55:25.922+08:00</updated><title type='text'>Stock components: Nothing can go wrong…go wrong…go wrong…«boom!»</title><summary type='text'>(Yes, Westworld had a view of modern software that's not so far off the mark, considering it was made in 1973.)I use Macs for development, using both the native Unix OS and one or more VMWare Fusion VMs of Linux, BSD Unix or Windows, depending on the need. Even when I'm going to be deploying on a Linux or Unix server, I prefer to do my basic work using OS X native tools1.Usually, all that rather </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/905672874493063060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=905672874493063060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/905672874493063060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/905672874493063060'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/09/stock-components-nothing-can-go-wronggo.html' title='Stock components: Nothing can go wrong…go wrong…go wrong…«boom!»'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1021264361980340748</id><published>2011-08-18T13:13:00.000+08:00</published><updated>2011-08-18T13:13:31.857+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hownotto'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='puppet'/><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><category scheme='http://www.blogger.com/atom/ns#' term='chef'/><title type='text'>The Yak Shavery; J. Dickey, Proprietor</title><summary type='text'>Starting a new project for a new client, coming up to speed on a bit of kit almost like something I poked around with a ways back, and a ferociously Singaporean flu do not make for a productive week. I'm almost back to where I expected to be by noon on Monday. Since it's noon on Thursday…What I'm trying to learn and leverage is Chef, an automated-configuration tool for computer systems (mostly </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1021264361980340748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1021264361980340748' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1021264361980340748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1021264361980340748'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/08/yak-shavery-j-dickey-proprietor.html' title='The Yak Shavery; J. Dickey, Proprietor'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2635083917443943267</id><published>2011-07-20T23:22:00.001+08:00</published><updated>2011-07-20T23:22:28.470+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='trackpad'/><category scheme='http://www.blogger.com/atom/ns#' term='Singapore'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>The Formerly Magical Trackpad</title><summary type='text'>My Apple Magic Trackpad died tonight, aged less than six months, after a week-long illness. Numerous battery transplants, resets and reboots were unable to revive the patient. In lieu of flowers, donations to its replacement are now being gratefully accepted.Whiskey. Tango. Fox?Hardware — any hardware, but especially Apple kit — isn't supposed to die after mere months of daily use. I expect </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2635083917443943267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2635083917443943267' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2635083917443943267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2635083917443943267'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/07/formerly-magical-trackpad.html' title='The Formerly Magical Trackpad'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total><georss:featurename>386 Tampines Street 32, Singapore</georss:featurename><georss:point>1.3549471438759266 103.95911693572998</georss:point><georss:box>1.3544511438759266 103.95849993572998 1.3554431438759267 103.95973393572999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2244708556999162098</id><published>2011-04-25T02:33:00.000+08:00</published><updated>2011-04-25T02:33:40.058+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DRM'/><category scheme='http://www.blogger.com/atom/ns#' term='ownership'/><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='courtesy'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>The App Store: I Get It, but...hmmmmm...</title><summary type='text'>Apple's "post-PC," "new media" iDevices are selling quite nicely, thank you. Millions of people have become enthusiastic, loyal, even evangelistic customers without ever clicking a mouse on an Apple desktop or laptop computer. Given that Apple's profit from a laptop or desktop computer is several times what it is for an iDevice, it's almost imperative for them to find ways to make the Mac desktop</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2244708556999162098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2244708556999162098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2244708556999162098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2244708556999162098'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/04/app-store-i-get-it-buthmmmmm.html' title='The App Store: I Get It, but...hmmmmm...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4954381986587298859</id><published>2011-04-14T15:43:00.001+08:00</published><updated>2011-04-14T15:48:14.223+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>A Blessing is ALWAYS A Curse (and Vice Versa)</title><summary type='text'>I've recently started as Senior Architect at Savant Degrees, a Singapore-based Web consultancy. Quite often, I feel like my job is as much "Senior Curmudgeon" as anything. According to  Wiktionary.org, a curmudgeon is "[a]n ill-tempered (and frequently old) person full of stubborn ideas or opinions." I'm undoubtedly the oldest person among any of my colleagues that I've met, and I was told fairly</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4954381986587298859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4954381986587298859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4954381986587298859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4954381986587298859'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/04/blessing-is-always-curse-and-vice-versa.html' title='A Blessing is ALWAYS A Curse (and Vice Versa)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4727235326677782309</id><published>2011-01-04T12:40:00.001+08:00</published><updated>2011-02-18T18:58:55.972+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='defective'/><title type='text'>Windows? Check. Skype? Check. Quality? Oops…</title><summary type='text'>Several cultures share variations of a proverb which reminds us that you cannot build a house on sand and have it endure the test of time — or even the next tide.Skype learned that the hard way a couple of weeks ago. Like all peer-to-peer, or P2P, networks, Skype relies on (a varying subset of) its users' systems to handle routine network-housekeeping chores, including routing.  Fine; that's the </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4727235326677782309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4727235326677782309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4727235326677782309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4727235326677782309'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2011/01/windows-check-skype-check-quality-oops.html' title='Windows? Check. Skype? Check. Quality? Oops&amp;hellip;'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3681256022330268669</id><published>2010-12-21T19:11:00.000+08:00</published><updated>2010-12-21T19:11:51.817+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='favourites'/><category scheme='http://www.blogger.com/atom/ns#' term='structured data'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='sinatra'/><category scheme='http://www.blogger.com/atom/ns#' term='favorites'/><category scheme='http://www.blogger.com/atom/ns#' term='bookmarks'/><title type='text'>Keywords (aka "tags") ARE NOT Structure</title><summary type='text'>And I understand that's the whole point.  But sometimes, you're dealing with a concept or with data that is most naturally and properly organised in a structured hierarchy.  While keywords1 are a very convenient tool for filtering ad hoc queries2, they're a poor stand-in for truly structured information.One (possibly trivial) case in point: managing your browser bookmarks.  What I want to be able</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3681256022330268669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3681256022330268669' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3681256022330268669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3681256022330268669'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/12/keywords-aka-tags-are-not-structure.html' title='Keywords (aka &quot;tags&quot;) ARE NOT Structure'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-305392395219697848</id><published>2010-10-20T22:10:00.000+08:00</published><updated>2010-10-20T22:10:50.406+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>It's Not Lucid For Me Anymore</title><summary type='text'>
For those of you a bit limited in your English knowledge, lucid means "easily understood; completely intelligible or comprehensible."
My experience bringing up some Web servers on the latest release of Ubuntu Linux, release 10.10 aka "Maverick Meerkat" (replacing 10.04, "Lucid Lynx") left me feeling scalped by Apache (the Web server software).


It's (usually) quite straightforward to bring up a</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/305392395219697848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=305392395219697848' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/305392395219697848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/305392395219697848'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/10/its-not-lucid-for-me-anymore.html' title='It&apos;s Not Lucid For Me Anymore'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8727158939895637228</id><published>2010-10-05T17:10:00.000+08:00</published><updated>2010-10-05T17:10:33.492+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='policy'/><category scheme='http://www.blogger.com/atom/ns#' term='society'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><title type='text'>Redundancy is Repetitive, Inefficient and Counterproductive</title><summary type='text'>But you already know that.I've long been a supporter of free and open source software, even contributing to a few projects. However, my enthusiasm has cooled a bit in the last several years, as the time I've been able to devote to such projects has both dwindled and been divided among more projects.I'm continually flabbergasted by the number of open-source projects that cover the same ground, ad </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8727158939895637228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8727158939895637228' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8727158939895637228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8727158939895637228'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/10/redundancy-is-repetitive-inefficient.html' title='Redundancy is Repetitive, Inefficient and Counterproductive'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-301869730597867991</id><published>2010-09-28T23:53:00.000+08:00</published><updated>2010-09-28T23:53:38.313+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>IE9 and Standards? Nothing to see here, folks; move along...</title><summary type='text'>
This is a re-post of a comment I left to the post "HTML5 Support in Internet Explorer 9 on Louis Lazaris' Impressive Webs blog (which I highly recommend for people working in or interested in Web development). I've slightly edited a few places for clarity.  The comments that had been left by people were almost universally complaining about Microsoft in general and IE's continuing history of </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/301869730597867991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=301869730597867991' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/301869730597867991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/301869730597867991'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/09/ie9-and-standards-nothing-to-see-here.html' title='IE9 and Standards? Nothing to see here, folks; move along...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2462423744614027980</id><published>2010-09-28T14:27:00.000+08:00</published><updated>2010-09-28T14:27:02.305+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='Kohana'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='legacy systems'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='flow3'/><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='zend'/><title type='text'>Don't Waste My Time.</title><summary type='text'>What follows is a critique and a complaint, not a rant. What's the difference, you ask? A rant, in my view, is a primal scream of frustration and near-impotent rage that often doesn't let a few (allegedly) non-essential facts get in the way of a good thrashing. It also takes far more energy than I'm able to summon at present, for reasons that may become clear below.
As I've mentioned previously, </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2462423744614027980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2462423744614027980' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2462423744614027980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2462423744614027980'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/09/dont-waste-my-time.html' title='Don&apos;t Waste My Time.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-591507916934775003</id><published>2010-09-14T16:13:00.004+08:00</published><updated>2010-09-14T17:22:33.174+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='fusion'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='distrowatch'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='dokuwiki'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Saving Effort and Time is Hard Work</title><summary type='text'>As both my regular readers well know, I've been using a couple of Macs1 as my main systems for some time now. As many (if not most, these days) Web developers do, I run different systems (Windows and a raft of Linuxes) using VMWare Fusion so that I can do various testing activities.Many Linux distributions come with some form of automation support for installation and updates2. Several of these </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/591507916934775003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=591507916934775003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/591507916934775003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/591507916934775003'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/09/saving-effort-and-time-is-hard-work.html' title='Saving Effort and Time is Hard Work'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4117384965861710609</id><published>2010-09-02T23:36:00.000+08:00</published><updated>2010-09-02T23:36:19.839+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><title type='text'>Patterns and Anti-Patterns: Like Matter and Anti-Matter</title><summary type='text'>Well, that's a few hours I'd like to have over again.
As both my regular readers know, I've long been a proponent of agile software development, particularly with respect to my current focus on Web development using PHP.
One tool that I, and frankly any PHP developer worth their salt, use is PHPUnit for unit testing, a central practice in what's called test-driven development or TDD. Essentially,</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4117384965861710609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4117384965861710609' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4117384965861710609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4117384965861710609'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/09/patterns-and-anti-patterns-like-matter.html' title='Patterns and Anti-Patterns: Like Matter and Anti-Matter'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8460839564900375290</id><published>2010-08-31T12:09:00.002+08:00</published><updated>2010-08-31T13:23:30.076+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='April Fool'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='future schlock'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><category scheme='http://www.blogger.com/atom/ns#' term='ZDNet'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>My reaction to the new, pico-sized iPod Nano</title><summary type='text'>This is the content of a comment I originally posted on ZDNet, in the Talkback section for the article New iPod Nano rumored to shrink further, by Jason D. O'Grady.

Cupertino, CA (1 April 2012) (UPI) Apple Inc (s AAPL) today introduced the new iPod Implant, which is to replace both the existing Nano and Shuffle models.
At the launch event at the now-traditional Yerba Buena Center, retiring </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8460839564900375290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8460839564900375290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8460839564900375290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8460839564900375290'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/08/my-reaction-to-new-pico-sized-ipod-nano.html' title='My reaction to the new, pico-sized iPod Nano'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-9189880121746001619</id><published>2010-08-17T23:15:00.000+08:00</published><updated>2010-08-17T23:15:12.767+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='Joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='frustration'/><category scheme='http://www.blogger.com/atom/ns#' term='egg'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>In Praise of Robust Tools and of The Future™</title><summary type='text'>One of the best points about doing Web development in PHP is that it's so widely used; several respectable estimates by organizations that get paid to find these things out say that some varying number north of 50% of all sites on the World Wide Web use PHP as their implementation language. This includes numerous content management systems, or CMS, such as WordPress, Joomla! and Drupal.
One of </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/9189880121746001619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=9189880121746001619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/9189880121746001619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/9189880121746001619'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/08/in-praise-of-robust-tools-and-of-future.html' title='In Praise of Robust Tools and of The Future&amp;trade;'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total><georss:featurename>386 Tampines Street 32, Singapore</georss:featurename><georss:point>1.3543507 103.9580281</georss:point><georss:box>1.3489877 103.95073260000001 1.3597137 103.9653236</georss:box></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1022431863480539600</id><published>2010-08-16T10:24:00.000+08:00</published><updated>2010-08-16T10:24:00.727+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnu'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Proof Against Most Idiots</title><summary type='text'>Fair warning: Geekish laudatory rant ahead. Still with me? Good!
I suppose it says something less than complimentary about our Craft that, when things actually work in a sensible fashion, recovering from Stupid User Actions™, it's surprising enough to be noteworthy. But I seriously doubt that I'm the only one who's noticed this.
Case in point: yesterday, I started downloading the Debian Linux </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1022431863480539600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1022431863480539600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1022431863480539600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1022431863480539600'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/08/proof-against-most-idiots.html' title='Proof Against Most Idiots'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2400638167126725782</id><published>2010-08-15T00:21:00.000+08:00</published><updated>2010-08-15T00:21:08.541+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='D'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='Go'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>Where Do We "Go" From Here? D2 Or Not D2, That the Question Is</title><summary type='text'>Unless you've been working in an organization whose mission is to supply C++ language tools (and perhaps particularly if you have, come to think of it), you can't help but have noticed that a lot of people who value productive use of time over esoteric language theory have come to the conclusion that the C++ language is hopelessly broken.

Sure, you can do anything in C++... or at least in C++ as</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2400638167126725782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2400638167126725782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2400638167126725782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2400638167126725782'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/08/where-do-we-go-from-here-d2-or-not-d2.html' title='Where Do We &quot;Go&quot; From Here? D2 Or Not D2, That the Question Is'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-879431588985994059</id><published>2010-07-28T22:47:00.001+08:00</published><updated>2010-07-28T22:47:58.837+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='teams'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPDocumentor'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='mercurial'/><category scheme='http://www.blogger.com/atom/ns#' term='codesniffer'/><category scheme='http://www.blogger.com/atom/ns#' term='improvement'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP_CodeSniffer'/><category scheme='http://www.blogger.com/atom/ns#' term='phing'/><category scheme='http://www.blogger.com/atom/ns#' term='hg'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Automating So You Don't Forget</title><summary type='text'>
This is a bit of an introductory-level post/rant/tutorial, but I've been peppered by enough "why on earth would you do this?" questions by various (seemingly experienced) project team members and on various mailing lists that I thought I'd just write my own take on this and point people to it when useful.



I'm pulling my (semihemidemiexistent) hair out on four different PHP projects at the </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/879431588985994059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=879431588985994059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/879431588985994059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/879431588985994059'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/07/automating-so-you-dont-forget.html' title='Automating So You Don&apos;t Forget'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1547147742870645869</id><published>2010-07-07T23:49:00.000+08:00</published><updated>2010-07-07T23:49:20.830+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='phing'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><title type='text'>Phing! It's a Dessert Topping! It's a Floor Wax! No, it's efPhing something!</title><summary type='text'>I want my hour back. No, seriously; that's what happens when you don't touch a tool for a while, but you spend a lot of time with its "kissin' cousin."


Phing, if you're new-ish to serious PHP development, is your ultimate Swiss Army Ginsu Chainsaw™. It's a "build tool" that lets you automate pretty near anything, especially having to do with PHP. There are several dozen "tasks", like the </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1547147742870645869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1547147742870645869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1547147742870645869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1547147742870645869'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/07/phing-its-dessert-topping-its-floor-wax.html' title='Phing! It&apos;s a Dessert Topping! It&apos;s a Floor Wax! No, it&apos;s efPhing something!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1409235618477820241</id><published>2010-06-30T10:27:00.002+08:00</published><updated>2010-06-30T10:35:37.355+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='assumptions'/><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>The Decline of the Internet, Part MMMDIC</title><summary type='text'>Rant mode: on. Some effort will be made to keep ear-steam to a minimum.

Internet Relay Chat (better known as IRC), specifically Undernet, was one of the very first things I discovered on the (then-)text-mode-only Internet, Over the next 20 years or so, I've gone through varying levels of activity (including writing an IRC client for OS/2, the operating system that brought technology to a </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1409235618477820241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1409235618477820241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1409235618477820241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1409235618477820241'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/06/decline-and-fall-of-internet-part.html' title='The Decline of the Internet, Part MMMDIC'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fVBLwXlbaRU/TCqj7A4kArI/AAAAAAAAAEA/vpIpGQ5T0SM/s72-c/congratulations-sorry.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1960964493729469847</id><published>2010-06-18T00:32:00.001+08:00</published><updated>2010-06-18T00:34:52.847+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>I Thought Standard Libraries Were Supposed to be Better...</title><summary type='text'>...than hand coding. Either the PHP folks never got that memo, or I'm seriously misconceptualising here.Case in point: I was reading through Somebody Else's Code™, and I saw a sequence of "hand-coded" assignments of an empty string to several array entries, similar to:
    $items[ 'key2' ] = '';
    $items[ 'key1' ] = '';
    $items[ 'key6' ] = '';
    $items[ 'key3' ] = '';
    $items[ 'key8' ] </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1960964493729469847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1960964493729469847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1960964493729469847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1960964493729469847'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/06/i-thought-standard-libraries-were.html' title='I Thought Standard Libraries Were Supposed to be Better...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3756677367634593130</id><published>2010-06-01T12:06:00.000+08:00</published><updated>2010-06-01T12:06:35.274+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='customer service'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>The Sun Has Set on a Great Brand</title><summary type='text'>
Just a quick note pointing out, once again, that when many of us foresaw gloom and doom from the Oracle acquisition of Sun Microsystems....we were being hippie-pie-in-the-sky optimists.


Item: A couple of days ago, I tried to log into my Sun Developer Network account, so I could grab the latest "official" Java toolset for a Linux VM I was building. I couldn't log in; neither the password that </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3756677367634593130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3756677367634593130' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3756677367634593130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3756677367634593130'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/06/sun-has-set-on-great-brand.html' title='The Sun Has Set on a Great Brand'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7337817554608878776</id><published>2010-05-26T00:40:00.001+08:00</published><updated>2010-05-26T00:41:41.069+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='Joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Beating Your Head Against the Wall, Redux</title><summary type='text'>
...or, the "Monty Python and the Holy Grail" monks' guide to making your Mac desktop work like a server, instead of going and getting a copy of OS X Server like you should...


Mac OS X Server brings OS X simplicity and Unix power to a range of hardware systems. Most of the things that Server makes trivially simple can be done in OS X Desktop. Some of them, however, require the patience of Job </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7337817554608878776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7337817554608878776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7337817554608878776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7337817554608878776'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/05/beating-your-head-against-wall-redux.html' title='Beating Your Head Against the Wall, Redux'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1574039357485195394</id><published>2010-05-17T01:32:00.000+08:00</published><updated>2010-05-17T01:32:14.679+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='mismanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='defective'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Those were the days, my friend...but they're OVER.</title><summary type='text'>No, I'm not talking about Facebook and the idea that people should have some control over how their own information makes money for people they never imagined.  That's another post.  This is a shout out to the software folk out there, and the wannabe software folk, who wonder why nobody outside their own self-selecting circles seems to get excited about software anymore.
Back in the early days of</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1574039357485195394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1574039357485195394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1574039357485195394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1574039357485195394'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/05/those-were-days-my-friendbut-theyre.html' title='Those were the days, my friend...but they&apos;re OVER.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6412660272793960251</id><published>2010-05-08T23:11:00.000+08:00</published><updated>2010-05-08T23:11:10.135+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='URLs'/><category scheme='http://www.blogger.com/atom/ns#' term='social media'/><category scheme='http://www.blogger.com/atom/ns#' term='open data'/><category scheme='http://www.blogger.com/atom/ns#' term='governance'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Making URL Shorteners Less "Evil"</title><summary type='text'>
The following is the text of a comment I attempted to post to an excellent post on visitmix.com discussing The Evils of URL Shorteners.  I think Hans had some great points, and the comments afterward seem generally thoughtful.


This is a topic which I happen to think is extremely important, for both historical and Internet-governance reasons, and hope to see a real discussion and resolution </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6412660272793960251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6412660272793960251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6412660272793960251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6412660272793960251'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/05/making-url-shorteners-less-evil.html' title='Making URL Shorteners Less &quot;Evil&quot;'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8309408867314707345</id><published>2010-05-08T17:45:00.000+08:00</published><updated>2010-05-08T17:45:55.383+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='automated testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Kohana'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='test-driven'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><title type='text'>She's Putting Me Through Changes...</title><summary type='text'>...they're even likely to turn out to be good ones.
As you may recall, I've been using and recommending the Kohana PHP application framework for some time.  Kohana now offer two versions of their framework:


the 2.x series is an MVC framework, with the upcoming 2.4 release to be the last in that series; and


the 3.0 series, which is an HMVC framework.



Until quite recently, the difference </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8309408867314707345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8309408867314707345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8309408867314707345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8309408867314707345'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/05/shes-putting-me-through-changes.html' title='She&apos;s Putting Me Through Changes...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1451956487184853089</id><published>2010-04-27T08:54:00.000+08:00</published><updated>2010-04-27T08:54:28.796+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='obsolete'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='maturity'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='Drupal'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Let's Do The Time Warp Agai-i-i-i-n!!  (Please, $DEITY, no...)</title><summary type='text'>For those who may somehow not be aware of it, LinkedIn is a (generally quite good) professionally-oriented social-networking site. This is not Facebook, fortunately. It's not geared towards teenagers raving about the latest corporate boy band du jour.  It often can be, however, a great place to network with people from a variety of vocational, industry and/or functional backgrounds to get in </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1451956487184853089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1451956487184853089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1451956487184853089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1451956487184853089'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/04/lets-do-time-warp-agai-i-i-i-n-please.html' title='Let&apos;s Do The Time Warp Agai-i-i-i-n!!  (Please, $DEITY, no...)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2196174593132337020</id><published>2010-04-16T23:58:00.002+08:00</published><updated>2010-04-18T01:29:12.345+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='philanthropy'/><category scheme='http://www.blogger.com/atom/ns#' term='social database'/><category scheme='http://www.blogger.com/atom/ns#' term='open data'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='socent'/><category scheme='http://www.blogger.com/atom/ns#' term='open standards'/><category scheme='http://www.blogger.com/atom/ns#' term='social entrepreneurship'/><title type='text'>A Slight Detour: Musing on Open Data Standards as applied to Social Entrepreneurship and Philanthropy</title><summary type='text'>This started out as a conversation on Twitter with @cdegger, @ehrenfoss, @p2173 and other folks following the #opendata, #socent or #10swf hash tags.  Twitter is (in)famous for being limited to 140 characters per “tweet”; with the extra hash tags and all, that's reduced to 96. I wrote a reply and used a text editor to break it into "tweets"; by the time I got to “(part 8/nn),” I knew it was crazy</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2196174593132337020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2196174593132337020' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2196174593132337020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2196174593132337020'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/04/slight-detour-musing-on-open-data.html' title='A Slight Detour: Musing on Open Data Standards as applied to Social Entrepreneurship and Philanthropy'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5771183692600446954</id><published>2010-04-14T17:45:00.000+08:00</published><updated>2010-04-14T17:45:17.991+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='automated testing'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Process: Still 'garbage in, garbage out,', but...</title><summary type='text'>...you can protect yourself and your team. Even if we're talking about topics that everybody's rehashed since the Pleistocene (or at least since the UNIVAC I).Traditional, command-and-control, bureaucratic/structured/waterfall development process managed to get (quite?) a few things right (especially given the circumstances). One of these was code review.Done right, a formal code review process </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5771183692600446954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5771183692600446954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5771183692600446954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5771183692600446954'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/04/process-still-garbage-in-garbage-out.html' title='Process: Still &apos;garbage in, garbage out,&apos;, but...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4759561192035651824</id><published>2010-03-07T23:50:00.000+08:00</published><updated>2010-03-07T23:50:45.371+08:00</updated><title type='text'>We've Got Issues...</title><summary type='text'>
Just because something's the best you've ever seen at doing what it does, does not mean that it's perfect – or even necessarily consistently good. Sometimes the issue you run into is so bad, you wonder how the offender managed to live as long and be as widely respected as it has.


As you probably know, every serious software developer, working on a project that has an intended lifetime measured</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4759561192035651824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4759561192035651824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4759561192035651824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4759561192035651824'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/03/weve-got-issues.html' title='We&apos;ve Got Issues...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2705572333701224535</id><published>2010-02-27T15:00:00.000+08:00</published><updated>2010-02-27T15:00:25.486+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Web hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='fusion'/><category scheme='http://www.blogger.com/atom/ns#' term='maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='WebFaction'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='vm'/><category scheme='http://www.blogger.com/atom/ns#' term='dokuwiki'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><title type='text'>Protecting Yourself and Others from Yourself and Others</title><summary type='text'>
Nowadays, there's simply no excuse for any computer connected to the Internet, regardless of operating system, not to have both a hardware firewall (usually implemented in your router/broadband "modem") and a software firewall, monitoring both incoming and outgoing traffic.


The software firewall I've been recommending to those "unable"/unwilling to leave the hypersonic train wreck that is </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2705572333701224535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2705572333701224535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2705572333701224535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2705572333701224535'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/protecting-yourself-and-others-from.html' title='Protecting Yourself and Others from Yourself and Others'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3338824250775666454</id><published>2010-02-23T09:57:00.001+08:00</published><updated>2010-02-23T13:49:59.336+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Again, Standards Matter</title><summary type='text'>People who I've worked with, or worked for, or read my writing here and elsewhere, have probably figured out that I'm a huge fan of standards just about everywhere they make sense: data formats, user interfaces, and so on. After all, why should we have to relearn how to drive a car simply because we buy a new Ford in place of a Toyota that the Government doesn't want us driving anymore? (You see </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3338824250775666454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3338824250775666454' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3338824250775666454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3338824250775666454'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/again-standards-matter.html' title='Again, Standards Matter'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2161875086956757306</id><published>2010-02-20T15:27:00.001+08:00</published><updated>2010-02-20T15:27:50.293+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPod Touch'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='anfsd'/><category scheme='http://www.blogger.com/atom/ns#' term='opaque'/><category scheme='http://www.blogger.com/atom/ns#' term='mismanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='frustration'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='freedom'/><category scheme='http://www.blogger.com/atom/ns#' term='controlled economy'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Companies Lose their Minds, Then their Partners, Then their Customers, Then...</title><summary type='text'>Following is a comment which I posted to Jason Kincaid's article on TechCrunch, "Why Apple's New Ban Against Sexy Apps is Scary". I don't know why Apple seem to be deliberately shooting themselves in so many ways on the iPhone recently; I am sure that they are leaving golden opportunities for Palm, Android and anybody else who isn't Apple or Microsoft.
Even if you're not developing for the iPhone</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2161875086956757306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2161875086956757306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2161875086956757306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2161875086956757306'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/companies-lose-their-minds-then-their.html' title='Companies Lose their Minds, Then their Partners, Then their Customers, Then...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8577590330943590819</id><published>2010-02-10T17:56:00.002+08:00</published><updated>2010-02-10T17:58:36.404+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='feedback'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger.com'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>Simple Changes Rarely Are</title><summary type='text'>I want to say "thank you" to the anonymous commenter to my post, XHTML is (Nearly) Useless, who said "Paragraphs would be useful."

Google's Blogger software, by default, separates paragraphs by an "HTML break tag" (br); this preserves the visible separation as intended, but destroys the structural, semantic flow. I recently discovered this, found the feature to turn it off ("don't put "break" </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8577590330943590819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8577590330943590819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8577590330943590819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8577590330943590819'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/simple-changes-rarely-are.html' title='Simple Changes Rarely Are'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4172591565057651617</id><published>2010-02-10T17:19:00.001+08:00</published><updated>2010-02-10T17:29:59.274+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='off-the-shelf'/><category scheme='http://www.blogger.com/atom/ns#' term='automated testing'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='test-driven'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='log4j'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='log4php'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>NIH v. An Embarrassment of Riches</title><summary type='text'>
One thing most good developers learn early on is not to "reinvent" basic technology for each new project they work on, The common, often corporate, antithesis to this is NIH, or "Not Invented Here." But sometimes, it's hard to decide which "giants" one wants to "stand on the shoulders of."


I've recently done a couple of mid-sized Web projects using PHP and the Kohana framework. A framework, as</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4172591565057651617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4172591565057651617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4172591565057651617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4172591565057651617'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/nih-v-embarrassment-of-riches.html' title='NIH v. An Embarrassment of Riches'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5078259255672142314</id><published>2010-02-02T02:05:00.001+08:00</published><updated>2010-02-10T18:00:57.348+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='distrowatch'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='defective'/><category scheme='http://www.blogger.com/atom/ns#' term='netbsd'/><category scheme='http://www.blogger.com/atom/ns#' term='openbsd'/><category scheme='http://www.blogger.com/atom/ns#' term='BS'/><category scheme='http://www.blogger.com/atom/ns#' term='open standards'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><title type='text'>I thought OSS was supposed to break down walls, not build them.</title><summary type='text'>Silly me. I've only been using, evangelizing and otherwise involved in open source software for 15 or 20 years, so what do I know?
In reaction to the latest feature article in DistroWatch Weekly, I'm angry. I'm sad. Most of all, I feel sorry for those losers who would rather keep their pristine little world free of outside involvement, especially when that involvement is with the express intent </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5078259255672142314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5078259255672142314' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5078259255672142314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5078259255672142314'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/i-thought-oss-was-supposed-to-break.html' title='I thought OSS was supposed to break down walls, not build them.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5787504903924300400</id><published>2010-02-02T00:34:00.000+08:00</published><updated>2010-02-02T00:34:50.211+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Web hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='Simplehost'/><category scheme='http://www.blogger.com/atom/ns#' term='Seven Sigma'/><category scheme='http://www.blogger.com/atom/ns#' term='mea culpa'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='WebFaction'/><title type='text'>Changing Infrastructure - and "Mea maxima culpa *thwack*"</title><summary type='text'>(which I remember from a Monty Python sketch but can't find attribution. Oh well; please feel free to comment and enlighten me.)

About a week ago, I switched my domain hosting for my Web/mail domain, seven-sigma.com, from Simplehost Limited of New Zealand to WebFaction, based in the UK. Now, Simplehost are a good bunch of guys; their customer service is very responsive and you get knowledgeable,</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5787504903924300400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5787504903924300400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5787504903924300400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5787504903924300400'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/02/changing-infrastructure-and-mea-maxima.html' title='Changing Infrastructure - and &quot;Mea maxima culpa *thwack*&quot;'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8748495461446962235</id><published>2010-01-30T01:10:00.004+08:00</published><updated>2010-11-02T23:12:39.299+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod Touch'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='society'/><category scheme='http://www.blogger.com/atom/ns#' term='money'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='controlled economy'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Piling On: More Kibitzing about the iPad</title><summary type='text'>
What do I think about the new iPad? Glad you asked. What's that? You didn't, really – or not many of you did. But that's OK, really; at least two other writers argue that we're going from an era of "nearly universal literacy" to "nearly universal authorship", so here's my two rupiah worth.


John Gruber, the blogger behind Daring Fireball, is a justly respected voice on a variety of topics, </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8748495461446962235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8748495461446962235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8748495461446962235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8748495461446962235'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/piling-on-more-kibitzing-about-ipad.html' title='Piling On: More Kibitzing about the iPad'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1293029829559681955</id><published>2010-01-28T13:51:00.002+08:00</published><updated>2010-11-02T23:14:23.660+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='money'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='frustration'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>What's wrong with this picture?</title><summary type='text'>
Apple chose the only name that ever made sense for their new change-the-world device: the iPad.
So what's not to like about it? Well, that depends on who you are and what you really wanted this to be. No surprise there.
My biggest problem with it was summed up well by James Kendrick in his post, Thoughts on the iPad — Just Push the Buy Button, says Apple: it really is primarily about media </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1293029829559681955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1293029829559681955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1293029829559681955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1293029829559681955'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/whats-wrong-with-this-picture.html' title='What&apos;s wrong with this picture?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1221245654137426856</id><published>2010-01-19T16:24:00.001+08:00</published><updated>2010-01-19T16:25:08.721+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shirkey'/><category scheme='http://www.blogger.com/atom/ns#' term='ansfd'/><category scheme='http://www.blogger.com/atom/ns#' term='society'/><category scheme='http://www.blogger.com/atom/ns#' term='feedback'/><category scheme='http://www.blogger.com/atom/ns#' term='comment'/><category scheme='http://www.blogger.com/atom/ns#' term='justice'/><title type='text'>ANFSD: Newman and Redford, Not Streisand and Farrow</title><summary type='text'>The leads in the classic 1973 movie, "The Sting", of course. Both leads were male, playing roles that were prototypically male in our social order. Why is that?
Clay Shirkey has some ideas about that, which he wrote up as "A Rant About Women". Not "A Rant Against Women", mind you. Some did not see that as a difference that makes a difference, notably Zo at this post on her (misnamed) </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1221245654137426856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1221245654137426856' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1221245654137426856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1221245654137426856'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/anfsd-newman-and-redford-not-streisand.html' title='ANFSD: Newman and Redford, Not Streisand and Farrow'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5755612434207125844</id><published>2010-01-17T00:54:00.005+08:00</published><updated>2010-01-17T14:05:59.855+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='defective'/><category scheme='http://www.blogger.com/atom/ns#' term='frustration'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='log4j'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='log4php'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Fixing A Tool That's Supposed To Help Me Fix My Code; or, Shaving a Small Yak</title><summary type='text'>Well, that's a couple of hours I'd really like to have back.One of the oldest, simplest, most generally effective debugging tools is some form of logging. Writing output to a file, to a database, or to the console gives the developer a window into the workings of code, as it's being executed.The long-time "gold standard" for such tools has been the Apache Foundation's log4j package, which </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5755612434207125844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5755612434207125844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5755612434207125844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5755612434207125844'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/fixing-tool-thats-supposed-to-help-me.html' title='Fixing A Tool That&apos;s Supposed To Help Me Fix My Code; or, Shaving a Small Yak'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6323207258419302640</id><published>2010-01-15T19:36:00.002+08:00</published><updated>2010-01-15T19:43:04.179+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vm'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='fusion'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='parallels'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Virtual Real Work</title><summary type='text'>(As posted in a comment on a very detailed Ars Technica review:
After giving PD5 and Fusion 3 full evaluations, I'm going back to Fusion for another cycle.
A lot of what I do is testing software in odd developer builds of various BSDs, Linuxes and OpenSolaris; Fusion gives me the least trouble when venturing away from the Microsoft megalith. I have XP and Win7 VMs too; I just don't fire up either</summary><link rel='related' href='http://arstechnica.com/apple/news/2009/11/parallels-desktop-5-review.ars/7?comments=2&amp;comment_id=197007892041' title='Virtual Real Work'/><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6323207258419302640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6323207258419302640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6323207258419302640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6323207258419302640'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/virtual-real-work.html' title='Virtual Real Work'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3650851119400906557</id><published>2010-01-05T14:49:00.001+08:00</published><updated>2010-02-10T18:10:59.380+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='addressbook'/><title type='text'>Address Book him, Danno!</title><summary type='text'>This is a follow-up to a tweet I left yesterday, where I was praising a great little app called ABMenu. This little guy just sits in the system menu bar and gives you easy, two-click access to any entry in your Address Book. I'd installed it earlier on my main iMac. This morning, I noticed that it wasn't installed on the new, two-week-old MacBook Pro, and fixed that.

Then of course I noticed </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3650851119400906557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3650851119400906557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3650851119400906557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3650851119400906557'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/address-book-him-danno.html' title='Address Book him, Danno!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5391271393131633403</id><published>2010-01-04T01:21:00.001+08:00</published><updated>2010-02-10T18:09:34.922+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new product'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>The Audacity of Hype</title><summary type='text'>This is the content of a comment which I posted to a TechCrunch article on The World Doesn't Need Someone Telling Us What We Don't Need In Tech.  For what it's worth, I hope the iSlate/iPad/iTablet/iWhatever is real this time; if we have another Charlie Brown, Lucy and the Football moment, I think the market will see this as one of Apple's rare blown opportunities - to the tune of maybe $50 off </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5391271393131633403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5391271393131633403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5391271393131633403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5391271393131633403'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/audacity-of-hype.html' title='The Audacity of Hype'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7256881977309792534</id><published>2010-01-03T20:58:00.004+08:00</published><updated>2010-02-10T18:14:10.943+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='change of pace'/><category scheme='http://www.blogger.com/atom/ns#' term='curmudgeon'/><category scheme='http://www.blogger.com/atom/ns#' term='writing'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>ANFSD: The Present Isn't Always Perfect</title><summary type='text'>
If anybody has had doubts about the decline and fall of the English language over the past two or three decades, current media (print and online) should clear that up very nicely.

If I see another reviewer who starts off with "I've had the (Product X) for a week and I am loving it," it will be very difficult to restrain myself from throwing a brick through the display. There's this widespread </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7256881977309792534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7256881977309792534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7256881977309792534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7256881977309792534'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2010/01/anfsd-present-isnt-always-perfect.html' title='ANFSD: The Present Isn&apos;t Always Perfect'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5287915101419536196</id><published>2009-12-22T12:05:00.004+08:00</published><updated>2010-01-21T22:33:21.009+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='legacy systems'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><title type='text'>Blast from the Past</title><summary type='text'>Another in a continuing series...
Microcomputer(as PCs were called before the IBM PC) veterans of a certain vintage well remember that most counterintuitively productive of productivity tools, WordStar 3.3 (and earlier). The hegemon of its day, WordStar used what at first (and usually fifth) inspection appeared to be whimsical, arbitrary key combinations for commands. Ctrl K-H for Help was </summary><link rel='related' href='http://joe-editor.sourceforge.net/' title='Blast from the Past'/><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5287915101419536196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5287915101419536196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5287915101419536196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5287915101419536196'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/12/blast-from-past.html' title='Blast from the Past'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4887786688245900482</id><published>2009-12-21T20:12:00.001+08:00</published><updated>2010-02-10T18:26:44.704+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ports'/><category scheme='http://www.blogger.com/atom/ns#' term='antipattern'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='defective'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='DLL hell'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>When Standing on the Shoulders of Giants, Don't Trip</title><summary type='text'>
    I've been doing a lot of software installation lately, on Mac OS X and
    various BSDs and Linuxes. Doing so reminds me of one of the major banes of
    my life when developing for Windows. If you're a Windows usee, you're
    acutely familiar with the concept.


    DLL Hell.On
    Windows, as you install a dozen apps, each of them will try to install their
    own versions of many </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4887786688245900482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4887786688245900482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4887786688245900482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4887786688245900482'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/12/when-standing-on-shoulders-of-giants.html' title='When Standing on the Shoulders of Giants, Don&apos;t Trip'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1310895829209975884</id><published>2009-11-23T00:09:00.002+08:00</published><updated>2010-02-10T18:44:38.865+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='markup'/><category scheme='http://www.blogger.com/atom/ns#' term='structured data'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='YAML'/><title type='text'>Reuse, Renew, Recycle - Data Structures Edition</title><summary type='text'>
    Everything gets recycled these days, including acronyms...


    Whether you're developing Web pages in your language of choice, writing a
    new game to take on the world, or (insert your project here), at some
    point, you're going to deal with structured data.


    You're quite likely, at some point, to deal with fairly complex, nested
    structured data - for configuration, to </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1310895829209975884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1310895829209975884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1310895829209975884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1310895829209975884'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/11/reuse-renew-recycle-data-structures.html' title='Reuse, Renew, Recycle - Data Structures Edition'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-643493139319619388</id><published>2009-11-18T21:16:00.007+08:00</published><updated>2010-02-10T18:56:18.776+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger.com'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Two steps forward, three steps back</title><summary type='text'>
    Alternate title: ARRRRRGGGGGHHHHHHH!!!!!


    Both of you Gentle Readers may have noticed that I've been away from the
    blog for a while, and that a few posts that were previously published have
    gone missing. I've been busy fighting some other fires for a while, and my
    current network access has lacked the stability and efficiency that local
    propaganda would have you expect.
</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/643493139319619388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=643493139319619388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/643493139319619388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/643493139319619388'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/11/two-steps-forward-three-steps-back.html' title='Two steps forward, three steps back'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6185333539779713130</id><published>2009-11-18T21:11:00.004+08:00</published><updated>2010-02-10T19:03:32.911+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>You want to start a tutorial; well, you know...</title><summary type='text'>
    Not as catchy as the Beatles' Revolution,
    even if the meter works.... oh well....


    Continuing from
    the
    first post in this tutorial. What do I think is important when starting
    to demonstrate some code? As with most writing, it depends on the audience.
    For the purpose of this series of posts, I'm assuming that you fit
    comfortably in or near the following:


    </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6185333539779713130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6185333539779713130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6185333539779713130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6185333539779713130'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/11/you-want-to-start-tutorial-well-you.html' title='You want to start a tutorial; well, you know...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6464297304740986582</id><published>2009-10-20T22:00:00.004+08:00</published><updated>2010-02-10T20:53:52.209+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='money'/><category scheme='http://www.blogger.com/atom/ns#' term='sip.phone'/><category scheme='http://www.blogger.com/atom/ns#' term='Stalinism'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='frustration'/><category scheme='http://www.blogger.com/atom/ns#' term='Singapore'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><category scheme='http://www.blogger.com/atom/ns#' term='wi-fi'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='hdb'/><category scheme='http://www.blogger.com/atom/ns#' term='controlled economy'/><title type='text'>Time v. Money v. Risk v. Frustration</title><summary type='text'>I just spent three hours beating my head against The Joys of Wi-Fi Networking. No doubt because it saved $50 or so, the HDB public-housing flat I live in here in Singapore (which are "affectionately" known as 'chicken coops' for their quality and structural integrity) didn't put telephone jacks in every room. Nor did they run conduit between rooms so that suchlike could be added later. The upshot</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6464297304740986582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6464297304740986582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6464297304740986582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6464297304740986582'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/10/time-v-money-v-risk-v-frustration.html' title='Time v. Money v. Risk v. Frustration'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5187197744840476831</id><published>2009-08-18T15:39:00.001+08:00</published><updated>2010-11-02T23:22:52.410+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='otherblog'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='post'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='gender'/><category scheme='http://www.blogger.com/atom/ns#' term='ageism'/><category scheme='http://www.blogger.com/atom/ns#' term='mismanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Responding while Forbidden; Gender and Other Issues in OSS and PHP</title><summary type='text'>This post is what would have been a response to a post on Elizabeth Naramore's blog, which she titled Gender in IT, OSS and PHP, and How it Affects Us *All*. Quite a good post, actually, with a long and often thoughtful (but as often thoughtless) comment thread following. I was hoping to respond to a comment on the post, but that apparently is no longer allowed, even though the "Leave a Reply" </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5187197744840476831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5187197744840476831' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5187197744840476831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5187197744840476831'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/08/responding-while-forbidden-gender-and.html' title='Responding while Forbidden; Gender and Other Issues in OSS and PHP'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-540960909053457823</id><published>2009-08-17T22:50:00.001+08:00</published><updated>2010-11-02T23:26:38.722+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='maturity'/><category scheme='http://www.blogger.com/atom/ns#' term='Kawasaki'/><category scheme='http://www.blogger.com/atom/ns#' term='improvement'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='policy'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><title type='text'>We Interrupt This Program...</title><summary type='text'>We interrupt this tutorial to interject an observation about goals, methods and promises. Goals we have for ourselves as people and as professionals; the method we use to pursue those dreams; perhaps most importantly, the promises we make, both to ourselves and to our customers, about what we're doing and why.

I consider this after reading the Website for some consultants who've done some (</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/540960909053457823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=540960909053457823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/540960909053457823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/540960909053457823'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/08/we-interrupt-this-program.html' title='We Interrupt This Program...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5168548080837528045</id><published>2009-08-11T10:53:00.007+08:00</published><updated>2010-11-02T23:29:24.585+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='obsolete'/><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Tutorials, best practices and staying current</title><summary type='text'>A gent by the name of Brian Carey has written a very nice little tutorial on "Creating an Atom feed in PHP", and gotten it published on the IBM DeveloperWorks site. In the space of about ten pages, Brian gives a stratospheric overview of what Atom is and why PHP is a good language for developing Atom-aware apps, and then gets into the tutorial - defining a MySQL database table to hold the data </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5168548080837528045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5168548080837528045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5168548080837528045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5168548080837528045'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/08/tutorials-best-practices-and-staying.html' title='Tutorials, best practices and staying current'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1367425260300544268</id><published>2009-08-06T16:29:00.001+08:00</published><updated>2010-11-02T23:33:30.678+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='automated testing'/><category scheme='http://www.blogger.com/atom/ns#' term='opensuse'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vm'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='suse'/><category scheme='http://www.blogger.com/atom/ns#' term='hypervisor'/><title type='text'>Smokin' Linux? Roll Your Own!</title><summary type='text'>As people who've encountered the "business end" of Linux have known for some time, the system (in whichever distribution you prefer, greatly rewards (some would say 'requires') tinkering and customisation. This can be done with any Linux system, really; some distros, like LinuxFromScratch and, to a lesser degree, Gentoo and its derivatives, explicitly assume that you will be customizing their </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1367425260300544268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1367425260300544268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1367425260300544268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1367425260300544268'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/08/smokin-linux-roll-your-own.html' title='Smokin&apos; Linux? Roll Your Own!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2790193118648895228</id><published>2009-08-04T21:20:00.001+08:00</published><updated>2010-11-02T23:40:21.381+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shaw'/><category scheme='http://www.blogger.com/atom/ns#' term='improvement'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='ZDNet'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='innovation'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='freedom'/><title type='text'>The Debate between Adequacy and Excellence</title><summary type='text'>I was clicking through my various feeds hooked into NetNewsWire, in this case The Apple Core column on ZDNet, when I came across this item, where the writer nicely summed up the perfectly understandable strategy Microsoft have always chosen and compared that with Apple and the Mac. Go read the original article (on Better Living without MS Office and then read the comment.

As I've commented on </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2790193118648895228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2790193118648895228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2790193118648895228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2790193118648895228'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/08/debate-between-adequacy-and-excellence.html' title='The Debate between Adequacy and Excellence'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4713871067855296517</id><published>2009-07-31T11:24:00.013+08:00</published><updated>2010-11-02T23:45:15.694+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><title type='text'>Web Standards DO Save, Then and Now</title><summary type='text'>It's been known in the Web-development community for several years now that well-designed, semantic, standards-compliant Websites use dramatically less resources (such as bandwidth) than 1997-era tangles of nested tables and invalid HTML. But it's still refreshing to read confirmation that that truth is pretty universally applicable - especially when that reading doesn't depend on what we now </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4713871067855296517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4713871067855296517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4713871067855296517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4713871067855296517'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/07/web-standards-do-save-then-and-now.html' title='Web Standards DO Save, Then and Now'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4532857398073074233</id><published>2009-07-20T12:54:00.007+08:00</published><updated>2010-11-02T23:53:40.422+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger.com'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='mea culpa'/><title type='text'>Tools, Continued</title><summary type='text'>
UPDATED 2 November 2010; see last paragraph.


This blog, fairly obviously, is published on blogger.com, which is now owned by Google. Blogger.com is geared primarily towards people who want to write but don't want to have to worry about the nitty-gritty technical details involved (such as HTML, CSS and so on). Sign up, click the 'New Post' button, and off you go...almost easier than falling out</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4532857398073074233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4532857398073074233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4532857398073074233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4532857398073074233'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/07/tools-continued.html' title='Tools, Continued'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4436738566397584667</id><published>2009-07-19T19:40:00.010+08:00</published><updated>2010-11-03T00:02:17.224+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='jobsdb'/><category scheme='http://www.blogger.com/atom/ns#' term='Singapore'/><category scheme='http://www.blogger.com/atom/ns#' term='job site'/><category scheme='http://www.blogger.com/atom/ns#' term='job search'/><title type='text'>Misadventures with Customer "Service": With Service like This, Why Bother?</title><summary type='text'>Doing a job search using various Websites became really popular about ten years ago as an easy way for candidates and companies to find each other without any (visibly obvious) middlemen directly involved. I understand that in some geographic and employment areas, it's still a useful tool. I've had myself registered on fewer than half a dozen for several years, even though my last 6 jobs were all</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4436738566397584667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4436738566397584667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4436738566397584667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4436738566397584667'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/07/misadventures-with-customer-service.html' title='Misadventures with Customer &quot;Service&quot;: With Service like This, Why Bother?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2199663934042863858</id><published>2009-07-14T09:42:00.006+08:00</published><updated>2010-11-03T00:05:19.537+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='apple mail'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby on rails'/><category scheme='http://www.blogger.com/atom/ns#' term='mail'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='applescript'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='entourage'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Expanding the Omniverse</title><summary type='text'>Anybody who's worked with me in about the last 25 years knows that I've been preaching the idea that software craftfolk should never stop learning. Further, I've always believed that learning new languages or tools is one of the easiest ways to accomplish this, keeping the mind supple and open to new ways of doing things. And by and large, I've kept this up, learning enough of a new or </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2199663934042863858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2199663934042863858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2199663934042863858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2199663934042863858'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/07/expanding-omniverse.html' title='Expanding the Omniverse'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2965774835901140699</id><published>2009-07-10T11:17:00.008+08:00</published><updated>2010-11-03T00:19:46.110+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>"You can have my...when you pry it out of my cold, dead hands"</title><summary type='text'>One of the, shall we say, unusual things about being in this line of work is that you develop stronger-than-is-healthy bonds to particular bits and pieces of technology, both hardware and software. For example, I think that anybody who's worked on a Mac as their main system for a year or so would take a catastrophic productivity hit if they were required to work in a Windows-only environment. </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2965774835901140699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2965774835901140699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2965774835901140699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2965774835901140699'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/07/you-can-have-mywhen-you-pry-it-out-of.html' title='&quot;You can have my...when you pry it out of my cold, dead hands&quot;'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6940639093089717901</id><published>2009-07-08T23:00:00.006+08:00</published><updated>2010-11-03T00:27:41.718+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>The Best Tool for the Job</title><summary type='text'>One of the nice things about growing up around (almost exclusively) men who were master mechanics, carpenters or other such highly skilled tradesmen was that I developed an appreciation both for "the best tool for the job at hand" and "making do with what's available" — and whichever of these applied, accomplishing the task at hand to the best of anyone's ability.


As I've progressed through my </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6940639093089717901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6940639093089717901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6940639093089717901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6940639093089717901'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/07/best-tool-for-job.html' title='The Best Tool for the Job'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8600789046334161413</id><published>2009-06-30T09:49:00.006+08:00</published><updated>2010-11-03T00:30:51.485+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='safari'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Another item from the "That's obvious - in hindsight" dept.</title><summary type='text'>Since upgrading to Safari 4 (why haven't you yet?), I ran into a problem with the single add-in that I've bothered keeping in Safari — Pith Helmet. If you're familiar with AdBlock Plus on Firefix, you've got the basic idea; an add-in to your browser(s) of choice that lets you block advertising, annoying Flash, or pretty much anything else you can identify by file name (e.g., "*.swf*) or by URL (</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8600789046334161413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8600789046334161413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8600789046334161413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8600789046334161413'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/06/another-item-from-thats-obvious-in.html' title='Another item from the &quot;That&apos;s obvious - in hindsight&quot; dept.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5558514477415283835</id><published>2009-06-27T16:43:00.007+08:00</published><updated>2010-11-03T00:32:30.464+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='test-driven'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Remember to test your testing tools!</title><summary type='text'>I've been doing some PHP development lately that involves a lot of SPL, or Standard PHP Library exceptions. I do test-driven development for all the usual reasons, and so make heavy use of the PHPUnit framework. One great idea that the developer of PHPUnit had was to add a test-case method called setExpectedException(), which should eliminate the need for you (the person writing the test code) to</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5558514477415283835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5558514477415283835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5558514477415283835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5558514477415283835'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/06/remember-to-test-your-testing-tools.html' title='Remember to test your testing tools!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4161969707171755497</id><published>2009-05-27T22:40:00.006+08:00</published><updated>2010-11-03T00:34:31.335+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='Eiffel'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='contract'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Santayana'/><title type='text'>News Flash: Microsoft Reinvents Eiffel, 18 Years On</title><summary type='text'>One of the major influences on the middle third of my career thus far was Bertrand Meyer's Eiffel programming language and its concept of design by contract. With such tools, for the first time (at least as far as I was aware), entire classes of software defects could be reliably detected at run time (dynamic checking) and/or at compile time (static checking). I worked on a couple of significant </summary><link rel='related' href='http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx' title='News Flash: Microsoft Reinvents Eiffel, 18 Years On'/><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4161969707171755497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4161969707171755497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4161969707171755497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4161969707171755497'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/05/news-flash-microsoft-reinvents-eiffel.html' title='News Flash: Microsoft Reinvents Eiffel, 18 Years On'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3810509711835099081</id><published>2009-05-14T11:10:00.009+08:00</published><updated>2010-11-03T00:41:18.055+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CICS'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='legacy systems'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='outsourcing'/><category scheme='http://www.blogger.com/atom/ns#' term='risk'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><title type='text'>Jaw-Droppers - Blast from the Past</title><summary type='text'>Just when you thought it was safe to forget that the 1970s ever existed... this gem shows up on the XML Daily Newslink, a mailing list I follow intermittently. (Actually, this was included in the XMLDN from Wed 11 Feb — an indication of how "closely" I've been following lately.)

Developing a CICS-Based Web Service
G. Subrahmanyam, G. Mokhasi, S. Kusumanchi; SOA World Magazine

Web services have </summary><link rel='related' href='http://in.sys-con.com/node/837728' title='Jaw-Droppers - Blast from the Past'/><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3810509711835099081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3810509711835099081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3810509711835099081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3810509711835099081'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/05/jaw-droppers-blast-from-past.html' title='Jaw-Droppers - Blast from the Past'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6368913590032043262</id><published>2009-05-06T22:27:00.008+08:00</published><updated>2010-11-03T00:43:29.059+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='Web development'/><category scheme='http://www.blogger.com/atom/ns#' term='zend'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><title type='text'>Professionalism, Web development, and giving oxy to morons</title><summary type='text'>Whereas a poor craftsman will blame his tools, poor tools will handicap even the most skilled craftsman.
As I insinuated in my previous post, I'm getting up to speed on the Zend Framework, the "900-kg elephant" of PHP application frameworks.

One major bone I have to pick with the ZF team is with regard to documentation: each time I've checked the site in the last couple of months, there's been </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6368913590032043262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6368913590032043262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6368913590032043262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6368913590032043262'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/05/professionalism-web-development-and.html' title='Professionalism, Web development, and giving oxy to morons'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-3570790752026381132</id><published>2009-04-16T23:40:00.006+08:00</published><updated>2010-11-03T00:47:04.030+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='anti-green'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='zend'/><category scheme='http://www.blogger.com/atom/ns#' term='2167-A'/><category scheme='http://www.blogger.com/atom/ns#' term='off-the-shelf'/><category scheme='http://www.blogger.com/atom/ns#' term='2167A'/><title type='text'>OMFG, or Holy Deforestation, Batman!</title><summary type='text'>As some of you know, I'm working on a book on Web development, using off-the-shelf tools (frameworks, template engines, JavaScript libraries, etc.) to leverage semantic, standards-compliant, accessible, search-friendly Websites. (That's more a matter of adjusting your development philosophy and workflow than anything else, but I digress).  As part of that, I'e been doing a (reasonably) </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/3570790752026381132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=3570790752026381132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3570790752026381132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/3570790752026381132'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/04/omfg-or-holy-deforestation-batman.html' title='OMFG, or Holy Deforestation, Batman!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5145944578587595906</id><published>2009-02-24T22:13:00.006+08:00</published><updated>2010-11-03T00:51:00.133+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ports'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='postgres'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='dokuwiki'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='mea culpa'/><category scheme='http://www.blogger.com/atom/ns#' term='bsd'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>Mac OS X is BSD Unix. Except when it's Different.</title><summary type='text'>One of the things that a BSD Unix admin learns to rely on is the "ports" collection, a cornucopia of packages that can be installed and managed by the particular BSD system's built-in package manager: pkgsrc for NetBSD, pkg_add for FreeBSD, and so on. In nearly all BSD systems, the port/package manager is part of the basic system (akin to APT under Debian Linux).

Mac OS X is BSD Unix "under the </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5145944578587595906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5145944578587595906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5145944578587595906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5145944578587595906'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2009/02/mac-os-x-is-bsd-unix-except-when-its.html' title='Mac OS X &lt;em&gt;is&lt;/em&gt; BSD Unix. Except when it&apos;s Different.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1570160854036803924</id><published>2008-12-23T20:25:00.006+08:00</published><updated>2010-11-03T00:56:22.486+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='gpg'/><category scheme='http://www.blogger.com/atom/ns#' term='extension'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='gpgmail'/><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='gnupg'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='mail'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Maybe not eating 'crow', specifically, but..... DUCK!!!</title><summary type='text'>As in, "bend over, here it comes again..."

One of the things I have greatly appreciated about the Mac, especially with OS X, is how simple and straightforward software management is, compared to Linux and especially Windows (where every system change is a death-defying adventure against great odds). Operating system or Apple-supplied apps need an update? Software Update is as painless as it gets</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1570160854036803924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1570160854036803924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1570160854036803924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1570160854036803924'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/12/maybe-not-eating-crow-specifically-but.html' title='Maybe not eating &apos;crow&apos;, specifically, but..... DUCK!!!'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5414933116943620298</id><published>2008-12-17T13:01:00.005+08:00</published><updated>2010-11-03T01:00:32.120+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Things that make you go 'Hmmmm', continued</title><summary type='text'>Very much picking up from the mindset expressed in my earlier post... with the knowledge that this could (and probably should) be broken up into at least three different rants...

I've been working heavily in Python for the past couple of months, regrettably letting some other projects slide a bit. Now done with that, I spent yesterday picking up where I'd left off in a moderately-sized, </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5414933116943620298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5414933116943620298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5414933116943620298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5414933116943620298'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/12/things-that-make-you-go-hmmmm-continued.html' title='Things that make you go &apos;Hmmmm&apos;, continued'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7615264350429302655</id><published>2008-12-16T23:33:00.006+08:00</published><updated>2010-11-03T01:01:52.668+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='freedom'/><title type='text'>Happy Updating....</title><summary type='text'>If you're a Windows usee with a few years' experience, you've encountered the rare, monumental and monolithic Service Packs that Micorosoft release on an intermittent basis (as one writer put it, "once every blue moon that falls on a Patch Tuesday"). They're almost always rollups of a large number of security patches, with more added besides. Rarely, with the notable (and very welcome at the time</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7615264350429302655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7615264350429302655' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7615264350429302655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7615264350429302655'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/12/happy-updating.html' title='Happy Updating....'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6718897321393568306</id><published>2008-12-03T18:09:00.007+08:00</published><updated>2009-07-20T17:31:48.256+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='sun'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Modern Tools and Archaic Practices Shouldn't Mix</title><summary type='text'>Sun have released NetBeans 6.5, which, among many other (potentially) useful and interesting features, claims to officially support Web development using PHP. This is, on the face of things, a major improvement from the situation under NB 6.1 and prior, which treated PHP essentially as other unsupported languages were treated: you could do raw text editing, but the features that are the entire </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6718897321393568306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6718897321393568306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6718897321393568306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6718897321393568306'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/12/sun-have-released-netbeans-6.html' title='Modern Tools and Archaic Practices Shouldn&apos;t Mix'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fVBLwXlbaRU/STZt9srWs0I/AAAAAAAAABw/86RbJTLkhXk/s72-c/nb65-php-aa-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-736358835456645031</id><published>2008-10-12T17:57:00.006+08:00</published><updated>2009-07-20T18:05:47.412+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='test-driven'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Things that make you go 'Hmmmm'</title><summary type='text'>...or 'Blechhhh', as the case may be...

I've been using PHP since the relative Pleistocene (I recently found a PHP3 script I wrote in '99). I've been using and evangelising test-driven development (TDD) for about the last five years, usually with most such work being done in C++, Java, Python or other traditionally non-Web languages (with PHP really only being amenable to that since PHP 5 in </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/736358835456645031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=736358835456645031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/736358835456645031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/736358835456645031'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/10/things-that-make-you-go-hmmmm.html' title='Things that make you go &apos;Hmmmm&apos;'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8858597140721019331</id><published>2008-08-15T21:58:00.004+08:00</published><updated>2009-07-20T18:03:10.371+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='BS'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>( C/C++ != C) &amp;&amp; (C/C++ != C++)</title><summary type='text'>A thought which ran through my mind as I was browsing some job requirements recently...

Why are recruiters still hung up on "C/C++", years after even Microsoft got around to shipping a reasonably compliant compiler (depending on your prejudices and code needs, anywhere from Visual Studio 6 in 1998 to VS.NET 2003)?

"C/C++" started life (or zombiehood) as a Microsoft marketing term back in the </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8858597140721019331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8858597140721019331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8858597140721019331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8858597140721019331'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/08/cc-c-cc-c.html' title='( C/C++ != C) &amp;&amp; (C/C++ != C++)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7622677656150434455</id><published>2008-08-12T23:02:00.005+08:00</published><updated>2009-07-20T18:20:26.541+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='test-driven'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='tao'/><category scheme='http://www.blogger.com/atom/ns#' term='face'/><category scheme='http://www.blogger.com/atom/ns#' term='egg'/><title type='text'>Test Infection Lab Notes</title><summary type='text'>In a continuing series...

As current and former colleagues and clients are well aware, I have been using and evangelizing test-driven development in one flavor or another since at least 2001 (the earliest notes I can find where I write about "100% test coverage" of code). To use the current Agile terminology, I've been "test-infected".

My main Web development language is PHP 5.2 (and anxiously </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7622677656150434455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7622677656150434455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7622677656150434455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7622677656150434455'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/08/test-infection-lab-notes.html' title='Test Infection Lab Notes'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7392884821296089899</id><published>2008-07-23T22:58:00.008+08:00</published><updated>2010-11-03T01:05:22.489+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='shareware'/><category scheme='http://www.blogger.com/atom/ns#' term='gnu'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='freedom'/><title type='text'>Differences that Make Differences Are Differences</title><summary type='text'>(as opposed to the Scottish proverb, "a difference that makes no difference, is no difference")

This is a very long post. I'll likely come back and revisit it later, breaking it up into two or three smaller ones. But for now, please dip your oar in my stream of consciousness.

I was hanging around on the Freenode IRC network earlier this evening, in some of my usual channels, and witnessed a </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7392884821296089899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7392884821296089899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7392884821296089899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7392884821296089899'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/07/differences-that-make-differences-are.html' title='Differences that Make Differences Are Differences'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8656817207220478394</id><published>2008-07-22T21:46:00.005+08:00</published><updated>2010-11-03T01:10:43.847+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='best practices'/><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='professionalism'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Best Practices Alleged; Your Mileage May Vary</title><summary type='text'>Yahoo! quite often releases interesting/useful/thought-provoking tools for people doing "serious" Web development. I add the modifier to specify that we're usually not talking about the Joe Leet three-page magnum oopus; a lot of what they do and talk about really only pays huge returns when you work with a site as large and complex as, well, Yahoo!.

Recently, they brought out a couple of nifty </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8656817207220478394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8656817207220478394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8656817207220478394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8656817207220478394'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/07/best-practices-alleged-your-mileage-may.html' title='Best Practices Alleged; Your Mileage May Vary'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7564912199343221081</id><published>2008-07-11T23:29:00.005+08:00</published><updated>2009-07-20T18:56:06.685+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='su'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='attack possible'/><title type='text'>Does anybody else have a problem with this?</title><summary type='text'>If you've got an ssh connection to a Debian or Ubuntu Linux box handy, and you have sudo privileges on that box, try this little experiment:
ssh to your box as an ordinary user;sudo su to get a root prompt (you should be asked for your password - this is important);as soon as you get the root prompt, exit back to normal user, then exit your ssh session entirely.Now, here's the scary part:
ssh to </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7564912199343221081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7564912199343221081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7564912199343221081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7564912199343221081'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/07/does-anybody-else-have-problem-with.html' title='Does anybody else have a problem with this?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1472096743091399155</id><published>2008-07-10T18:55:00.009+08:00</published><updated>2010-11-03T01:13:38.591+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='ZDNet'/><category scheme='http://www.blogger.com/atom/ns#' term='Web trash'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='JobStreet'/><title type='text'>Standard Standards Rant, Redux: Why the World-Wide Web Isn't "World-Wide" Any More</title><summary type='text'>The "World Wide Web", to the degree that it was ever truly universal, has broken down dramatically over the last couple of years, and it's our mission as Web development professionals to stand up to the idiots that think that's a Good Thing. If they're inside our organization, either as managers or as non-(Web-)technical people, we should patiently explain why semantic markup, clean design, </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1472096743091399155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1472096743091399155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1472096743091399155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1472096743091399155'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/07/standard-standards-rant-redux-why-world.html' title='Standard Standards Rant, Redux: Why the World-Wide Web Isn&apos;t &quot;World-Wide&quot; Any More'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1419666530205579805</id><published>2008-07-02T21:18:00.008+08:00</published><updated>2010-11-03T01:15:41.605+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='WS-*'/><category scheme='http://www.blogger.com/atom/ns#' term='Web service'/><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='zend'/><category scheme='http://www.blogger.com/atom/ns#' term='craft'/><category scheme='http://www.blogger.com/atom/ns#' term='craftsmanship'/><title type='text'>It's easy to think there's a war going on...</title><summary type='text'>(playing softly, in the background of my mind, The Beatles'Revolution)

....between the Web developers promoting nice, clean development with RESTful, semantic (X)HTML judiciously enhanced with CSS and JavaScript (henceforth often referred to as the "Army of Light") and those using "popular", "mainstream" frameworks such as CakePHP and the Zend Framework, who route everything through a Front </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1419666530205579805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1419666530205579805' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1419666530205579805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1419666530205579805'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/07/its-easy-to-think-theres-war-going-on.html' title='It&apos;s easy to think there&apos;s a war going on...'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8393275677369983326</id><published>2008-06-28T00:22:00.005+08:00</published><updated>2010-11-03T01:20:05.540+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='policy'/><category scheme='http://www.blogger.com/atom/ns#' term='maturity'/><category scheme='http://www.blogger.com/atom/ns#' term='improvement'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><category scheme='http://www.blogger.com/atom/ns#' term='engineering'/><title type='text'>It's Time to Grow Up</title><summary type='text'>Adrian Kingsley-Hughes over at ZDNet has a very interesting post up, titled "Sticking with XP / Upgrading to Vista / Waiting for Windows 7 / Switching to Mac or Linux — There’s no single right answer". He puts forward the blitheringly-obvious elephant-in-the-room answer to the perennial food-fight question, "Which system is best?" Namely, "use what works for you."

As I read through the post and </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8393275677369983326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8393275677369983326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8393275677369983326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8393275677369983326'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/06/its-time-to-grow-up.html' title='It&apos;s Time to Grow Up'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-2388494484317687894</id><published>2008-06-24T19:10:00.006+08:00</published><updated>2010-11-03T01:23:17.045+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='domain'/><category scheme='http://www.blogger.com/atom/ns#' term='ICANN'/><category scheme='http://www.blogger.com/atom/ns#' term='internet explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='ill-seeming'/><category scheme='http://www.blogger.com/atom/ns#' term='opaque'/><category scheme='http://www.blogger.com/atom/ns#' term='explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='defective'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='TLD'/><title type='text'>Browser Support: Why "Internet Explorer 6" Really Is A Typo</title><summary type='text'>(Experienced Web developers know that the correct name for the program is Microsoft Internet Exploder — especially for version 6.)

Case in point: I was browsing the daringfireball.net RSS feed and came across an article on the 37signals blog talking about Apple's new MobileMe service dropping support for IE6. The blog is mostly geared towards 37signals' current and potential clients who, if not </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/2388494484317687894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=2388494484317687894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2388494484317687894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/2388494484317687894'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/06/browser-support-why-internet-explorer-6.html' title='Browser Support: Why &quot;Internet Explorer 6&quot; Really Is A Typo'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-4189494110429880791</id><published>2008-06-19T11:16:00.005+08:00</published><updated>2010-11-03T01:26:56.507+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='analysis paralysis'/><title type='text'>Good Things are good things....aren't they?</title><summary type='text'>Anybody who's worked with me over the last 20 years or so knows that I generally evangelize conforming to standards when they exist, are relevant and widely agreed on. As the famous quote from Andrew Tanenbaum (in Computer Networks, 2/e, p. 254) reminds us, "The nice thing about standards is that you have so many to choose from." When "standards" are used to promote vendor agendas (e.g., </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/4189494110429880791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=4189494110429880791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4189494110429880791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/4189494110429880791'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/06/good-things-are-good-thingsarent-they.html' title='Good Things are good things....aren&apos;t they?'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1189322101298614146</id><published>2008-06-16T13:21:00.008+08:00</published><updated>2010-11-02T22:59:17.121+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='gnu'/><category scheme='http://www.blogger.com/atom/ns#' term='g++'/><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><category scheme='http://www.blogger.com/atom/ns#' term='confused'/><category scheme='http://www.blogger.com/atom/ns#' term='Carbon'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='cpptest'/><category scheme='http://www.blogger.com/atom/ns#' term='compiler'/><title type='text'>g++ != gcc (arrrrrrgh!)</title><summary type='text'>Coming back up to speed on Mac programming, now that I've finally got a shiny new iMac. Their XCode IDE looks like a great tool (Objective C, C++, C, etc., etc.), but I was hacking around building some simple test code. Being a fully-certified Unix operating system, of course that's an easy way to get something done while minimizing the number of known and unknown unknowns that need to be dealt </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1189322101298614146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1189322101298614146' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1189322101298614146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1189322101298614146'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/06/g-gcc-arrrrrrgh.html' title='g++ != gcc (arrrrrrgh!)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-7712787949371310501</id><published>2008-05-10T13:39:00.003+08:00</published><updated>2010-11-03T01:29:37.415+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='wxwidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>ANFSD: starting a series to scratch an itch</title><summary type='text'>(And Now For Something Different, for the 5LA-challenged amangst you...)

I've made my living, for about half my career, on the proposition that if I stayed (at least) three to six months ahead of (what would become) the popular mean in software technology, I'd be well-positioned to help out when Joe Businessman or Acme Corporation came along and hit the same technology — with the effect of "</summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/7712787949371310501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=7712787949371310501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7712787949371310501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/7712787949371310501'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/05/anfsd-starting-series-to-scratch-itch.html' title='ANFSD: starting a series to scratch an itch'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-8599058876636321238</id><published>2008-05-06T20:55:00.004+08:00</published><updated>2010-11-03T01:31:07.495+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Oh. Mah. Gawwwwwwwwd.</title><summary type='text'>You no longer need to reboot a running Linux system to apply security patches to it.

Check it out.

Excuse me whilst I pick my jaw up from the sub-sub-sub-basement floor. If this checks out in the field, on multiple distros, then a lot of sysadmins are going to be able to get a lot more sleep at night. And the comment by one David Pottage:
This should be good for distro kernels.

Just think if </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/8599058876636321238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=8599058876636321238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8599058876636321238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/8599058876636321238'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/05/oh-mah-gawwwwwwwwd.html' title='Oh. Mah. Gawwwwwwwwd.'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-6133403323476293125</id><published>2008-05-03T13:07:00.006+08:00</published><updated>2010-11-03T01:39:48.576+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='industry'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><category scheme='http://www.blogger.com/atom/ns#' term='declining standards'/><category scheme='http://www.blogger.com/atom/ns#' term='competence'/><title type='text'>Rant - can people at least engage brains before asking stupid questions? (Or: Paging Andy Rooney)</title><summary type='text'>I read several different development blogs and message boards, such as those associated with phpclasses.org, codeproject.com, IBM DeveloperWorks, and so on. Usually pretty useful both for learning new techniques and keeping an eye on what other people are doing. Several of the boards, particularly on CodeProject, have been getting hot and bothered lately about the declining quality of questions </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/6133403323476293125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=6133403323476293125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6133403323476293125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/6133403323476293125'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2008/05/rant-can-people-at-least-engage-brains.html' title='Rant - can people at least engage brains before asking stupid questions? (Or: Paging Andy Rooney)'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-5288880473030341986</id><published>2007-12-01T14:29:00.003+08:00</published><updated>2010-11-03T01:40:40.536+08:00</updated><title type='text'>Buzz About the Code Buzzards</title><summary type='text'>Scott Hackett over at SlickEdit has a blog entry where he talks about code scavenging as "a new software development methodology."  The point being, of course, that code scavenging isn't new at all; it's at least as old as the UNIVAC I. Every new, and not so new, software developer has used it at one time or another, usually for quick bootstraps to get a specific part of the software under </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/5288880473030341986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=5288880473030341986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5288880473030341986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/5288880473030341986'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2007/12/buzz-about-code-buzzards.html' title='Buzz About the Code Buzzards'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17958827.post-1434247238126023106</id><published>2007-09-18T10:35:00.002+08:00</published><updated>2010-11-03T01:50:48.415+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CMMI'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Improvement as opposed to Change</title><summary type='text'>A link on the Agile CMMi blog had some very interesting things to say about a gentleman named Brian Lyons, the CEO (as well as CTO and founder) of Number Six, a Vienna, Virginia (Washington, DC area) software technology services/business consulting firm. Number Six quite obviously 'get' the concepts behind Agile CMMi, Hillel Glazer of the blog wrote. Interested, I flipped over to their site to </summary><link rel='replies' type='application/atom+xml' href='http://archlever.blogspot.com/feeds/1434247238126023106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17958827&amp;postID=1434247238126023106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1434247238126023106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17958827/posts/default/1434247238126023106'/><link rel='alternate' type='text/html' href='http://archlever.blogspot.com/2007/09/improvement-as-opposed-to-change.html' title='Improvement as opposed to Change'/><author><name>Jeff</name><uri>http://www.blogger.com/profile/12760673999356987827</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fVBLwXlbaRU/SKWLNXvFufI/AAAAAAAAABQ/8bldnt3vwfE/S220/faceonly.jpg'/></author><thr:total>0</thr:total></entry></feed>
