Comments for HeadSpin Blog http://blog.headspin.com You know what the truth is? The truth is something my neighbor believes. If I want to make friends with him I ask him what he believes. He tells me and I say “Yeah, Yeah ain’t it the Truth?” Wed, 08 Sep 2010 01:19:51 +0000 hourly 1 http://wordpress.org/?v=3.1-alpha Comment on Some random thoughts on programming by CyberFonic http://blog.headspin.com/?p=274&cpage=1#comment-7971 CyberFonic Wed, 08 Sep 2010 01:19:51 +0000 http://blog.headspin.com/?p=274#comment-7971 Any competent DIYer can build a dog kennel without a blueprint. But try building a 60 story hotel complex without lots of them! Same too with programs. Once you can't keep all the details in your head you need to analyze, design and even plan. Of course, you get a bit finicky about the stress grade of the concrete when you have a skyscraper balancing on it. Same too with the frameworks and tools. What works for a two guys in the garage project doesn't work for a telco or insurance co. Any competent DIYer can build a dog kennel without a blueprint. But try building a 60 story hotel complex without lots of them! Same too with programs. Once you can’t keep all the details in your head you need to analyze, design and even plan. Of course, you get a bit finicky about the stress grade of the concrete when you have a skyscraper balancing on it. Same too with the frameworks and tools. What works for a two guys in the garage project doesn’t work for a telco or insurance co.

]]>
Comment on Some random thoughts on programming by admin http://blog.headspin.com/?p=274&cpage=1#comment-7970 admin Wed, 08 Sep 2010 00:43:39 +0000 http://blog.headspin.com/?p=274#comment-7970 You should probably read my followup or at least the :) You should probably read my followup or at least the :)

]]>
Comment on Some random thoughts on programming by James Aguilar http://blog.headspin.com/?p=274&cpage=1#comment-7969 James Aguilar Wed, 08 Sep 2010 00:39:59 +0000 http://blog.headspin.com/?p=274#comment-7969 There's something about incompetent people tending to overestimate their competence and incorrectly judge the competence of others. I would be careful about claiming that I was a wizard, let's just leave it at that. There’s something about incompetent people tending to overestimate their competence and incorrectly judge the competence of others. I would be careful about claiming that I was a wizard, let’s just leave it at that.

]]>
Comment on Some random thoughts on programming by josé maría http://blog.headspin.com/?p=274&cpage=1#comment-7968 josé maría Tue, 07 Sep 2010 23:21:36 +0000 http://blog.headspin.com/?p=274#comment-7968 Doh! I wrote "commit" instead of "comment" xD, that's what programming do to your brain. Doh! I wrote “commit” instead of “comment” xD, that’s what programming do to your brain.

]]>
Comment on Some random thoughts on programming by josé maría http://blog.headspin.com/?p=274&cpage=1#comment-7967 josé maría Tue, 07 Sep 2010 22:58:07 +0000 http://blog.headspin.com/?p=274#comment-7967 Seriously, you all (no mater how long has been programming) are saying things that you can find repeated everywhere. From the "hacker myth", to the "small company myth"... Companies can't blog, people do. Every time I read a post about someone saying something about how stupid/bad is some language/framework/methodology I ask myself: does this person work in a project with more than 10 people? Most of the times that's not the case, in fact in 99% of the cases it's not. What I'm trying to say is that real proyects are running and working everyday. We are not asking if this projects will fail, but if the programming job will be fun/beautiful/great. And you know, reality is hard: most projects works because bad programmers can contribute code to big projects, bad programmers that you can replace any time. And all the work in this projects is a pain, and programmers life an horror. That's what reality says of real projects. We can now ask ourselves if this is right or not, but that's what works in 99% of the cases. No mater the size of the company or the size of the project. Agile methodologies, agile frameworks, agile languages... all that things can't scale to code bases of hundred of thousands (or millions) of lines of code, with different generations of people working on them. I hate Java, really, I program in Python if I can. But Java let you create big code bases with normal people. And companies are great if they can make normal people create great things. All this stupid search for ... talent? is the last light of an era that is ending. Now that all companies are out of cash you need normal people with normal salaries do the work. The best and more profitable companies are the ones that make profit from normal workers, not the talented ones. And programmers are just a cog in the machine, now system administators are as important as them in many web companies. And you know, they can have a real life, they can be sysadmins with 40 years or 50 years without too much problem. I suppose that most of us, developers, entered in the field because we loved the idea of being able of changing the world from our keyboards. The sense of power was like a drug. But reality is that: 99.99% of use will never change the world. We will only contribute to things that make the world run as usual. I think that it's a myth the idea of a programmer saving a company (a big one) because the amount of work that a programmer can do (no mater how great she is) is limited. He has to relay in others. But we all lone "machos" who can code everything by ourselves... isn't it? Sorry for the long commit, but that's the 10000 post I read about how cool will be to have "great" programmers everywhere, while the writer forget one of the main rules of engineering: http://en.wikipedia.org/wiki/Amdahl's_law . No mater how many cool great programmers you have, their contribution will not be that great ;) Seriously, you all (no mater how long has been programming) are saying things that you can find repeated everywhere. From the “hacker myth”, to the “small company myth”…

