Nice American-centric view there. Up here in Canada we can use 'debit' to pay using our bank account with a separate card from our credit cards.
HN user
grumpycanuck
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.
Just took a look, that is an awesome paper.
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.
Author here:
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.
(Blog post author here)
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'm the blog post author)
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.
Blog post author here. Yeah, I figured it has been around a lot longer than 20 years but I thought the 20 year thing would get the point across.
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.
Why not do it through a PEAR channel instead of basically creating your own version of it?
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 must be an old curmudgeon because whenever I see Campfire I think "it's like IRC but with a better client" and wonder what the big deal is.
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.
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 have no idea if she would become more organized as a result of having a couple of kids.
My observations of other people who have had kids leads me to conclude that disorganized single people rarely become organized parents.
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".
I'm sure I'm going to get flamed and/or down-modded for taking the contrarian postion on this. Shame on me for choosing to accept the challenge of being an adult in our modern society.
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.
As a long-time PHP developer (12+ years, yuck it up PHP haters) I look at this with a combination of awe and disappointment. Awe that someone would be willing to take on implementing a version of PHP that can run on the JVM much like Quercus. Disappointment because what they are doing is not PHP.
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?
I've been telecommuting for 3 years now, and I can agree that a large number people seem to think that all telecommuters are slacking off and lounging around in their pyjamas instead of working. Like the writer of that article, I get up and get dressed every morning just like it was a job where I had to travel to. I just travel from the kitchen down to my basement office, that's all.
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.
It's the rare person who changes their mind when they've taken a very strong position. Kudos to Alex for being willing to take a real look at the iPad and figure out what his real concerns with the device were.
I'm using LuLu for print-on-demand copies of the book, just like I did before. I went with someone else to help with PDF sales.
I self-published a PHP programming book (http://www.littlehart.net/book) and I've sold about the same number of copies as he has (~200 between PDF and LuLu) but (a) I didn't charge as much as he did and (b) didn't hook up with any affiliate marketing / promotion until October of 2009. Sold about 150 copies (PDF + Lulu) before I found my current publisher.
I know it seems obvious, but determining when to create your own tech instead of using or extending existing solutions is tough. Even tougher given the tendency of people to think their situations are unique instead of being "just like situation X with Y added."
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.
Yawn
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.
As someone who works with XML all day long, I am wondering why people don't use SimpleXML in PHP 5+ for this sort of thing too.
Sure. http://www.xmlteam.com
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.