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


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.
Feb
11
comment Why is the main memory for object allocation called the 'heap'?
@Robert is right, and don't forget, the folks inventing these terms were just ordinary slobs like us. So what do you call a pile of stuff that has no particular order to it? Well, "heap" is one thing. (I can think of others :)
Feb
11
comment Usefulness of pre and post order traversal of binary trees
@Kilian: sdg is right. With inorder, you have to be concerned with precedence, unless you put parentheses around everything.
Feb
4
comment How to best approach planning and budgeting of software performance optimization efforts?
@Paul: And these people are good. It's just the team dynamics and how programmers are taught. I often wish there could be a revolving-door situation between academia and industry, just to keep the profs (I was one) from teaching idiotic stuff (like gprof :) There's tons more wisdom in the pages of stackexchange.
Feb
3
comment How to profile a Perl + FastCGi + StarRunner web program?
You're right. 20 years ago I worked on a factory-floor system with multiple machines TTY-ing each other. It wasn't easy, but I managed to get time-stamped logs, from which I could trace the history of individual message flows across machines/processes. It wasn't fun, but I did manage to dig out some tumors. Glad you found something that works.
Feb
2
comment How to profile a Perl + FastCGi + StarRunner web program?
Hi @Paul. This is a case where, in general, my favorite method only takes you part way, because you need visibility into round-trips between server and client, although here's a case where it was effective, even with a protocol in the middle.