9,538 reputation
12042
bio website en.wikipedia.org/wiki/…
location United States
age 70
visits member for 4 years, 3 months
seen 1 hour ago

BS Mechanical Engr.
PhD CS(AI)
CS Prof (4yr)
Numerous consulting jobs.
15 yr at http://www.pharsight.com
Published book on CS & several articles
4 kids, 2 grand
Pilot(student)

P.S. The picture is a Beta-prime distribution. It shows the program speedup factors you can get if you see a problem twice in 2, 3, 4, and 5 samples.


Jan
30
comment How do I traverse a tree without using recursion?
Come on @Mat, that's kid stuff. You may disagree, like if you are afraid of bombing out on a tree that's too deep, that's a reasonable concern. You can just say so.
Jan
30
comment How to convey your approach is faster than the built-in, alternative approaches?
+ @Joan: I find if you say "It used to take a minute, and now it takes less than a second", that gets the idea across.
Jan
28
comment C++ Performance vs. Java/C#
+ It isn't about "hot path" so much as "hot spot", because where jitting matters is where the program counter spends time. Bigger apps tend not to have hot spots because at most any random point in time they are in system or library routines that the jitter doesn't see. But of course, if they actually do have hot spots, as you say, those will be optimized.
Jan
22
comment How has an increase in the complexity of systems affected successive generations of programmers?
@david.pfx: Agreed. Macros could use a debugger of their own :)
Jan
21
comment How has an increase in the complexity of systems affected successive generations of programmers?
@david.pfx: When I worked in Lisp, macros were perfect for that. In C-like languages, I would first see if I could do it just using C macros (I hated that the Java-folks deprecated those), otherwise I write recursive-descent parsers. I've done so many now, it's almost sleepwalking.
Jan
17
comment How has an increase in the complexity of systems affected successive generations of programmers?
@PeterMortensen: I just emailed it to you (17mb). Remember, it's 20 years old.
Jan
16
comment How has an increase in the complexity of systems affected successive generations of programmers?
@MDMoore313: I scanned it, and could send you that. It's 17mb.
Jan
15
comment How has an increase in the complexity of systems affected successive generations of programmers?
@Jason: I plead ignorance of nimrod. What I look for in a DSL is if you write domain-specific programs in it, and a specific request or requirement comes along that's simple enough that you can either do it or not, then if you completely implement it, then you diff the source files before and after the implementation, the number of differences is small. (puff!)
Jan
15
awarded  Good Answer
Jan
15
awarded  Nice Answer
Jan
14
comment How has an increase in the complexity of systems affected successive generations of programmers?
@Izkata and Peter: Yeah, I'm that oddball. FWIW, I put up a couple (extremely amateur) videos, in hopes of making it easier to understand. Random Pausing. Differential Execution. Cheers.
Jan
14
comment How has an increase in the complexity of systems affected successive generations of programmers?
@RobertHarvey: You're right, and my attempts to do that have not all been well received :)
Jan
14
comment How has an increase in the complexity of systems affected successive generations of programmers?
@PeterMortensen: Agreed. It's lonely. There's a word for that - Cassandra complex.
Jan
14
answered How has an increase in the complexity of systems affected successive generations of programmers?
Dec
2
awarded  Announcer
Nov
20
comment Jargon to describe unnecessary running of code?
@MichaelShaw: ... Now, 1 out of 2 interrupts show the problem, on average. It doesn't take many interrupts to see it. So you could call it a measurement, but it's a very poor measurement of the fraction of time. It's very precise evidence of what the problem is exactly. Does that help to explain the difference? That's just one example. Software is full of that kind of thing, if it's of any size.
Nov
20
comment Jargon to describe unnecessary running of code?
@MichaelShaw: Just to be specific, I've seen an app that takes about 60 seconds to start up. It happens to be spending about 50% of that time reading resources from dll files (which a CPU profiler will not see at all). Profilers that summarize function times will show many functions with high inclusive time. (Self time is useless.) Looking at that, you have no idea what the problem is. However, if you interrupt it a few times and each time understand the reason why (by reading the 20-level stack) you see it's doing it only for eye-candy on a splash screen. ...
Nov
20
comment Jargon to describe unnecessary running of code?
@DougM: The trouble with that is it leads people to think "I'm not a bad programmer, so I have no need to look for speedups." Speed problems are just like bugs - everybody makes them. The difference is - bugs say "FIX ME", while speed problems just lie there hoping you won't notice.
Nov
20
comment Jargon to describe unnecessary running of code?
@MichaelShaw: I use random pausing to find the problems, so I can remove them. That is not measuring. Measuring did not put the finger on the problems. Then I measure the overall result (not individual routines), to see how much I saved.
Nov
19
awarded  Nice Answer