I have a book I published using Leanpub and I set the minimum to be $10. Some people pay the minimum. Some people pay the suggested price of $15. Some have even been as generous as to pay MORE than the suggested price.
If I ever decide to give away my book for free for a limited time, I would not feel bad about people giving me $0 when they could give me whatever they want.
I am in agreement with Raganwald in that I just want people to read it and find it helpful.
I suggest you do some research about the author of the MicroPHP manifesto before throwing snark out there like that.
Ed is a personal friend (and we do a podcast together) with many, MANY years of experience building applications using PHP. While I don't agree with him on some points in there, he does deserve to not be shit on by people who can't be bothered to do 30 seconds of research about the author.
My experience is that it is a very rare and enlightened management team that allows developers to go back and clean up the technical debt that was created during the mad dash to get your application out the door.
Most of the time you are stuck with technical debt because there is no room in your timeline to go back and fix stuff that you know is broken.
YMMV, but as the blog post author I'm keenly aware of this situation.
With the understanding that I do most of my work in the most-bullied, down-trodden programming language here on Hacker News (PHP) I think that your choice of language, framework and persistence layer leads to technical debt or friction as raganwald commented above.
Like I said before, I view infrastructure debt as the cost of consistency in your environments and the cost of moving your code from one environment to another. Very rarely is the choice of language going to be a problem, unless you are trying to use a language in a way it's not intended to be uses (to throw out a completely random idea, like trying to use PHP as a functional language ).
Frameworks are a sore point for people, but mainly because they choose to fight them instead of trying to do everything the framework's way. Picking the wrong framework is a technical debt situation, not a problem of moving code from dev to production.
Persistence layer stuff is also a technical debt / friction issue. Chances are that you could use that particular data store without the persistence layer you chose. For example, I struggled to learn Doctrine1/2 but once I learned how DQL worked it became a lot easier to break out of the object-only contraints and create custom queries.
Upon reflection your use of the term "friction" is a good one. Although I tend to look at "debt" as something you pay back as quickly as possible but sometimes you can only pay it back in installments.
I guess you could say having too much infrastructure friction eventually leads to one humungous infrastructure bonfire. :)
I would place database design debt firmly in the technical debt side of the ledger (as it were). To me, infrastructure debt deals more with consistency across environments and consistency in moving code from one environment to another.
I also agree with you that database design debt is very expensive and, as you pointed out, leads to paralysis over fixing problems with an established application.
I'm a long-time PHP user (since 1998) but I never really peered inside the discussions of the internals of PHP. Now that I'm more connected to others in the PHP world, what you see inside the mailing list for PHP internals is what I would label as obstructionism and an attitude that seems to imply that if you cannot code the requested changes yourself, don't even bother asking.
Lead, follow, or get out of the way are the only three choices available to any language.
In the presentation shown at http://www.startuplessonslearned.com/2008/09/customer-develo... (specifically the last slide where he talks about the Five Why's system) it seems to me that the guru of Lean Startups is a advocate of automated test suites, and therefore a believer in TDD.
I was using Capistrano too but, like you, couldn't get my co-workers up-and-running with it so we switched to using Phing. I didn't want to be the only one doing deployments at work.
Where I work we use IRC as the main way to communicate (we all telecommute) and I have a window open all day long. The secret? Tell your IRC client to make a noise whenever someone mentions your IRC nick and then ignore the IRC window until it makes the noise. Works like a charm and allows me to focus on the task at hand.
I know it's a shot in the dark, I'm also guessing that you don't have kids of your own. If you did, you would understand wanting the best for your kids, not the minimum.
"You seem to have a model of the human brain as a machine with a moral selector. If it is set to "good", then the morally-correct neural programs are automatically activated, producing a moral outcome, or at least a valiant attempt interrupted by bad luck."
I don't believe in any of that, but thanks for jumping to conclusions.
This was never about morals to me, it's about someone trying to find a rationalization for a certain set of behaviours that they were comfortable repeating over and over again. I don't think the person who wrote that blog post is a "good" or "bad" person. Saying "oh well, this is the way I am" is not a solution to a problem. It's an excuse. Please also re-read what I said about people with medical conditions (including and not limited to mental illness) too.
I also don't believe that people are lucky or unlucky by nature, shit happens all the time that you cannot control. This isn't about morals at all, it's about getting shit done that needs to get done.
"Try choosing to be irresponsible for three straight weeks. Your kids will not be harmed by a few weeks of nachos and slightly-dirty clothes. I bet you couldn't do it. The salience detector in your brain would scream and you would be compelled to obsessively fix it, regardless of your previous "choice" to prove you could, and your brain's storyteller would then cook up a story about how you really meant to do laundry all along."
That actually made me laugh out loud. I don't do the laundry much (wife dislikes my choices on separating clothes into categories for washing) and I'm down for nachos a few times a week but the kids themselves don't want that. I do get my kids breakfast (always ask them what they want, and give it to them without being preachy or "that is not a breakfast food!" type of attitude), and make lunches for them while my wife gets ready for work.
I also let them dress themselves, and again don't give them the "those clothes are totally inappropriate!" speech either. Bet that surprises you.
The picture of me as some sort of obsessed parent who can't bring themselves to serve their kids nachos or send them to school without crisply-pressed clothes is enough to make anyone who knows me and reads this post laugh.
It's ironic that you have made the same snap judgements about me that I have made about the blog poster. For that I thank you for pointing it out.
Me and the missus don't split things up that way, but I can see how it would work. However, you did hit the nail on the head: defining who is supposed to do what means you don't have to spend all sorts of time worrying about whether things are getting done by the other person. Because if they don't, it's pretty obvious. ;)
Oh no, I understand what the author says. I just disagree with her views on it. There is a huge difference between "I am not being responsible but want to be, tell me how" and "I take on too much stuff and then give up to surf the internet like a squirrel on PCP".