Live data from Hacker News

I'm Sure It Will Only Take You A Few Days To Code

danshipper.com

41–50 of 117 posts

Re: I'm Sure It Will Only Take You A Few Days To Code

#41
post #27

Reminds me of "open textured" in legal philosophy: the idea of precedent in law is you can use it to predict how a court will decide in future. This mostly works, but if you have a bunch of cases (data points in multidimensional space), simple interpolation isn't always accurate. You need to look at the specifics of the present case (there's still uncertainty because each judge has an individual perspective, but that…

the existence of the right library can save 10,000 hours

Can anyone define for me the difference between a library and a language? If I take all my functions and put them in a "library" and then just call them, have I made my program shorter? What if I define them all as built-in to the language?

Intuitively, those seem like tricks and not genuine simplifications. Why don't they count?

Re: I'm Sure It Will Only Take You A Few Days To Code

#42
post #19

The Lifecycle of a Project Manager: Phase I: (Idealism) Treat building software like building a bridge. Analysis --> Design --> Development --> Testing --> Implementation. Phase II: (Pragmatism) Realize that Phase I doesn't work. Try to figure out why. Decide that the weak link is Analysis, i.e. we're no good at estimating and hitting deadlines because we never have good enough specs. Devote your life to the art and…

That's a good way of explaining the old addage: Timely, complete, low-defects. Pick two. In software, it does seem like timely and low-defects should be fixed, since "complete" implies some knowledge about what the software should be, and we're rarely right about that ahead of time :-)

Re: I'm Sure It Will Only Take You A Few Days To Code

#43

P = programmer; NP = non-programmer NP: How long will it take? P: It'll take as long as it takes. NP: I don't understand. What does that mean? P: When you tell me that the product is finished, it's done. NP: You mean you can't estimate how long it'll take? P: I can't estimate when you'll decide that it is done, therefore an accurate prediction is impossible. From experience I know that a project like this can take fr…

What are the implications on the universe if P=NP?

Re: I'm Sure It Will Only Take You A Few Days To Code

#44

P = programmer; NP = non-programmer NP: How long will it take? P: It'll take as long as it takes. NP: I don't understand. What does that mean? P: When you tell me that the product is finished, it's done. NP: You mean you can't estimate how long it'll take? P: I can't estimate when you'll decide that it is done, therefore an accurate prediction is impossible. From experience I know that a project like this can take fr…

The real question is, are they the same person?

Re: I'm Sure It Will Only Take You A Few Days To Code

#45
post #19

The Lifecycle of a Project Manager: Phase I: (Idealism) Treat building software like building a bridge. Analysis --> Design --> Development --> Testing --> Implementation. Phase II: (Pragmatism) Realize that Phase I doesn't work. Try to figure out why. Decide that the weak link is Analysis, i.e. we're no good at estimating and hitting deadlines because we never have good enough specs. Devote your life to the art and…

Phase 0 (Big Corporate IT): PM is given deadline by business, goes through song and dance of negotiating deliverables (without any analysis being performed or developers consulted for estimates), is forced to start work with a small team of internal people outside of the business area not resourced to any projects currently, but who've coded a few lines of VB so can probably do a web application scaling for 5,000 users. PM then hires outside contractors (probably with even less knowledge of the business) to fill in the resourcing gaps as the deadline looms and the demo still doesn't work.

No real objective measurements for project success are defined or put into place, but at least the executives can say they're "embarking on a technology-driven initiative to improve [area of the business they're responsible for]" and so they meet their bonus criteria for the year, and if they've done everything correctly, the executive's contract will end before the project goes red.

If all doesn't go well, well, that's why you have PMs! They're the "responsibility buffer" - the guys you get to blame and fire rather than the actual executive who initiated the project and failed to provide real support and leadership.

Re: I'm Sure It Will Only Take You A Few Days To Code

#47
I'm a music producer, and this is a constant problem for me that after many years still boggles my mind.

The root of the problem is that producing a modern style recording of music is resource expensive. Far more than anybody would like it to be.

The resources can be time/money/talent. So there is an intense bias on everyone involved in the project to under-estimate.

I usually work on low budget projects. You can actually accomplish a lot with a low budget. But as you start to climb the "quality" scale the costs increase much more quickly than the quality. To get a product that you might consider subjectively twice as good might cost ten times as much.

