First Crack 111. Patricia Cumbie’s ‘Where People Like Us Live’

From the unpublished First Crack archives, I bring you a conversation I recorded in July 2007 with Minneapolis novelist, Patricia Crumbie on her then – yet to be published – young adult novel, Where People Like Us Live.

As you can tell from the links above, her book is now available. 🙂

In our conversation, we cover the book itself – a pretty tough topic that makes me uncomfortable, and how a course at the Loft Literary Center helped her change and polish the book to help it find a publisher.

[9 min].

Re-grarian

In March 2007 (18 months ago), I wrote the following 2 sentences – thinking there might be an interesting short story in behind them. A kind of eco-post-apocalyptic-new-world-esque thing. The contemporary version of re-visiting the grandparents’ abandon, run-down farm in Iowa.

“Future world where ex-urbs are re-claimed by the government and turned back into farmland to feed American citizens and supply the nation’s energy. The story’s from the perspective of someone watching their parents McMansion, on a cul-de-sac, being demo’d to make room for a soy bean field.”

That initial scene stuck with me, longing to find a reason for these changes to be possible and necessary.

ELSEWHERE:

“The government looking at expanding a pioneering scheme in Flint, one of the poorest US cities, which involves razing entire districts and returning the land to nature.” – By Tom Leonard in Flint, Michigan , Telegraph UK

Mass foreclosure with the federal government picking up the tab seems like a good fit.

13.986

Driving back from WI this weekend, the car had alerted us a number of times we were running low on fuel.

We didn’t stop.

Until we reached the station closest to home (albeit one a few cents higher than the one we passed a few minutes earlier).

The car has a 14 gallon tank. 14 hundredths of a gallon remained.

“I told you we’d get home, I didn’t say it’d be pretty.”

I think some variation of this story has been told a thousand times this past week and will be told a thousand times more over the next 6 months.

Charging for the Silver Lining

“Skydeck is now focusing on building features that it can charge for, instead of free services that attract users but not revenue.” – Brad Stone, New York Times

Thank [your-preferred-deity-here].

You know I have a pet peeve with ‘businesses’ where the metric of success doesn’t start with a $. Perhaps Web 2.0 will end the same way as the ‘first version’ – a huge shake-out wiping places with funny names off the web because they simply weren’t sustainable.

Though, I believe now is different for 1 major reason – $$$. Or more precisely – $. The amount of money, time, energy, effort to maintain a modestly successful (or even not at all successful) project is small. Miniscule. Be-your-own-VC-small.

Add a little ad-revenue atop (not my preferred method, but it works for others I know) that and expenses are covered. Actually transform ‘users’ into customers – priceless. And well positioned for sunnier times. Fun-damentals.

Autumn, Time to Start Plowing the Fields

After proving that it’s autumn – or more specifically – fall, the Universe is now sending me a very different message.

A message of opportunity, of motivation, of determination, of persistence, of personal happiness.

“I think we may be on the verge of the greatest days of the United States in my adult life…” – Dave Winer

“Are you going to use your power for good….or for Awesome?” – Giles Bowkett

“If I said you could have another go [at life], just like you asked, but it’d cost you at least half your lifespan, would you take it anyway?”
“Yes.”
“Well, better get started then.”

– Cayenne Chris

“Apply VC portfolio strategy to yourself.” – Dan Grigsby

“A programmer can sit down in front of a computer and create wealth.” – Paul Graham

Factor in autumn being my favorite season, the neighbors prepping their lawns for winter, and Cullect getting more usage, and I see only opportunity ahead.

More pessimistically – we can only go up from here.

Wolf’s Den

This weekend, I popped by my alma mater for a few hours to briefly catch up with some people that went through the same foreign exchange program I did. Of the few (of hundreds) that brought themselves to a small, rural Wisconsin town from the far reaches of the globe – there are a handful I have a great fondness for.

These are the people that were successfully developing interfaces and other digital media professionally before I knew it was even an option. People that leave a wake.

The whole time, Hugh Macleod‘s above cartoon was stuck in my head 1.

I spent the drive home reflecting on my decade-long path and was getting a little down on myself that ‘home’ wasn’t some place ‘exotic’. That despite my many times across the ocean, I’m blocks from where my family had roots for 110 years. Making the shear possibility, of ever calling a distant land home feel more distant than ever.

