Skip to content

Instantly share code, notes, and snippets.

@tswicegood
Created July 16, 2010 14:57
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tswicegood/478457 to your computer and use it in GitHub Desktop.
Save tswicegood/478457 to your computer and use it in GitHub Desktop.

"Other developers are just like us - weird"

"If you ever need to deploy Django, you're good. If you know Capistrano and Unicorn they've got rip-offs of all that stuff."

"I think we should all admit we're horrible coders and move on" "We're all drug addicts - we're fighting methods..."

"It's easy to learn to play the guitar and be able to play Bob Dylan and Weezer and never get better."

"This is basically a talk that was given 30 years ago. We just have to keep giving it every few years because young guys come along and forget it."

"There's a difference between distributing software and releasing it."

"[the lieutenant model] might be overkill if you have three contributors, for example."

"Even though this is a Ruby conference and we all do open source with our closed iPhones and Macs..."

  • No LICENSE file
  • Installation - a lot of times the installation process holds software back
    • MySQL and Postgres are an example - MySQL is easy to install, Postgres isn't
    • The quick start is what's really important - the Rails 15 minute blog as an example
    • jQuery noConflict as an example... "it's really innocent.... it's like "come try me""
    • sudo gem install <foo> doesn't work if you're a CLI tool
  • Lack of examples
    • ASIHttpRequest has excellent docs
    • All common tasks are covered
  • Having a Public API is a good thing
    • A list of methods that don't change - not something that has a special keyword, but a social thing
    • If you're using RDoc - strip out all the internal stuff and only document the public APIs, then RDocs become useful
  • Manuals
    • ronn - markdown file to manpages
    • In Linux - it's considered a bug if there's not a manpage
  • Dependencies
    • I don't even know if I want to wade into this... cause it sucks
  • Expectations
    • If a project says it does one thing, and you can't make it - your expectations are let down
  • Projects that aren't maintained
    • Say if you don't maintained
    • Leave it there - but say "no longer maintained, looking for a good home."
  • Features
    • It's too easy to add new features
    • Encourage plugins
    • It's much harder to remove a feature
    • If you don't except it now, you can always send it later
  • Maybe your project has no users
    • "You don't even use it... say so"
  • Lack of competition
    • He thinks "don't invent the wheel" is "bull crap"
  • Too few releases
    • Release things when you fix things
    • worst thing is to get a bug report and have a developer say "oh yeah, I already fixed that"
  • Changelog
    • Add one - it's useful to show people what has changed
    • Are there new methods, is there code I can delete and use the new features
    • hoe automates that
  • Version numbers
    • Points people to semver.org
    • It creates trust by giving people an idea of what they can expect during an upgrade
  • Beta vs production
    • "semver says if your code is in production, that means its 1.0"
    • "We have a lot of numbers... we're not gonna run out of 'em."
  • READMEs
    • Where do you go for help?
    • IRC, mailing lists, etc.
  • Contributing guide
    • How do you submit a patch
  • Development guide
    • How do you run tests
    • It's much worse in Python, cause they don't have Rake
  • Be a lazy maintainer
    • Do the minimal amount of work
    • Points to schacon/showoff
  • Linkrot
    • Documentation gets updated, blog posts don't
  • Hates it when a project has a domain name
    • Once the domain expires, you just broke all of the links everywhere
  • Google your project name
    • Make sure you have a name that isn't autocorrect, etc.
  • Poor marketing
    • Distill the essence, then show that
    • "I mean, it sounds social media to say that..."
  • Project's he used as inspiration
    • Rails
    • jQuery
    • Redis
      • Quick start using redis-cli
    • Homebrew
    • Django has really great documentation
    • Unicorn
    • ASIHttpRequest
  • "Life is too short to release crappy software"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment