Embedded survey

This is just for fun. I have noticed over the last ten years or so a mildly disturbing trend towards reinvention in unexpected places.

Take RISC and computer architecture. In early texts and papers there was the monolithic memory model and the Harvard Architecture (code and data on separate busses). The term Harvard is still used. However, another distinction, single address versus dual address or two address architectures seems to have been forgotten then renamed the very awkward load/store architecture versus CISC. A distinction without a difference. I know what they MEAN, but CISC has to load then store for a move, they just are not separate instructions.

Recently I began running across human interface guidlines like "The Principle of Least Surprises" with nearly identical examples to Jef Raskin's (creator of the Mac project at Apple) published work from the 60's to his untimely recent passing. Jef's principles of Monotony and Modelessness describe the same thing but much more succinctly and include remedies.

I see the lack of background coming from places like the Ruby on Rails and other UltraHLL camps. I wonder why?

So I began wondering about the education of the modern hardware/firmware enthusiast. have they read what are now the classics? I see frequent questions on the most basic concepts. So I have few questions. I don't know how to keep it anonymous unless you want to email me and I can keep totals. I guess to avoid lopsided results readers would have to answer i the negative or positive so we don't just get responders who fit the classical stereotype.

By studies I don't just mean a college course, but fairly rigorous study of some sort.

1) Are you a self-taught programmer? 2) Are you a self-taught hardware designer? 3) Have you studied "The Art of Computer Programing" by Knuth? Which volumes 4) Have you studied "Algorithms + Data Structures = Programs" by Wirth? 5) have you studied books by Dijkstra and Hoare? Which ones? 6) have you studied uC/OS by Labrosse? 7) Have you studied numerical analysis? Numerical methods for engineering and physics? 8) Have you studied analog circuit theory? (e.g. can you write the complex description of a filter and solve the equations of the simpler ones? Are you familiar with the Ebers-Moll model of the transistor? Are you familiar with electron statistics and the limits on measurement due to quantum mechanics? 9) Can you translate truth table into logic gates? Use a simple logic descriptor like PALASM for PALs and GALs? How about VHDL or equivalent for gate arrays? 10) Do you like being responsible for a well defined subset of a project, or the whole thing from bottom to top?

Of course you don't need to have this background, but it was considered only part of the basics 20 years ago (Labrosse is newer). Not having this background or equivalent means reinvention or inferior work (and the occasional brilliant new idea) and it also means great difficulty in communicating with us dinosaurs.

This isn't new of course. I was at a company in the 1980's that had a contest to see who could write the fastest text search algorithm. I was doing hardware bring-up but I gave it a shot. Guess what? I was the only one on a staff full of IV League computer science grads who had read Knuth! It was a TKO and my search algorithm shipped in the product.

Have fun. Give it some thought. Add some items of your own.

-- Charlie Springer

Reply to
Charlie Springer
Loading thread data ...

... snip ...

Yes

Yes, largely.

All three.

Yes

Yes. Don't remember names.

No

Yes

Haven't for many years, and no. I haven't really needed it.

Yes

Whole thing.

My background precedes computers, and is in mathematics and physics. After you collect for a reasonable period, please publish a summary.

--
 [mail]: Chuck F (cbfalconer at maineline dot net) 
 [page]: 
 Click to see the full signature
Reply to
CBFalconer

Yes.

My formal training is in analog circuit design, control systems, and communications systems.

Nope.

I've skimmed it (it was one of my wife's college texts).

Nope.

I've thumbed through the book, and have specified it to be used (it's pretty good, for the most part).

I don't think I could ever get enough NA, particularly since I must study it on my own.

Yes, yes, yes, more or less yes, yes.

I end up doing far more systems engineering these days than analog circuit design. Usually when it comes time to design an op-amp circuit my colleagues are busy entering netlists into SPICE while I'm busy drawing up feedback loops on paper. Then I use SPICE to further verify what I've used theory to prove.

But mostly I'm either wielding a machete, chopping through the underbrush of Mathemagic land, or I'm writing algorithms to embody the math that I've worked up.

Yes, no, yes. (PALASM is too clunky, and I kind of leap-frogged the whole PAL thing).

Most of the projects that I work on need top-flight mechanical, electrical, and software engineers all working in concert to pull the thing off. Most of them are just too big to have one person with enough technical smarts to wrap their brains around the whole damn thing.

So no, I'm not a project manager, I'm a design engineer.

But I'm often the systems architect for either the whole thing or some large subset (like all the motion control).

--
Tim Wescott
Wescott Design Services
 Click to see the full signature
Reply to
Tim Wescott

On Sun, 19 Oct 2008 15:35:57 -0700, CBFalconer wrote (in article ):

Looked at your site. You guys should have sent one of your cool DACs to Richard Feynmann. He would have had a blast with it.

-- Charlie

Reply to
Charlie Springer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.