Then as I pulled around the corner, the boy spotted me, and ran around the yard to greet me in the drive way. Laughing and screaming the whole way.

Home is wherever I hear his laugh.

Elsewhere:

“I’ve always, as an adult, lived in a place where I was a transplant, and other people were natives. In NY, I am a native. I actually live in the place where I come from. There are small cues. Like the smell of the ocean at sunrise, and how it reminds me of waking up in my grandmother’s house in Rockaway. ” – Dave Winer

1. The appropriate-ness of it didn’t come through until I re-read his post a few moments ago.

Picky Password Policy Pet Peeve

Back a few years ago, I was setting up some web apps for a friend and needed his password..

“Oh, try my non-sensitive password: ‘basketball'”

Sure enough, ‘basketball’ got me in.

That exchange was a reminder that there are different degrees of security and different comfort levels of risk associated with each of those degrees.

One persons’ ‘basketball’ is another’s ‘vaj/YfS35S)*’

This difference even exists between the service provider and the person using the service – as J Wynia describes.

Computers are really good at generating random, unguessable strings, people aren’t.

If a service has any character requirements on a password, that service should – upon request – generate passwords fulfilling those requirements. Otherwise, take what the people want to use as their password.

Everything Else You Need to Run a Web App

As a reminder on perspective and complexity, here’s the ongoing list of systems I’ve configured for Cullect that aren’t Ruby on Rails:

  • DNS
  • Web Server: robots.txt
  • Web Server: .htaccess
  • Web Server: Virtual Domains
  • Database Server: MySQL
  • Caching Servers: Memcached, distributed across 2 boxes

And this doesn’t even crack the surface of the systems Joyent’s Jason Hoffman lists out in his Scaling Rails from the Bottom Up presentation.

A little perspective setting is always good.

There’s a network of systems all interconnected. When one of them isn’t working right, a completely other system could be the culprit. A system you’re not an expert at. A system you need a new hammer for.

How To: Build a Wiki with Ruby on Rails – Part 2

Back in Part 1 of Building a Wiki with Ruby on Rails, we built the core wiki engine.

Time to add some syntax formatting.

These days, I’m pretty enamored of Haml, it’s more like HTML (unlike many other formatting engines) and it’s fast to write (unlike many other formatting engines).

1. Install Haml

Haml installs as a gem…1
gem install --no-ri haml
and a plugin…
haml --rails path/to/your/wiki

2. Create Your Haml View

Open up app/views/show.html.erb
and convert it to Haml. Replacing it to:

.content
%h1= @page.title.gsub('_', ' ')
= link_to('Edit', page_edit_path(:page_title => @page.title))
= link_to('History', page_history_path(:page_title => @page.title))
= "Last Updated #{time_ago_in_words(@page.revisions.last.created_on)} ago by #{Person.find(@page.revisions.last.person_id).name}"
%p= auto_link(@page.revisions.last.parsed_contents)

Now, your wiki should look exactly like it did before we plugged in Haml.

3. Add Haml Support for Revisions

Open up app/models/revision.rb and update def parsed_contents with:

def parsed_contents
contents = contents.gsub(/(w*_w*)/) {|match| "<a href='#{match.downcase}'>#{match.gsub('_', ' ')}</a>"}
h = Haml::Engine.new(contents)
h.to_html
end

4. Try It Out

Load up a page in your wiki, click ‘edit’, and add in some simple Haml, something like:

%strong this should be bold

5. Add in Some More (non-Haml) Formatting

Once you’re comfortable with Haml, maybe add in some other simple formatting rules into revision.rb

#Auto-renders any image URL
contents = self.contents.gsub(/s(.*.(jpg|gif|png))s/, '<img src="1"/>')

# Bolds text inside asterisks
contents = contents.gsub(/*(.*)*/, '<strong>1</strong>')

# Wraps <code> around text inside '@'
contents = contents.gsub(/@(.*)@/, '<code>1</code>')

# Blockquotes text inside double-quotes
contents = contents.gsub(/s"(.*)"s/, '<blockquote>"1"</blockquote>')

# Italicizes text inside underscores
contents = contents.gsub(/s_(.*)_s/, '<em>1</em>')

6. Make it Better

After playing around with Haml and other formatting, you’ll quickly see some quirks – some room for improvement. Go for it, and let me know when you get something interesting.

1. Remember to vendor your gems.