9,712 reputation
12142
bio website en.wikipedia.org/wiki/…
location United States
age 70
visits member for 4 years, 7 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.


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 ... ;-)
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
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
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.