From: Phlip Date: 2010-01-30T14:30:08+09:00 Subject: some shoes to fill... Sorry about the _why thread, but I got to the party late. (I was unluckily having an emergency job hunt last August, and then switched to Django, so I didn't notice then when _why abruptly switched careers and, apparently, persona.) But just today, I felt like displaying an image file and edit a pathname, so I installed the shoes that came with my ubuntu and went to town. Then I discovered that, inside a Shoes app, Pathname#dirname returned nil. I commented out all the Shoey stuff and ran the app as ruby, and Pathname#dirname worked. One of my personal technical style guidelines is all filesystem paths of any time shall always reside in Pathnames, never strings. Style guidelines are good - they help a project grow while remaining clean. Folks, _why considers himself lucky because he has the stamina, braincells, and apparent free time to hacketyhack his way, cross country, blazing new trails. However, at the top of the list of things Shoes did wrong was cloning the entire environment, including ruby, AND including the installer. That's not DRY. Shoes should have been a simple gem. It could still be. Make no mistake, the idea of attaching a low-level display driver (cairo) directly to a high-level language thru a take-no-prisoners DSL is brilliant. And, despite that is exactly the kind of situation I have researched for years how to TDD, _why should not have rejected my offer to help there. I suspect his shoes project passed its inflation phase and then bogged down in trivia and bugs, like any project without developer tests. That's the technical lesson for everyone in this episode. Mr _why, wherever you are, someone wise once said if you are not having fun, you are not doing anyone, anywhere, any good. If proving to the 'net that you are having fun is fun, do it. And if doing something else is, then go ahead do that, instead. Life goes on within you and without you. -- Phlip http://twitter.com/Pen_Bird