Honda hydrogen car??

   / Honda hydrogen car?? #81  
patrick_g said:
Micros and macros. Micro instructioins were the precursor to assembler language. Macros are named groups of intstructions envoked by name instead of having to write the same lines of code over and over.

If you have several lines of code to do a job you can give it a name and instead of having to write all those lines of code every time you just call it by name. When running the assembler or compiler the actual lines of code are inserted in place of the name. Sounds simple and is but it was the begining of someting quite grand, STRUCTURED programing.

Pat

Bear with me as I haven't touched FORTRAN in 20-years; but FORTRAN's equivalent to micros were FUNCTIONS and the macro equivalent were subroutines.

The biggest thing that frustrated me with LISP at first was the complete lack of a GOTO function. Man, what a pain that was to relearn how to branch without that function. The other part was math functions were what I called "Reverse Reverse Polish Notation" and I prefer regular RPN H-P calculators over algebraic calculators. In algebraic notation, 2 + 2 = 4. In RPN, it is 2 ENTER 2 +. In LISP it is, (+ 2 2).

LISP, or at least AutoLISP has functions and subroutines. The functions are called by LAMBDA, which I never got the hang of using and subroutines are just other LISP routines. AutoCAD's AutoLISP is a run-time language, which made it easy to make changes and test as the compile and linking requirements of a compiled language are non-existent. The downside to run time programs is that they tend to be slower; but in general that never was a real problem. AutoCAD eventually provided compiled LISP via the VisuaLISP interface when they bought out a third party software company.
 
   / Honda hydrogen car?? #82  
UH OH!!!! Warning Warning Warning, Proper software engineering scolding, ah errr ah I mean mini-lecture follows...


GOTO is a 4 letter word to structured programers. It is an anathema to properly structured code. With a proper computer language that has support for the minimum subset of control structures needed there is virtually NEVER a need for an unconditional branch (goto.)

Shortly after Dartmoth BASIC grew up a bit even folks (in the know) didn't use a goto in a BASIC program.

C, C++, Object C, Pascal, Ada and a plethora of other useful languages can do virtually anything without a goto. Computer science majors are taught (or should be) goto-less programing. I have had classes (that I took and ones I taught) where using a goto would have been to volunteer for summary execution.

Conditional execution, iteration, and such control structures as supported by virtually all modern languages obviate the need for a goto.

AARRRRRGGGGGGGHHHHHHHHHHHH now I have to go burn incense and chant my mantra!

Pat ;)
 
   / Honda hydrogen car?? #83  
patrick_g said:
UH OH!!!! Warning Warning Warning, Proper software engineering scolding, ah errr ah I mean mini-lecture follows...

GOTO is a 4 letter word to structured programers.
Pat ;)

To paraphrase the "Lost in Space" robot...DANGER MJNCAD, DANGER!

Like I said, I learned how to branch in LISP since it doesn't have a GOTO function. I eventually used subroutines in FORTRAN as it was more efficient and easier to debug than poorly planned GOTO branches; but I kept the GOTO usage for simple branches where the overhead of another subroutine wasn't justified. I never got into C, C+, C++ since my CADD Dweeb career didn't quite go where I wanted it to at the time. Oh well it doesn't matter now.

Man, all that was a long time ago.
 
   / Honda hydrogen car?? #84  
mjncad, Most all high level languages with decent support have had pretty good optimizing compilers for a decade or two. The result is that the emphasis is on writing easy to read code that is easy to understand and maintain not worying about using another machine cyle to make another fetch or write to mem.

Once you have relieved the programer from the neccessity to worry about efficiency and execution speed and concentrate on what it is the code is supposed to achieve not how it is to achieve it then you get more productivity as well as easy to read and understand programs that can be maintained by folks who didn't originally write it.

Now then, about the efficiency and about hard real time requirements and the execution speed and all that sort of thing... A good optimizing compiler actually emits code that executes as fast or faster than most bit fidlers can put together manually and it is much easier to maintain at the high level source level instead of machine instruction level.

