9,518 reputation
12040
bio website en.wikipedia.org/wiki/…
location United States
age 70
visits member for 4 years
seen Sep 14 at 15:18

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
19
comment In the days of modern computing, in 'typical business apps' - why does performance matter?
Performance matters if it's poor.
Aug
19
comment How meaningful is the Big-O time complexity of an algorithm?
@Snowman: Right, and when they do mention "profiler", they mention "gprof" in the same breath, which in my opinion is worse than saying nothing. Check the second answer here.
Aug
17
comment How to approach program design with respect to data strucutres and algorimths - is there an equivelant of the OO design process for d.s.'s + algs?
I work with some very competent and professional people. They work well as a team, and their code is nothing if not well-written. However, there are still serious performance problems, as is likely when any software gets large. The problem is, programmers are taught how to find logic bugs, but not speed bugs. They are only taught platitudes, like "profile", or "measure", or quotations from Knuth. The reason is, their teachers have not been responsible for performance of large software. The method I recommend is this.
Aug
15
comment What does “context-free” mean in the term “context-free grammar”?
Very nice explanation. Although, a Turing machine's tape does not need to be infinite, only unlimited. There can be a tape-factory at either end that, when the machine bumps into it, simply makes more tape. That way, at any point in time, it is finite.
Jul
31
comment What is meant by “OOP hides the state”?
@Phil: Thanks for the tip on Racket.
Jul
30
comment What is meant by “OOP hides the state”?
@Phil: abstract is another one of those words :)
Jul
7
comment How bad is it calling println() often than concatenating strings together and calling it once?
When doing console output, the real "bottleneck" is the human reader, so don't worry about it. There's nothing you can do to speed that up.
Jun
30
comment How to allow innovation in an Agile Methodology
@Kevin: I originally studied non-software engineering. I think of inventions in those fields - Sterling engines, Wankel engines, turbine engines, transistors, LSI chips, LEDs, numerous forms of aircraft. At the MIT AI Lab, inventiveness was also encouraged, because there are lots of things we don't know how to do, like intelligent learning. I've tried to be inventive in software engineering, resulting in a book, some articles, and some videos. The ratio of negative to positive responses is about an order of magnitude.
Jun
30
comment How to allow innovation in an Agile Methodology
Innovation in software development is not easy regardless of methodology because people are taught (with good reason, I suppose) to stick to the things most people agree on. I think it's because software engineering is not very scientific, compared to other engineering disciplines, in which ideas are judged on their merits, not on their conformism.
Jun
30
comment How to allow innovation in an Agile Methodology
+ I think you've got it. I think the problem is with books that tell people how to do it. (I've found it's very hard to write without making stuff up.) Our team follows "Agile" and what it means is endless meetings. One member simply said "Count me out. It's just the latest fad. If you don't need me, that's fine."
Jun
28
comment get all the combination of a given set of numbers
You might want to get the terminology right. Check out Combinations and Permutations
Jun
2
comment How can Swift be so much faster than Objective-C in these comparisons?
Caveat Emptor! It all comes down to machine language. There probably are good ideas in Swift, but charts like that are meaningless.
May
29
comment Simplicity-efficiency tradeoff
@sarepta: A group of co-workers is a team - like a little family. There needs to be mutual trust, friendship, and helpfulness. That's more important than programming techniques. I'm sure you know this, so you're doing the right thing. Then, keep your expectations low.
May
29
comment How does an optimizing compiler react to a program with nested loops?
I hope you understand that the inner loop is the only one worth optimizing, and only if some computation inside it does almost nothing. Optimizing has benefit in code only to the proportion that the program counter actually spends time in it. Of course, compilers do a lot of unnecessary optimization.
May
13
comment Is lack of whitespace a sign of a cargo cult programmer?
I work with a lot of highly-educated people who write a lot of programs, but are not software engineers. They are full of what we call bad habits. Sometimes I'm able to nudge them into writing stuff that's readable. It's not a concern that they're used to considering. They tend to smile at us with all our pseudo-religions, but when they have to maintain their own code over years, they start to see the value of indentation, spacing, meaningful names, not using the same variable for multiple pusposes, etc. etc.
May
13
comment Does profiling without benchmarking lead to micro-optimization?
@nsfyn55: You're quite right. One case where it did not point to the problem was in a manufacturing simulation where there was an asynchronous protocol between processes, and delays were caused by fast actions being prioritized behind slow ones like DB update. For that, I used a laborious logging method, which worked.
Apr
26
comment Is there a performance difference between ++x over x++?
You've heard of the streetlight effect? You're not alone in falling for it. There are so many questions like this on SO, where people wonder if language feature X is faster than Y, when real performance issues are totally elsewhere. For one thing, you can only find them after you're written and run a program and (dare I say it) -profiled- it.
Apr
22
comment True/false on the left or the right?
@Parham: Ditto. It's a case of the streetlight effect.
Apr
3
comment Trying to “combine” similar objects without doing a bazillion comparisons
Not being primarily a database person, I'm trying to understand the question. In something vaguely similar that I did ages ago, there was one database that described the structure of another database. Then, since the first one changed at low frequency, there was benefit in precompiling it.
Mar
24
comment Reason for (post/pre) increment operator in Java or C#
@Doval: I even built a language I called D, like C but with OO and parallelism features. It went nowhere (mercifully) and has no relation to the D you are talking about. I drive people crazy in C?? by always writing break; case ... ;-)