At core, I feel like there is a fundamental principal of information organization. It takes a certain amount of resources to undo entropy and organize information. When we experience a piece of work we can intuitively feel that entropy has been significantly reduced, we appreciate the accomplishment. (Even if we are not in the field of endeavor we still feel it though we don't know how it is done.)

One specific point of difficulty in estimating time in music production is that there is an x-factor. It derives from the need to create something exceptional, which has both subjective and objective elements.

With an experienced production team you can predict how long it will take to produce something competent. But usually there is a point where we have all done the things we know how to do: the song is arranged, the players are good, the production environment is good, the instruments are good. But the song is missing something. What is it? It is not known yet. So an iterative trial and error process begins. Let's try a different singer. Maybe we should borrow my friends guitar. Let's keep recording. Let's rewrite the song.

Hopefully a solution is arrived at, but since it is a trial and error process it is impossible to estimate how long it will take.

Re: I'm Sure It Will Only Take You A Few Days To Code

#48
post #40
post #27

Reminds me of "open textured" in legal philosophy: the idea of precedent in law is you can use it to predict how a court will decide in future. This mostly works, but if you have a bunch of cases (data points in multidimensional space), simple interpolation isn't always accurate. You need to look at the specifics of the present case (there's still uncertainty because each judge has an individual perspective, but that…

That makes me wonder what other disciplines there are that have the unpredictability and open-endedness of software. I read that on large construction projects, a 1% overrun is considered failure. That is clearly a different universe. Who else is in our universe?

I think it includes anything involving new knowledge: e.g. law, science/mathematics, invention. Maybe also in the academic Arts (I don't know enough to be sure), and also in the creative arts - painting, sculpture, writing (there's exploration and massive overruns there). Also, exploration in prospecting, oil discovery - though that's not really open-ended.

OK, I think it's being able to open up/zoom into finer detail (like knowledge, recursive structures, fractal) + discovery.

Re: I'm Sure It Will Only Take You A Few Days To Code

#49
post #41
post #27

Reminds me of "open textured" in legal philosophy: the idea of precedent in law is you can use it to predict how a court will decide in future. This mostly works, but if you have a bunch of cases (data points in multidimensional space), simple interpolation isn't always accurate. You need to look at the specifics of the present case (there's still uncertainty because each judge has an individual perspective, but that…

the existence of the right library can save 10,000 hours Can anyone define for me the difference between a library and a language? If I take all my functions and put them in a "library" and then just call them, have I made my program shorter? What if I define them all as built-in to the language? Intuitively, those seem like tricks and not genuine simplifications. Why don't they count?

Perhaps, moving into a library means it must be a clean abstraction and reusable - there's some legitimacy to considering it no longer "part of your program", so your program's shorter. If it is in fact used by other programs, by distributing its length over them all, your first program literally is "shorter" even including the library cost.

The library/language distinction seems less important these days (e.g. standard libraries are often thought of as part of the language). There is (usually) a syntactic distinction, of whether it's a keyword (global availability and tightly limited), or namespaced in some fashion (local availability, and limitless/open-ended).

ans: 1. syntactic/expandability, 2. yes, 3. yes, 4. they count in the wider system (as OP, I just meant you don't have to write it)

Re: I'm Sure It Will Only Take You A Few Days To Code

#50
post #48
post #40

Earlier quoted context omitted.

That makes me wonder what other disciplines there are that have the unpredictability and open-endedness of software. I read that on large construction projects, a 1% overrun is considered failure. That is clearly a different universe. Who else is in our universe?

I think it includes anything involving new knowledge: e.g. law, science/mathematics, invention. Maybe also in the academic Arts (I don't know enough to be sure), and also in the creative arts - painting, sculpture, writing (there's exploration and massive overruns there). Also, exploration in prospecting, oil discovery - though that's not really open-ended. OK, I think it's being able to open up/zoom into finer detai…

Law, I'm not so sure. Any variations posed by new legal cases are still limited by the basics of human nature.

Oil discovery? Don't think so. People may look in different places but they don't invent new ways of doing each project.

The other examples are all art. (The practice of science itself is an art and not a science.) Is software an art?

Post reply on HN