# Some shoes to fill

**URL:** <https://www.ruby-forum.com/t/some-shoes-to-fill/182575>\
**Category:** Ruby\
**Created:** [January 30, 2010, 6:30am UTC](https://www.ruby-forum.com/t/some-shoes-to-fill/182575 "2010-01-30T06:30:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [January 30, 2010, 6:30am UTC](https://www.ruby-forum.com/t/some-shoes-to-fill/182575/1 "2010-01-30T06:30:24Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [January 30, 2010, 9:39pm UTC](https://www.ruby-forum.com/t/some-shoes-to-fill/182575/2 "2010-01-30T21:39:46Z")

</div>

On Sat, Jan 30, 2010 at 5:30 AM, Phlip [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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.

While this is all ancient history now, the goal behind hackety hack was  
to  
create accessible tools for allowing kids to learn programming. \_why was  
quite explicit about reducing all barriers to entry - to the point of  
ensuring  
that many sophisticated activities could be accomplished in one line of  
HH code.

Bundling the ruby interpreter was possibly a necessary evil, a  
bootstrapping  
activity in meeting HHs initial aims. The fact that the Ruby community  
got  
excited about doing real work with Shoes is secondary to the projects  
original aims.

I would also dispute the ease of bundling Shoes as a gem, especially  
considering the target market. I find explaining gems to  
adults[http://richardconroy.blogspot.com/2009/11/ruby-on-windows-rant-and-call-to-action.html](http://richardconroy.blogspot.com/2009/11/ruby-on-windows-rant-and-call-to-action.html)tricky  
enough, never mind the little ones.

I have had a mix of feelings over \_why’s exit from the Ruby community  
(and the internet to boot), and the scorched earth policy he took to his  
own creations.

But Hackety Hack was Important. It leaves a bad taste in the mouth that  
that there was no changing of the guard or transfer of ownership.

regards,  
Richard.

---

<div class="post-metadata">

**Author:** ![Phlip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/ed8c4c/32.png) [@Phlip](https://www.ruby-forum.com/u/Phlip)\
**Post date:** [January 31, 2010, 7:46am UTC](https://www.ruby-forum.com/t/some-shoes-to-fill/182575/3 "2010-01-31T07:46:02Z")

</div>

Oh, btw…

XKCD’s truly awesome Spirit Rover episode:

[xkcd: Spirit](http://xkcd.com/695/)

My feeb attempt at a reply:

[http://penbird.tumblr.com/post/362748698/xkcd2](http://penbird.tumblr.com/post/362748698/xkcd2)
