GitHub is a fish bowl
wynnnetherland.com
wynnnetherland.com
"Oh yeah, it's either that or proxy objects all the way down"
"Oh whats this?! He's pulling out an FSM, what a good move"
"I like the way this is headed, let's see if the tests pass"
"Ohhhhhhh, noooo, the parallel processing tests all broke; that's why they call it a Finite State Machine, not a Whole Bunch of States Machine, Frank."
"How is he going to fix this one up?"
"Queues?"
"Yeah, probably Queues."
"Oh no rookie mistake, he's using the built in Queues, not the multiprocessing Queues, this is going to cause some nasty bugs"
"Ouch! That's got to sting. At least it's not like last game when number 49 got into a heated argument after he got a red card for forgetting to escape SQL."
A good programmer's "DVD Commentary" would teach me a lot, I think.
Not quite. The food network is mostly about recipes that have already been created and tested. The equivalent would be putting up the git commits after the project is ready.
When I'm still regularly trashing all my code and starting over, it doesn't do anyone any good to follow the repo.
There are times when you hope someone will find your project useful but know (or probably feel) that everyone else is better than you so you end up qualifying your work with some "it's not finished" or "I know this is crap but.." statement.
It's weird because we have this fear (I keep saying we and I'm not sure if this is a universal sentiment but it definitely applies to me) of harsh criticism but we're also proud of our work and hope its good enough for people to find useful. I guess the solution is to keep your public repos but be careful how you promote them outside of GitHub and "good" programmers also need to be just a bit nicer with the tone of their criticism. It takes guts to show off your work I think.
My GitHub page is far from impressive, it's mainly a collection of project that I think are fun to work on, or things I like to play around with in my spare time. Still, I make half-baked things public because I'm hoping someone will come along and offer feedback.
In terms of negative feedback, I refer you to this interview with Rich Hickey. http://www.codequarterly.com/2011/rich-hickey/ Here's the section I'm thinking of.
Fogus: What would you say to people who claim that Clojure is not a “real Lisp”? Hickey: Life is too short to spend time on such people.
So even the creator of a programming language (not trivial to implement!) has to field a fair amount of flak from nay-sayers.
So if you're inspired to write something, put it out there. The worst thing that can happen is that someone will offer to help. The people tearing it down are spending their lives criticizing rather than creating.
Realistically, though, I think you should avoid putting your code in the public domain until you're ready for the criticism or the feedback. Working in the open right from the start and expecting people to stay hush until you personally announce it is a stupid idea if you're concerned about people spreading the word too soon. You're not going to be able to issue an embargo on your work until a set time.
In this respect, why would you even push your code to a public Github repo in the first place if you objectively knew it wasn't ready for public consumption?
Now, of you're out there actually promoting something you've made it's a different story. You really shouldn't be bragging if you really feel something isn't quite ready. But then again I come back to my point about criticism. There's constructive criticism and there's overly harsh criticism. You're right,mthere should definitely be more talk and less action but we all know how we are. I've seen it a million times. A really cool project comes along and there's always those smartest-programmers-in-the-room types that have to tear it apart like its garbage instead of offering up some constructive suggestions or actually taking action. It'll probably never stop so the best we can do is try to grow thicker skin as project creators and try to be more constructive and less snarky as critics.
Man, I'd love that, but only if they add constructive criticism.
(The problem isn't that people follow or fork WIP repos; it's that you care whether they do or not.)