9,538 reputation
12042
bio website en.wikipedia.org/wiki/…
location United States
age 70
visits member for 4 years, 3 months
seen 3 hours 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.


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
17
comment Jargon to describe unnecessary running of code?
@Masi: It is an important topic, and the tools that are being developed can't compete with the best tool that's been around forever, a debugger, and here's the math behind it. Most of the programming world is still under the false impression that the way to find inefficiencies is by measuring. All that can tell you is where they're not, not where they are. It leads people to be happy with finding small problems but missing big speedup opportunities.
Nov
7
comment What causes bad performance in consumer apps?
@Crashworks: Also, my first-ever YouTube video, on random pausing, is here.
Sep
2
comment Is it possible to compile a higher level language to readable C++?
@Jan: Good point. I wonder if teachers could say "In situation X, the options are Y or Z, and these are the pros and cons" so we minimize the situation where if you've got a hammer everything looks like a nail.
Sep
2
comment Is it possible to compile a higher level language to readable C++?
@Jan: I'm sure you're right. The problem I see all the time is people using features because they're "cool", not because they're needed, necessarily.
Aug
29
comment Is it possible to compile a higher level language to readable C++?
I agree that Lisp can do certain things that are hard in C++ (like closures). Do you need to do those things? Then since they are hard to do in C++, no matter how you get them into C++, automatically or manually, it will not be pretty. My suggestion: If you don't really really truly need those difficult things that Lisp can do, don't use Lisp. Get good at C++. If you must use those things, but you must code in C++, then figure out how to do it in C++. That's what separates the adults from the children in this business.
Aug
23
comment Why one would commit changes to version control every three minutes?
Just got a drive-by :)
Aug
15
comment What are examples of comments that tell you why instead of how or what?
@Jon: If the comment were not there, the reader can see what is happening, but has no idea why.
Jul
30
comment Are missed deadlines common in programming jobs?
+ Good answer, but having had some exposure to mechanical and civil engineering, it's amusing how programmers make facile comparisons to building bridges and other things, when they haven't the faintest idea how those are built.
Jul
23
comment Premature optimization in deciding how to optimize?
+ This describes so much sad experience.
Jun
18
comment Is there a comparative study of the memory consumption of programming languages runtimes, correlated with expressiveness and production bug ratios?
@haylem: I bow to an honest question. Good luck.
Jun
18
comment Is there a comparative study of the memory consumption of programming languages runtimes, correlated with expressiveness and production bug ratios?
@haylem: well, I did enough of it myself, and as for interesting angles, I gave it my best shot. As a practitioner, I find what young programmers have been taught about performance is amazingly naive.
Jun
18
comment Is there a comparative study of the memory consumption of programming languages runtimes, correlated with expressiveness and production bug ratios?
"Is there a comparative study ..." etc. I've seen this kind of question before, and to my mind it reflects a common misperception - that as long as you choose the right language, you'll be making an optimal tradeoff between expressibility and performance. IME, any program that makes heavy use of memory allocation and deallocation is going to suffer badly, and that could be due to the language, and/or the way the program is written.
Apr
23
comment Why do we need “callback functions”?
+ That's what callbacks are good for, but I hate having to write them :-)
Apr
16
comment Implicit optimization versus explicit optimization
+ Library routines should not be sluggards, but their main purpose is ease of use, correctness, and reliability. I discovered using LAPACK that it was actually not very efficient in the case of small matrices, but it still serves its purpose.
Apr
12
comment What to do when your colleagues don't value code maintainability
I saw things like that during my contracting days. It seems to me the real problem is the high turnover, and that is caused by a management style, starting from the top, that doesn't actually value its people. I could always tell, just by sizing up the CEO, whether this would be a good company to work for.
Apr
4
comment “Too object-oriented”
@ThuneGrill: Karl's right. Stick to pragmatic reasons, not religious ones. OOP is certainly a good idea, but I've seen it carried to ridiculous extremes. The result is making mountains out of molehills. Things that could be done in 1000 lines of code end up being 10,000 lines of code with classes galore. Then, Gee, it's hard to maintain, and the performance sucks. (No matter what collection classes get used.)
Apr
2
comment Performance overhead of standard containers and boost
Here's what astounds me. The problem with all such recommendations is they are flying blind, like a plane in the clouds with no instruments. Just having wings and a motor won't get you where you want to go, without guidance. Sure it might be that new & delete are costly, but just avoiding those won't make the code fast. You need to know how to find out what to fix. Sure - profile - everybody says. They say it, but they don't do it, and it doesn't work very well anyway. Here's what works.
Mar
9
comment Connection between programming language and solutions
+ At least for making me look up Sapir-Whorf :)
Feb
14
comment A question regarding linked list vs vector insert/remove results comparison
+ Right. I hate it when I hear blanket, categorical assertions like "use lists" or "use arrays". It's a way of putting part of your brain on a vacation/holiday. I let the program itself tell me what's taking the most time, as in this example.