Skip to content

Instantly share code, notes, and snippets.

@jmalonzo
Forked from kennethreitz/gist:654310
Created October 29, 2010 21:08

Revisions

  1. @tswicegood tswicegood created this gist Jul 16, 2010.
    92 changes: 92 additions & 0 deletions gistfile1.mkd
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,92 @@
    "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"