Companies can’t blog, people do. Every time I read a post about someone saying something about how stupid/bad is some language/framework/methodology I ask myself: does this person work in a project with more than 10 people?

Most of the times that’s not the case, in fact in 99% of the cases it’s not. What I’m trying to say is that real proyects are running and working everyday. We are not asking if this projects will fail, but if the programming job will be fun/beautiful/great. And you know, reality is hard: most projects works because bad programmers can contribute code to big projects, bad programmers that you can replace any time. And all the work in this projects is a pain, and programmers life an horror. That’s what reality says of real projects.

We can now ask ourselves if this is right or not, but that’s what works in 99% of the cases. No mater the size of the company or the size of the project.

Agile methodologies, agile frameworks, agile languages… all that things can’t scale to code bases of hundred of thousands (or millions) of lines of code, with different generations of people working on them.

I hate Java, really, I program in Python if I can. But Java let you create big code bases with normal people. And companies are great if they can make normal people create great things. All this stupid search for … talent? is the last light of an era that is ending. Now that all companies are out of cash you need normal people with normal salaries do the work. The best and more profitable companies are the ones that make profit from normal workers, not the talented ones.

And programmers are just a cog in the machine, now system administators are as important as them in many web companies. And you know, they can have a real life, they can be sysadmins with 40 years or 50 years without too much problem.

I suppose that most of us, developers, entered in the field because we loved the idea of being able of changing the world from our keyboards. The sense of power was like a drug. But reality is that: 99.99% of use will never change the world. We will only contribute to things that make the world run as usual. I think that it’s a myth the idea of a programmer saving a company (a big one) because the amount of work that a programmer can do (no mater how great she is) is limited. He has to relay in others. But we all lone “machos” who can code everything by ourselves… isn’t it?

Sorry for the long commit, but that’s the 10000 post I read about how cool will be to have “great” programmers everywhere, while the writer forget one of the main rules of engineering: http://en.wikipedia.org/wiki/Amdahl‘s_law . No mater how many cool great programmers you have, their contribution will not be that great ;)

]]>
Comment on Some random thoughts on programming by anonymous boy http://blog.headspin.com/?p=274&cpage=1#comment-7966 anonymous boy Tue, 07 Sep 2010 22:18:23 +0000 http://blog.headspin.com/?p=274#comment-7966 what i meant: the "good" programmers maybe just do what they want and don't care about efficiency too much for the first steps. i always sought after the deeper "scheme behind all things" which is a "distraction". i would never have recreated a graph using arrays (the only useful dynamic variable accessible for a novice) because it would have been so weird and over-complicated to do it that way and i thought nobody else would do something like that and there "ought" to be a simpler mechanism for that (maybe "json" is that mechanism for today) what i meant: the “good” programmers maybe just do what they want and don’t care about efficiency too much for the first steps. i always sought after the deeper “scheme behind all things” which is a “distraction”. i would never have recreated a graph using arrays (the only useful dynamic variable accessible for a novice) because it would have been so weird and over-complicated to do it that way and i thought nobody else would do something like that and there “ought” to be a simpler mechanism for that (maybe “json” is that mechanism for today)

]]>
Comment on Some random thoughts on programming by anonymous boy http://blog.headspin.com/?p=274&cpage=1#comment-7964 anonymous boy Tue, 07 Sep 2010 21:57:19 +0000 http://blog.headspin.com/?p=274#comment-7964 I guess what could make the difference and what I'm just about to understand: program text is "obfuscating" concepts and bringing them down to a textual and linear representation. for example a "scene graph" for 3d programming: a very simple concept, but to write it down step by step and at different text locations makes it more difficult - I never wanted to program around things, I wanted to find the "essence". All software tools and many libraries try to create the illusion that you don't have to know how they organize the particular problem, when in reality you have to know exactly that to make sense of them. sadly, all libraries try to create the illusion things "become more easy" when in reality it all is just the reduction of redundancy (or some times the introduction of new ideas). I guess what could make the difference and what I’m just about to understand: program text is “obfuscating” concepts and bringing them down to a textual and linear representation. for example a “scene graph” for 3d programming: a very simple concept, but to write it down step by step and at different text locations makes it more difficult – I never wanted to program around things, I wanted to find the “essence”.