I have met a lot of bitheads who just would not believe that someone could write so verbose and English (Natural Language) like statements to express the required logic and actions so clearly and not be way slower than their own clever hand coded "tricks" but in heads up competition they have been stomped by much less skilled programers using a good optimizing compiler.

If you put enough SMART GUYS to work long enough you can build a compiler that will spit out the tightest code imaginable starting with the easiest to read and under stand high level language statements. Once you have captured the "intelligence" in the compiler then the requirement to be a super bit head to write a decent real time program is removed and just regular people who understand the problem domain can write programs that execute efficiently and git 'er done.

As you can imagine there has been a lot of weeping and wailing on the part of the bitheads whose job security was threatened by a bunch of whipper snappers who didn't really understand "TIGHT CODE." Programing has moved from an arcane art to an engineering endeavor, not unlikie engineering electronic hardware or bridges or ... I forget who sid this but it is so true... If architects and engineers built buildings the way programers make programs then civilization as we know it would be destroyed by the first woodpecker.

About 10 years or so ago I had some ideas about automating the programing process by coupling it to anallysis. Why not use structured methodologies (perhaps mechanized through CASE tools) to analyze and define the relationship between the problem space and solution space? It turned out I was working in a vacuum and several folkks were way ahead of me in trying to do that. Project Technology in Berkely, California (Sally Schlaer and Steve Mellor) had some real smart guys working on that.

They had developed an object oriented analytical methodology that allowed you to define the problem and once you had the definition captured in the CASE tool the tool would feed code to a compiler and you got a runable program that was the solution to the problem. This was in its infancy when I first started takiing classes they offered but was able to handle some pretty demanding realtime multi-tasking problems as of 8-10 years ago. I haven't kept up with their development but it should be pretty polished stuff by now.

Pretty neat concept huh? Define and model the problem and the computer tools write the program for you essentially. Takes programinig up a notch or order of magnitude in abstraction. Now a scientist or engineeer trained in the use of these analytical methodologies can descripe a realtime system with this formalism and get a runable program. Gee Mr. Programer, feel threatened?

Oh, and how does this stuff relate to HYDROGEN? This stuff is a real gas and so is hydrogen!

Pat ;)>
 
   / Honda hydrogen car?? #86  
Patrick_G:

Excellent response. When I was writing hard core LISP programs for AutoCAD, I did all my coding in Notepad, and eventually Word saving the file as ASCII text. The VisuaLISP tool had some neat ideas; but was still not quite ready for prime time. I should look at it again as I have the latest version and see if it has improved.

A buddy of mine wondered why I never got enthused about writing HTML and creating web pages. I told him I was somewhat burned out on learning another language on top of all the other responsibilities I had at the time. Last year I started messing around with web pages, and used Frontpage to do the work. My MAC addict nephew-in-law chastised me for using Frontpage, and I was surprised he does his coding the old fashioned way, especially since he is almost 20-years younger than me.

Anyway, once I learned Frontpage's quirks, I liked working with it as it allowed me to concentrate on the big picture without worrying about syntax, arguments, etc. Don't get me wrong, knowing the fundamentals is important; but I would rather get a program up and running quickly because my CASE (Computer Aided Software Engineering for those wondering) tools takes care of the drudgery for me.

The biggest downside to cheap memory and hard drives is that programmers tend to write bloatware now instead of tight code. When I was doing the FORTRAN programming, it was for an industrial piping design menu for the old Sperry-Univac Auto-Trol CADD system. Memory was at a premium, so to optimize performance, my FORTRAN guru had me build the data tables as integer numbers that would be divided by 100 or 1000 at execution to obtain the floating point number needed to draw the fitting to proper size. Intergraph and Microstation were still using integer based 3D space for the model to be created. As I recall, Microstation had about 1-billion addressable points in its space. That sounds like a lot until you begin to model a very large refinery or power plant. AutoCAD uses floating point 3D space and isn't hampered by that limitation; but it does have its quirks too.

In any case, the cheap computing power of today's PC's has made it possible for almost anyone to be a somewhat successful CADD Dweeb. I got started in CADD when it was new, limited and expensive; hence my salary reflected that. If I got started in the business now, I would never make anywhere near what I did when I finally said enough is enough and got out.

