9,483 reputation
11840
bio website en.wikipedia.org/wiki/…
location United States
age 70
visits member for 3 years, 10 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
12
comment What is the meaning of the sentence “we wanted it to be compiled so it’s not burning CPU doing the wrong stuff.”
@JoachimSauer: You're right of course. It's still hard to make an interpreter run with less than a factor of 10 speed penalty compared to compiled code. If the language is one that really spends all its time in subordinate compiled functions that have to be called anyway, like math libraries or I/O, the cost of interpreting is not a problem.
Jun
2
comment Why do some programmers think there is a contrast between theory and practice?
@LieRyan: Engineers have draftsmen (er.. persons) (or CAD tools) to make their detail drawings. (I did that too.) On the issue of ingenuity, it's a gripe of mine, because I've stumbled on a couple of techniques with big payoff - random pausing and differential execution - and the counter-argument I hear most often boils down to "that's not what people were taught" (i.e. not readable). Heaven forbid they should have to be open to something new to get higher productivity.
Jun
2
comment I'm having trouble learning
(continued) I would give suggestions of problems, such as Hangman, Wumpus, baseball or football simulation (without graphics), science simulation like sailboat racing or genetics, family banking or investment system, maybe something that plays music, or Conway's Life game. Students would get the idea and then come up with their own.
Jun
2
comment I'm having trouble learning
+1 You said what I was going to say. I used to teach intro programming, and we started all students off in BASIC, because it's easy to get started. The object is to get into an individual project ASAP. Later courses taught Pascal. (This was before C was widely used.) The main thing is to get started on some problem that you find interesting, but is not too hard.
Jun
1
comment Why do some programmers think there is a contrast between theory and practice?
In my exposure to civil engineering (way back when) there were fields of study on structures, soils, waterways, highways & railways, etc. (You wouldn't believe the math, physics, & fancy programming involved.) Then also project management, costing, etc.
May
29
comment Why is quicksort better than other sorting algorithms in practice?
+ Right. Teachers need to be more aware (and I was a teacher) of the fact that constant factors can vary by orders of magnitude. So the skill of performance tuning really matters, regardless of big-O. The problem is, they keep teaching gprof, only because they have to get past that bullet point in the curriculum, which is 180 degrees the wrong approach.
May
24
comment Software Optimization vs. Hardware Optimization - what has the bigger impact?
@dwelch: 9600 baud was considered state-of-the-art fast not that long ago.
May
20
comment How to deal with over-complication?
+1 for the St-Exupéry quote.
May
8
comment Why isn't the line count in Visual Studio zero-based?
@svick: I know, but programmers can be silly. 1) Know how the "mod" function in math should give you a number from 0 to N-1? Well, "%" says -1%3 is -1. This also affects the way "/" works. Why? Principle of minimum surprise. 2) On performance most (not all) programmers have a blind spot - they think you have to measure to find what to fix. Even if you show them why that's not so, they treat you like you're crazy.
Apr
27
comment Merge sort versus quick sort performance
@Neil: Is that right, that mergesort prefers a mostly sorted list? I thought mergesort was basically the same no matter what.
Apr
26
comment Merge sort versus quick sort performance
As Robert said, quicksort is only quadratic in the worst case, and that's easily fixed. In general, the way to compare algorithms is by counting some basic operation, like comparison. Semantically equivalent programs can vary dramatically in their constant factors, with aggressive tuning needed to make them as fast as possible.
Apr
15
comment Performance analysis of C++ programs
@AT: Industry-standard metrics? What are those?
Apr
14
comment Performance analysis of C++ programs
@AT: Then what I would do is count basic operations, not measure time, because the same algorithm can easily differ between different implementations by orders of magnitude, as demonstrated here.
Apr
11
comment Is the phrase “never reinvent the wheel” suitable for students?
+ Especially for the last point.
Apr
6
comment How do you maintain focus when a particular aspect of programming takes 10+ seconds to complete?
I've got a little timer that I can use for this, not that I actually do :)
Apr
2
comment Must developers understand the business domain or should the specification be sufficient?
++1 "death march programming". That's like in the US the story of the tar baby.
Apr
2
comment Does code generation increase the code quality?
@Thorbjørn: I agree. On one app I've had to maintain there is generated Fortran. The need to be able to debug it was lost along the years, and I'm the only one stupid enough to still be around to field the service calls :)
Apr
2
comment Any Practical Alternative to the Signals + Slots model for GUI Programming?
@IntermediateHacker: I'm not sure what you mean by user defined input. Do you mean having a form-designer app?
Mar
27
comment Is the 'C' in MVC really necessary?
Personally, this is what I do. There may be cases where there is no alternative to MVC, but I can't stand it.
Mar
13
comment Where is the application of Calculus (of continuous quantities) in Computer Science or programming
@Blrfl: I think we're in violent agreement :-)