Larkin, Hobbs let's meet in the middle.

Aug 03, 2008 28 Replies

Writing software, well most of you know MS, one fix after the other, never bug free. I must say if John Larking gets th code right 100% bug free before he releases whatever it is, then my hat of to him!



But who is the judge? Do you run soft to evaluate, do you have testers, or is it yourself. In the last case there are some question marks.



It is a tricky thing, some weeks ago I got a bug report for a z80 disassembler I wrote in the late eighties or nineties... Fixed it and released a new version.



As to the hardware, now after so many years I get it right first time, but still you can think of small improvements that could be in a next version. In the early days I got it wrong a couple of times really badly... But I have seen so many revision PCBs, so many PCBs with wires, done by people who claimed they were really good, almost have to laugh.


I guess it bytes you more if you make a mistake in something that will be made a million times, then in a one of piece of scientific equipment that can be easily updated.



But I have learned to test circuits a little bit at the time, before using them in a bigger design.



Now, these days, with simulation it may be easier to have a look at what will happen, but th soldering iron rules in the end. The simulations are really good though, but the scope rules.



So, guys, somewhere in between the extreme viewpoints of 'first time perfect' and 'many versions before it is right' is a reality - the reality that we are neural nets that often, but not always give the correct answer to the question-.



Even endlessly trained operators of nuclear reactors in submarines make mistakes. Everybody makes mistakes.



So... OK Phil, I agree, after claims of perfection we should let others check too ;-)


100% right most of the time. Not 100% right 100% of the time.

The thing I'm about to release has 431 distinct serial commands to parse and execute, most with arguments. It would be nice if every one does exactly what it's documented to do.

Both. I test my own stuff, and ask others to test it, too. I have a guy writing a Java-based virtual instrument to talk to this box, so he'll verify most everything too.

Sure. That's good too.

I don't want to remember.

I saw the first LSI-11 board at DEC. It looked like a red bear pelt on both sides. It worked.

happen,

mistakes.

Yes. But accepting iteration and failure is self-fulfilling. With care, most hardware can be right the first time, and most software can be done on time, bug-free. It's a habit, or not.

too ;-)

I program embedded stuff in assembly, which is more likely to obviously be broken when something's wrong. Higher-level stuff can have problems in libraries, memory leaks, deadlocks, mysterious hangs, stuff like that.

And I *read* my code to debug it, before and after it's actually run. I think that's the best way to generate solid code: read, comment, rewrite, clarify, eliminate risk. Hack-and-test-and-iterate is the path to bugs, in hardware or software.

This theory may be interesting: The easier it is to modify a design, the less care the author will put into the initial version, and the more bugs will be shipped. Consider

The Space Shuttle (first liftoff was manned, to orbit) Bridges Airplanes Skyscrapers ... Pacemakers ASIC design Hardware (pcb) design FPGA design Software

See? If somebody figures that bugs are inevitable but they're easy to fix, they'll hack-and-debug. And they won't find all the bugs, because they won't really care, and won't have the time anyhow.

I'm reading Showstopper!, the story of the development of NT. I think somebody here recommended it.

"Indeed, Cutler had found a calling in life. 'What I really wanted to do was work on computers, not apply them to problems.'"

I think there were thousands of NT builds.

Sound familiar?

John

a

happen,

mistakes.

too ;-)

So why should I hold a discussion with a neural net? I have people to talk to. ;) You really should read up on the mind-brain problem sometime when business is slow.

Cheers,

Phil Hobbs

Are neural nets actually useful? I know some people who have great enthusiasm for them, but I'm not aware they've ever got anything useful to work.

John

On a sunny day (Sun, 03 Aug 2008 10:33:32 -0700) it happened John Larkin wrote in :

Yes, agreed, all I can say if you can do it, keep with it!

too ;-)

LOL I remember this guy who looked a a piece of software I wrote, and screamed on the Internet: 'You Have a Memory Leak'. So, as it had run hundreds of hours on my system, and did not seem to go into swapping... I asked 'how do you know?' So he replied 'I looked at the code'. He never _ran_ the code though....

Well, I guess I am lazy in a way, in the old days I wrote perfect asm, and I am still doing OK with for example PIC, some other micros, FPGA, but in 'C' I sort of depend on the -Wall (warn on everything) compiler flag to alert me to what I did *not* think of. Compiling with -Wall on gcc is fun :-) That leads to iterations, it is probably OK, but perhaps somebody could get it right first time.

mm, yes, that is true, and sometimes I work that way. Just wrote a small email client, basically just to send email, one that does _not_ use 'sendmail', does look up the MX records, etc... It is a state machine, after getting it all working and planting it on the eeePC, the server tells me the Vodafone IP I got assigned has been added to the spam block database.. that really pissed me of. Sometimes they block port 25, but maybe they just entered it to that spam database to block port 25.. dunno. But anyways that code iterated as I got deeper and deeper into what was actually required (only had some vague wish list). It is pretty good now, should release it as GPL perhaps.