Quite a digression from hydrogen to software; but it is interesting.
 
   / Honda hydrogen car?? #87  
For years now I have been predicting that future programmers will not have a degree in electronics or computer science, but rather, graphic arts.
 
   / Honda hydrogen car??
  • Thread Starter
#88  
patrick_g said:
gemini5362 said:
If you consider the process on the atomic level it all works and there are no losses. In our atmosphere oxygen atoms are usually bound to each other in pairs called O2 (molecules), Free atmospheric hydrogen is typically H2 (molecules.) So, if you combine 2 H2 molecules and one O2 molecule you get 2 molecules of water H2O. The energy released in this process is precisely equal to the energy it takes to take two water molecules apart into their constituent components of 4 atoms of hydrogen and 2 of oxygen.

Unfurtunately the requirements for using hydrogen as a motor fuel requires lots of hydrogen and no commercially viable process even comes close to the process described above with its 100% efficiency and reversability when making commercailly significant quantities of hydrogen.

I favor hydrogen as a motor fuel. .

Pat

Happy New Year Pat!

I don't belong in this discussion as it's over my head. I'm too old of a dog to learn new tricks. However, for whatever reason, I have 2 questions.

1. Somewhere I heard that ozone is O2. I was wondering why O hangs out in atmosphere bound to each other in 2s. Is O2 the same as being bound in 2s? Is this actually ozone or is ozone something different?

2. Wouldn't it be nice if someone could come up with a way to make a solar generator that could produce hydrogen in small amounts at home? It's a long way around having filling stations, but we will never see BP or the others set up hydrogen filling stations; they wouldn't want to put themselves out of business.

Cheers
 
   / Honda hydrogen car?? #89  
gemini, Cheers to you too mate!

Actually Oxygen likes to be bound into a molecule of two oxygen atoms and is happy and content that way. Ozone is O3 and is not so happy (stable.) It is easily decomposed into O2 and an elemental O. O is more active than O2 so single O's tend to get attatched to something. One of the ways that Ozone eats your tires or rubber bands is when it comes apart the single O's are very chemically reactive and latch on the the rubber, oxidizing it.

O3 (Ozone) is not so very stable and likes to come apart easily. A couple ways ozone gets created is when atmospheric oxygen gets hit by lightning (or exposed to high volts in your CRT or whatever or your electric fence like the one I touched yesterday or UV light (more energetic than normal visible light) can turn some O2 molecules into O3 molecules, i.e. 3 O2's can make 2 O3's.

Anyway Ozone (O3) being unstable and coming apart into a more stable O2 and a more reactive single O is used as a sterilizing agent. That is how the UV water treatment works. UV light is shined through the water (which has O2 disolved in it naturally) and some of the O2 is boosted up to O3 but it reacts with the water and becomes O2 and O. The reactive O oxidizes the pathogens (living thingies that are not good to drink while alive.)

This material may be on the mid-term.

Actually if you only need a little hydrogen from your solar powered generator, we can do that NOW! A solar panel to make the electricity to perform electrolysis on water which takes it apart into hydrogen and oxygen. I can do that now (or more likely tomorrow when the sun comes up.) I have several solar panels and buckets to hold the water. An inverted fruit jar filled with water will collect the gasses, one for oxygen and one for hydrogen.

Electrolysis of Water and Fuel Cell Operation

Here is one of a jilliion sites about electrolysis that are not into hiar removal. Substitute the PV panel for the battery.

Pat
Pat ;)
 
Last edited:

Tractor & Equipment Auctions

FRONTIER AV50H LOT NUMBER 114 (A53084)
FRONTIER AV50H LOT...
2000 PETERBILT 357 6X6 DAY CAB ROAD TRACTOR (A51406)
2000 PETERBILT 357...
Sims Snow Board (A51573)
Sims Snow Board...
KUBOTA RTV X1100C UTV (A51406)
KUBOTA RTV X1100C...
2025 New/Unused Wolverine Pallet Fork Frame with Forks (A51573)
2025 New/Unused...
2010 Ford Edge SE SUV (A51694)
2010 Ford Edge SE...
 
Top