270 karma · joined June 12, 2009
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.
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.
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.
Hope that makes sense and answers your question.
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.
Lead, follow, or get out of the way are the only three choices available to any language.
Sure, it's in a browser but is it really that big a deal? I just can't seem to get properly excited about Campfire and it's ilk.
My observations of other people who have had kids leads me to conclude that disorganized single people rarely become organized parents.
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.
If you think that going to the bank, doing your laundry, and answering emails in a timely manner is some sort of accomplishment or difficult, then you need to take a look in the mirror and realize that you are looking at the problem. It's called "being responsible for yourself". Tough concept for many people apparently.
I'm 39, been married for 12 years, and have two kids. I choose to be responsible because my kids can't do their own laundry or buy their own groceries. These are 5 and 10 year-old kids, not adults. Am I perfectly organized? Not even close. But I don't sit here and justify my failures like the girl who writes that blog. Yoda was right: do or do not, kids. There is no try.
Before you get all mad, I understand there are people who have mental or physical illnesses that makes doing these everyday, routine chores difficult. These people have my sympathies and understanding. The rest of us have no excuse. Yes, I include myself in "the rest of us."
Yes, much of every day life is not fun. I don't particular enjoy being a responsible adult, but if the alternative is the kind of ranting, over-the-top situations in that blog post (and on that blog in general), I'll take being a responsible adult. Grocery shopping is hard? Responding to emails is hard?!? Going to the bank is hard?!?!? This person who lives on the internet cannot order groceries online, answer emails or pay their bills online? Oh, that's right, they can never be an adult. Because it's too hard or something. Okay, back to Facebook and rating pictures of cute kittens. I'm sure there is a "responsible adult" out there who "cleans up" after this person. Resenting it while doing it too, I'm sure.
Don't blame it on TV or the internet or the poor diet North Americans eat or the "bureaucracy involved in modern city life". Millions of other people are in the same circumstances or worse and somehow manage to rise above it all, and have fridges with food, clean clothes, and money in their bank account. And they do it all by themselves too.
If the goal is to recreate the "let's build a better runtime" situation that exists in Ruby but in the PHP world, that is admirable. But if you really want the project to get any sort of traction, creating almost-PHP isn't the way to go.
If you can't run your existing PHP code in this thing, then what's the point?
In my opinion, companies that allow full-time telecommuting understand that the root issue is one of trust. If you are allowed to work 100% of the time from home, it means you are being trusted to get your work done. I cannot think of anything that would inspire someone to do their best work other than that.
I mean, how many times (to beat a dead horse) have you seen someone say "I wrote my own framework because <insert contrived scenario that other frameworks have solved or are easily extended to solve>".
Yes, sometimes your situation is so unique you need to role your own solution. Chances are it's your ego talking instead of common sense.
Another ineffectual "solution" to a problem that cannot be solved. The idea of some nosy, self-important passenger on a flight deciding who is and is not a terrorist is ludicrous.
We offer stuff ranging from simple on-demand calls to our web service (you purchase credits, docs cost you X credits per access) to a Perl-based app that captures an XML feed and parses and inserts the data into a DB for you to use as you will at your end, usually MySQL but we support MS-SQL too.
We've got some pretty big clients: ESPN, USA Today are amongst them. We supplied Google with Olympic content during the Beijing Olympics.