Yes I watched some of the space shuttle launches, would not want to be on board.... But would probably be fool enough to board one of my own designs ;-) Space X or whatever they are called had a launch failure recently, lost

3 sats... Now that is a private enterprise, their third failure, see, Von Braun also iterated a lot :-)

On a sunny day (Sun, 03 Aug 2008 13:51:07 -0400) it happened Phil Hobbs wrote in :

I could tell you sometng important about meditation, mind and brain, : it is possible to always be happy.

On a sunny day (Sun, 03 Aug 2008 10:56:37 -0700) it happened John Larkin wrote in :

But you did :-)

As Slartibartfast said, "I'd rather be happy than right any day" "And are you?" "No. That's where it all falls down, of course."

Cheers,

Phil Hobbs

As Slartibartfast said, "I'd rather be happy than right any day" "And are you?" "No. That's where it all falls down, of course."

Cheers,

Phil Hobbs

I've never seen anyone use them for anything real--they're impossible to validate, because you can't explain how any given net arrives at its output. Understanding how your gizmo works is very comforting, and reduces the number of midnight phone calls.

Cheers,

Phil Hobbs

I spent a week at a two day conference on neural nets about 15 years ago. They were going to revolutionize various intractable problems in the next 6 months or so. There were startups firing up, ready to blaze trails, and everybody was quite optimistic. I guess they got sidetracked somewhere. Kinda like string theory.

On the other hand, I've seen lots of large software systems that approximate neural nets, in that nobody really understands them, and they grow spontaneously based on the shaping of customer inputs (ie, customer reported bugs and requested features).

Any source base larger than a MLOC is probably too large for anybody to really understand, particularly if it 'evolved' over several decades, and the originators had no concept of modularity when they designed it. So, I'm not too worried about the ability to understand systems. Software engineers gave up on that a long time ago. Sadly, we understand large systems by test, since analysis is simply too hard.

Regards, Bob Monsen

On a sunny day (Mon, 04 Aug 2008 09:19:08 -0400) it happened Phil Hobbs wrote in :

It all fals down if you never do meditation, and just quote from others.

It's certainly true that old, unmaintainable systems eventually reach the Bug Event Horizon, when fixing one bug adds 1+epsilon bugs, and the whole thing disappears into the Howling Ether.

But even a big klugey thing like that has smaller bits, many of which can be understood in isolation, so it isn't quite like a neural net.

Cheers,

Phil Hobbs

Jan,

Your spiritual practices are your business, and I'm not going to express an opinion about them one way or the other. Out here in the public space, though, it helps everyone's peace of mind if some of the posts are occasionally at least slightly amusing.

As far as your grasp of human psychology, or of the philosophical understanding of thought, I haven't heard you actually _defend_ your position, so I can't evaluate it on the basis of your arguments. If you want to know mine, you can read about them at

formatting link
but I'm far from the most learned defender of the classical view. The basic outline is that logical thought can be proven to be impossible if all we are is pure mechanism--i.e. that view cannot be consistently held, because in arguing it we cut off the branch we're sitting on.

Cheers,

Phil Hobbs

I might've been at that same conference...San Diego, circa 1988?

The most impressive demo there was an inverted pendulum (a broom stick on a roller skate), balanced real-time in one axis. It consumed a maxed-out top-dollar IBM PC's CPU.

Bob Pease duplicated the task with a dual op-amp, I think it was.

Cheers, James Arthur

On a sunny day (Mon, 04 Aug 2008 13:32:57 -0400) it happened Phil Hobbs wrote in :

FYI (and this is not about needing to be funny, as you perhaps think is needed) There is nothing 'spiritual' about meditation.

I sort of glanced over that link you gave, but anyways, 'meditation' is the (scope) probe, you are the neural net. It is the net looking at itself, external input reduced (eyes closed for example), and seeing its own workings. That is all.

Irrelevant.

I do not have a position. The short sentence above explains it all. It if for _you_ to understand _you_. There is no other way, it cannot be hammered or argued into one's head. Your realisations are yours, and your understanding is yours. I gave up long ago trying to convince anyone of anything.

I think that is not correct.

But Bob Pease had to learn feedback/control theory at some point -- the promose of neural nets is that you can just train them "by example" and not have to be an expert in the field. :-)

Yep. I've heard they're used profitably in electro-discharge machining controllers too, deducing rules that otherwise take a skilled operator, and a very long time to learn.

Cheers, James Arthur

And the stock Market, but nobody wants much publicity for that kind of thing.

Dirk http://www.transcendence.me.uk/ - Transcendence UK http://www.theconsensus.org/ - A UK political party http://www.onetribe.me.uk/wordpress/?cat=5 - Our podcasts on weird stuff

A recent article in EDN described a neural net that was evolved using an FPGA. The FPGA was trained to do something really cool (sadly, I can't remember what), using very few gates. Unfortunately, the behavior evolved in such a way as to take advantage of the electrical quirks of the particular chip, and so the programmed image didn't work on other FPGAs.

Regards, Bob Monsen

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required