All software tools and many libraries try to create the illusion that you don’t have to know how they organize the particular problem, when in reality you have to know exactly that to make sense of them. sadly, all libraries try to create the illusion things “become more easy” when in reality it all is just the reduction of redundancy (or some times the introduction of new ideas).

]]>
Comment on Some random thoughts on programming by JayNicks http://blog.headspin.com/?p=274&cpage=1#comment-7963 JayNicks Tue, 07 Sep 2010 21:48:36 +0000 http://blog.headspin.com/?p=274#comment-7963 Good one <i>Headspin</i> on "Strive for the simplest thing that can’t possibly fail.", a case history. As design team head for an inventory system (8 warehouses, 250+ stores, lotsa trucks) we used an imaginary Dr. Y who would attack every transaction with wildly wrong entries. We designed and coded so Dr. Y could not screw things up. Then the following sequence happened: 1. The prototype went live for several departments, and 2. Some of the warehouses had to bust walls into doors for more trucks, and 3. Eighteen months later the first bug had not yet been discovered. For those of you who had Fred Brooks talks, or are otherwise wise about inventory, turn up 38%, profits up 25%, out of stocks down 85%. Hey CollegeGrad, Watch the hubris, "I find that I often know exactly how to solve a problem before the veteran programmers at my job even have a chance to really think about it." Suppose you are two s.d.s out on the normal curve, the other programmers probably average one s.d., so of course you have to explain 'over and over again' but it does not have anything to do with 'veteran'. I started in my teens at IBM in '65 and I still have to explain, over and over, all sorts of things to self impressed hotshots and some of them cannot code cleanly until about nine months experience and a lot of code reviews until they 'get it'. The real greenies are slower to catch on than moderately experienced. As Headspin says, some never get it and they are shoveled off to where they cannot do more harm, even young ones who got 4.0 in CS courses sometimes cannot hack the real (design and coding) world and are sent to QA or the web sites. Keep in mind, young'uns, that great programmers, like Steve Gibson, will keep on blowing your nappies off until he is, maybe 80 or so. Good one Headspin

on “Strive for the simplest thing that can’t possibly fail.”, a case history.

As design team head for an inventory system (8 warehouses, 250+ stores, lotsa trucks) we used an imaginary Dr. Y who would attack every transaction with wildly wrong entries. We designed and coded so Dr. Y could not screw things up.

Then the following sequence happened:
1. The prototype went live for several departments, and
2. Some of the warehouses had to bust walls into doors for more trucks, and
3. Eighteen months later the first bug had not yet been discovered.

For those of you who had Fred Brooks talks, or are otherwise wise about inventory, turn up 38%, profits up 25%, out of stocks down 85%.

Hey CollegeGrad,

Watch the hubris, “I find that I often know exactly how to solve a problem before the veteran programmers at my job even have a chance to really think about it.”

Suppose you are two s.d.s out on the normal curve, the other programmers probably average one s.d., so of course you have to explain ‘over and over again’ but it does not have anything to do with ‘veteran’. I started in my teens at IBM in ’65 and I still have to explain, over and over, all sorts of things to self impressed hotshots and some of them cannot code cleanly until about nine months experience and a lot of code reviews until they ‘get it’.

The real greenies are slower to catch on than moderately experienced. As Headspin says, some never get it and they are shoveled off to where they cannot do more harm, even young ones who got 4.0 in CS courses sometimes cannot hack the real (design and coding) world and are sent to QA or the web sites.

Keep in mind, young’uns, that great programmers, like Steve Gibson, will keep on blowing your nappies off until he is, maybe 80 or so.

]]>
Comment on Some random thoughts on programming by Thoughts on Random Thoughts | HeadSpin Blog http://blog.headspin.com/?p=274&cpage=1#comment-7962 Thoughts on Random Thoughts | HeadSpin Blog Tue, 07 Sep 2010 21:05:16 +0000 http://blog.headspin.com/?p=274#comment-7962 [...] HeadSpin Blog You know what the truth is? The truth is something my neighbor believes. If I want to make friends with him I ask him what he believes. He tells me and I say “Yeah, Yeah ain’t it the Truth?” Skip to content Home ← Some random thoughts on programming [...] [...] HeadSpin Blog You know what the truth is? The truth is something my neighbor believes. If I want to make friends with him I ask him what he believes. He tells me and I say “Yeah, Yeah ain’t it the Truth?” Skip to content Home ← Some random thoughts on programming [...]

]]>
Comment on Some random thoughts on programming by admin http://blog.headspin.com/?p=274&cpage=1#comment-7961 admin Tue, 07 Sep 2010 21:00:45 +0000 http://blog.headspin.com/?p=274#comment-7961 I agree with everything you said here. Thanks for the conversation. I agree with everything you said here. Thanks for the conversation.

]]>