Category Archives: Uncategorized

Two Beautiful Things

Here are a couple of pages from my journal for today. These are two things I find beautiful, have studied, and can draw… but have only begun to understand.


Click for larger image

The formula on the left is the Y Combinator, derived in Ruby, by Tom Moertel. His writeup and explanation are on raganwald.com. The owl is Aurora, a barn owl who lives and performs daily at Tracy Aviary.

Having time to just noodle around in a journal is something I’ve missed immensely. So great to have time for a life again.

How to Install RSpec and RSpec-rails

I’ve done this so many times this week that I’m writing it down here where I can Google it later. What I’m looking for is the specific three commands you type to install rspec and rspec-rails as plugins into my rails project.

To find this data normally, I do this:

  1. Go to http://rspec.info because that’s the URL I can remember.
  2. Click on Spec::Rails in the menu bar.
  3. Click on Install in THAT menu bar.
  4. This takes you to a page that tells you that the Install instructions are no longer here, they’ve moved to http://wiki.github.com/dchelimsky/rspec/rails
  5. Hooray! THIS is the page you want to be at. Sure enough, scroll down to see

Okay, now… ready for the kicker? This documentation is ALSO out of date. (There’s a crash bug in tag 1.2.9 when you call model.should be_valid.) As of this writing, if you clone the rspec-rails repo and examine the tags, you will see that 1.3.2 is available. So here’s the updated command. For now.

ruby script/plugin install git://github.com/dchelimsky/rspec.git -r 'refs/tags/1.3.2'
ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git -r 'refs/tags/1.3.2'
ruby script/generate rspec

…But lately I just get the latest and it seems to work:

ruby script/plugin install git://github.com/dchelimsky/rspec.git
ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git
ruby script/generate rspec

Peer Ethos

I’ve been hit in the head repeatedly with some epiphanic lightning recently.

Recently Giles Bowkett blogged “Right now I’m stuck between two competing ideas. The ideas are superficially opposite, which bothers me a great deal, because I think they both contain some truth.”

The competing ideas come first from Derek Sivers: Shut up! Announcing your plans makes you less motivated to accomplish them.

and second from Dallas Travers: “If you sheepishly talk about your acting career only in safe environments after much poking and prodding, expect your goals to be reached just some of the time and only in safe environments.”

In an offline discussion, Giles wrote: peer pressure is important, although I’m searching for a new term for peer pressure, because it’s not really about pressure—it’s more like peer subconscious feedback.

There is a very clear delineation between these thoughts. What they share in common is a group of peers: people you would tell your intentions to, people you would announce your goals to. But why is one case bad and the other good?

Simple. In the first case, you have this crazy idea. You really need to go do something about it, and it’s ticking away in the back of your head, bugging you to get it done. When you blurt it out to your peer group, you are doing enough of something about it to scratch that itch, and you no longer need to follow through with the actual work. This is especially true of writers; you should never talk about a story idea until it’s written. An untold story fires the mind and drives you to write, but once you tell somebody your clever idea, you no longer have the need to tell your story. I have recently learned that I can’t talk about something on Twitter if I need to blog about it. Twitter is too short to really explore a topic, but once I tweet I no longer have any need to get the idea out there.

The second case is very different, however. When my wife and I decided to start the adoption process, we told everybody we knew. The process is long and discouraging, but every time we see friends they always ask us, “So… how’s the adoption coming along?” In the second case an expectation was created with our peer group that we need to satisfy. At best, outstanding, unmet expectations niggle away at the back of our minds incessantly; at worst they hook into our very tribal identities. We must satisfy or reject the expectations placed on us by others or go mad.

Giles, I have your word for you: Peer Ethos.

In rhetoric, the Greeks used “ethos” to describe “argumentation by character”. It has to do with how much we trust and accept the arguer. It’s very much a tribal identity thing, but here’s the interesting bit: ethos means “accustomed place” or “habitat”. It means psychological or social environment. So ethos, in argumentation, really just means whether or not you meet the cultural expectations of your listener.

I like this concept. It’s succinct, yet loaded with contextual information:

1. Participating in your peer ethos means that you understand that cultural expectations are placed upon you by your peers.

2. Because ethos also means character, the cultural expectations aren’t just about what you do, but about who you are. There is an incredibly strong motivator available to us here.

3. (For intermediate readers) Because you can choose your peers, you can change your peer ethos. You can examine the kind of character demands that your peer ethos places on you, and consciously seek out folks who will help you get where you need.

4. (For advanced readers) Because cultures are living ecosystems, and because you contribute to it as much as you draw from it, you can change the culture of your peers.

Peer ethos. I can’t begin to tell you how excited this makes me.

But wait! There’s more! (I seriously can’t begin to tell you how excited this makes me.)

Ethos is the same word we get “ethics” from. Ethics are the ethos of an entire culture: what is acceptable, what is good, what is right. This has always bothered me, because good and evil, right and wrong are unchanging concepts… yet our culture’s ethics have been continuously shifting and changing. 30 years ago it was ethical to smoke. 50 years ago it was ethical to castrate gays. 150 years ago it was ethical to inject heroin, own blacks, and shoot mormons.

Ethics, then, change over time. But do you see it? Do you SEE it? Our culture’s ethos draws from US as much as we draw from it!

Get busy, guys. Your peer ethos needs you.

Drive

I like to synthesize ideas by taking disparate concepts, putting them in a bag and shaking it up. One difficulty that often arises is that in order for me to communicate these synthesized ideas, you need to be up to speed on the underlying concepts.

One big concept bouncing around in my head is the notion of what motivates us. I’m not talking about carrot-and-stick here, I’m talking about things that electrify our souls: things that bounce us out of bed in the morning, engage us joyfully all day and then keep up at night wondering about what the next day will bring.

Dan Pink has a pretty good insight into this. This animation is excellent, but incomplete; if you like it go to YouTube and watch the full version of his talk.