Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #10883 > unrolled thread
| Started by | Mark Wills <markrobertwills@yahoo.co.uk> |
|---|---|
| First post | 2012-04-04 04:19 -0700 |
| Last post | 2012-04-08 11:10 -0700 |
| Articles | 20 — 12 participants |
Back to article view | Back to comp.lang.forth
A Forth Story... Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-04 04:19 -0700
Re: A Forth Story... Mentifex <mentifex@myuw.net> - 2012-04-04 11:04 -0700
Re: A Forth Story... "A. K." <akk@nospam.org> - 2012-04-04 21:08 +0200
Re: A Forth Story... Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-04 12:29 -0700
Re: A Forth Story... Bernd Paysan <bernd.paysan@gmx.de> - 2012-04-04 23:02 +0200
Re: A Forth Story... "Elizabeth D. Rather" <erather@forth.com> - 2012-04-04 10:42 -1000
Re: A Forth Story... "A. K." <akk@nospam.org> - 2012-04-04 23:08 +0200
Re: A Forth Story... "Elizabeth D. Rather" <erather@forth.com> - 2012-04-04 11:17 -1000
Re: A Forth Story... hwfwguy@gmail.com - 2012-04-05 09:59 -0700
Re: A Forth Story... dirk.bruehl@usa.net - 2012-04-05 20:51 -0700
Re: A Forth Story... dirk.bruehl@usa.net - 2012-04-05 00:08 -0700
Re: A Forth Story... Paul Rubin <no.email@nospam.invalid> - 2012-04-05 00:47 -0700
Re: A Forth Story... dirk.bruehl@usa.net - 2012-04-05 20:17 -0700
Re: A Forth Story... "P.M.Lawrence" <pml540114@gmail.com> - 2012-04-05 23:47 -0700
Re: A Forth Story... dirk.bruehl@usa.net - 2012-04-04 23:54 -0700
Re: A Forth Story... Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-05 02:02 -0700
Re: A Forth Story... Fanzo <cristianof6@gmail.com> - 2012-04-05 19:49 +0200
Re: A Forth Story... Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-06 07:02 -0700
Re: A Forth Story... Steve Graham <jsgrahamus@yahoo.com> - 2012-04-06 09:15 -0600
Re: A Forth Story... Wasif Hyder <wasif_hyder@hotmail.com> - 2012-04-08 11:10 -0700
| From | Mark Wills <markrobertwills@yahoo.co.uk> |
|---|---|
| Date | 2012-04-04 04:19 -0700 |
| Subject | A Forth Story... |
| Message-ID | <a3aff0a8-f7da-410b-afbd-03e63d903e8d@l3g2000vbv.googlegroups.com> |
...but is it the story of Forth? Enjoy. --------------------------------------------------------- A Forth Story Allen Cekorich Walnut Creek, California Forth Dimensions, July/August 1995 In 1975, I was fresh out of college with a bachelors degree in physics and a need to find a job that paid enough to support myself. After a six-month search, I landed an entry-level position at MDH Industries in Monrovia, California, where they promised to increase my minimum wage starting salary once I proved myself useful. I was to work with the president and owner, Dr. Howard Marshall, Ph.D., on a project to develop an instrument to measure the real-time sulphur content of a coal stream by detecting and analysing the prompt gamma ray spectrum resulting from the absorption of thermal neutrons from a Californium 252 radioactive source. The opportunity sounded exciting to my naive ears, as it was my first professional job. I was finally in the real work world of adults and ready to go on to do great things. Remember, this was twenty years ago and I was only twenty-two years old. I had no previous experience to guide me in the situation I was in, no mentor to teach me, no helping hand and no idea of where to begin or what to do. Like most good engineers, I decided to fake it until I understood my value. I spent the first Year or So understanding the design parameters of a Sulphur meter, which involved creating a computer model on a Tymshare IBM 370 System accessed with a Teletype terminal at the fantastic rate of 30 characters Per second. This was a revolution from the punch cards I had used in college on a CDC 3150 that could be viewed through a glass window in the foyer of the computer department. MY degree in physics mandated that the modelling language would be Fortran, and I naturally enjoyed programming, which was probably related to my ability and love for mathematics. I had completed the coursework for a degree in mathematics with a 4.0 average in college. I was proud of the growing complexity and depth of my simulation, which was now consuming hours of computer time during the night hours when the cost was lowest. It came to pass by the natural events of the development process that construction of a sulphur meter prototype was to take place. Howard Marshall had earned his doctorate in physics from the California Institute of Technology, which is very much in bed with the Jet Propulsion Laboratory in Pasadena. His contacts encouraged a computer- based instrument and recommended a strange language called Forth that was floating around the lab. They convinced him it was possible to build a small, Z80-based controller that could acquire the spectrum from the sodium iodide detector and maintain real-time signal processing rates to compute the actual sulphur content. Somehow, outside my area of responsibility, an S100-bus system showed up from the Empirical Research Group. My electrical engineer office mate had been assigned the task of fooling around with it for development purposes, but no progress seemed to ever be at hand. After some time had passed, a fellow named Martin Smith showed up from the Cal Tech network. He brought with him a Forth running on a Monolithic 280-based multi-bus system, and progress toward a controller began. I was preoccupied with designing the sulphur meter based on my Fortran simulation. but the natural need to verify the model from real data taken from the prototype was growing important. With the help of Marty, I started playing with the Forth computer. This was the first time in my life that I had actual, physical contact with a computer. Those big, eight-inch Shugart floppy drives that held a whopping 120K bytes, and the awesome 64K of fast RAM, along with the character-based video display terminal, intoxicated me. What what was more puzzling was this strange way of talking to the computer, called Forth. I had taken a computer language survey class in college which included Fortran, Algol, PWM, Cobol, Trac, Lisp, and APL, but had never heard of anything called Forth. It was strange and unnatural without program statements. I could not find the compiler, linker, or listing output. I could not figure out how it worked, but I realized that I now had direct contact with the CPU without the need to learn complex system manuals. I finally had a computer under my control and I went to town. Over the next few years, I had a good time writing programs on that small Forth system to do data preprocessing for input to the real, grown-up IBM Tymshare computer for comparison to my simulation. I taught myself the Z80 assembler in the Forth, which gave me access to the computer hardware. I played with serial comms, DMA for the disk drive, video display controller, interrupts, and, most important of all, the AMD 9511 floating-point coprocessor. I wrote linear matrix functions, least squares routines, statistical measures, data filters, and data stacks for working with the gamma ray spectra. I used that little 64K computer to its limit to complete the calibration of the first delivered sulphur meter. I also became an expert in using Forth, although I still did not fully understand what I was doing. About this time, around the beginning of the eighties, a recruiter called me searching for a Forth programmer. I was not a Forth programmer in my mind. I did not see myself as a Forth programmer. I was a physicist using a tool to do a job. Anyway, I went on an interview to Forth, Inc. in Manhattan Beach, California, and met a man named Edward Conklin. We talked about what I had been doing with Forth, I showed him some of my listings, toured the offices, and shook hands upon departing. A few days later, the recruiter called saying I had been offered a job for more money than I was making and encouraged me to accept. I was puzzled. I was not a Forth programmer. Why did they want me? What would it be like? I just did not understand where I would fit in. I declined the position, Over the years, I have wondered what direction my career would have taken if I had just said yes. Looking back, it is easy to see now that I was an exceptional Forth programmer, as following parts of my story will reveal; but remember, I was still in my twenties, working on my first job, which limited my view of my career horizon. My destiny would take me to other places and back again, to Forth. My job was winding up with the completion of the first sulphur meter. Martin Smith had left earlier, going back to a previous job at Technicolor in Hollywood. I had grown as an engineer, becoming more than could be supported by the twenty-five person company that was owned by a single person. The end of my first job had come, so I resigned and, that weekend, I bought a Victor 9000 personal computer. I did have the vision to see that what I had done with that small 280 computer spelled the death of my cherished IBM 370 computer running Fortran over the phone line. The future was in small, personal systems that clearly exceeded the power of the off-line dinosaurs. I did not know what I would be doing, but I knew what I would have to do and that was to learn the basics of the smaller machines. As fate would have it, Many called me the following Monday, and a week later I was working for Technicolor. It was now May of 1983. I had taken the job as a computer programmer who would develop the control software for a film printer. This was a special kind of printer to reduce the cost of choosing the RGB color light levels for a film scene by printing one frame of scene onto the positive, thereby saving the cost of developing a complete print just to check the production parameters. I had to learn Intel's version of PL/M and assembly for the 8086, which was the heart of the Intel 88/40 multi- bus board computer controller. I was back to compilers, linkers, and locators, and got to play with in-circuit emulators. I discovered real- time control that enables computers to interact with the physical world. I learned multitasking, interrupt response times, and control inputs and outputs from A/D and D/A chips, counters, and parallel lines. I got to play with big servo motors. I had a ball. I almost forgot about Forth. But not completely. I obtained the fig-Forth listing for the 8086 with the intention to boot a Forth on my Victor 9000. 1 spent many nights and weekends typing in the listing as I learned about DOS and just how the PC worked. I gathered documentation, bought some software, and joined the Victor 9000 users group. Time passed. Work went well with the nearing completion of the proof printer. Then Hollywood came into the picture. Hollywood is not in the real world, they make it up as they like. The engineering director and the chief engineer got themselves fired for no apparent reason other than a pompous power play which I never understood. The upshot was that my project was cancelled, leaving me in limbo. I chose to resign a month later, simply because I no longer had a defined job. It was July of 1984. I spent the next five months working twelve-hour days at home on my Forth system. I booted the kernel as a DOS executable, and promptly rewrote it to my liking, including redesigning the inner interpreter. I was forced, by finally understanding the true nature of Forth, to add an 8086 assembler of original design, an interface to DOS for files and display control, floating-point words for an 8087 coprocessor, and many utilities to work with my system. Looking back, I wonder why I did it. Why would I create a complete Forth development system for the PC? I had no use for it, nor any future plans for the system. I believe the answer was just to learn how personal computers work. Forth gave me direct access to the machine, and freedom to explore designs that felt right to me. I did not have to depend on a vendor to show me what I could do. My physics training led me to explore fundamentals of computer operation much as I explored the fundamental laws of the physical world. I also began reading Byte magazine every month to keep up on the technology, and I read books such as Donald Knuth's Art of Computer Programming. Forth gave me freedom to explore beyond the limitations of a fixed compiler with a straight-jacket syntax. I had finally caught the Forth bug. The realities of living without an income finally caught up with me. In December of 1984, I found a job with Litton Industries. The fibre optic department under Mike Suman had a contract with Western Geophysical to build a demonstration underwater fibre optic microphone towed array for oil exploration. The job was to complete an Intel multi-bus computer demodulator for five sensors. The software was written in PL/M-86 and assembler, and was presented to me as almost done. I learned quickly that the statement was politically correct but entirely false from an engineering perspective. I had wandered blindly into defence engineering for the first time. I redesigned the computer system to use three single-board computers in a multi-bus backplane, and wrote the software from scratch to multiplex the three 8086 CPUs to accomplish the demodulation. Four months later, it was finished, complete with a real-time video display of the sensor outputs for the all-important demo. The next day, the contract was cancelled due to the oil glut of the mid-eighties. I wondered if I had a job. The major part of the fibre optic directorate was involved in fibre optic rotation sensor development for military applications. The program seemed to be headed by a man named Dr. George Pavlath, who was a Ph.D. in physics from Stanford University. He had a problem with the testing of the rotation sensors on the rate tables which used H-P BASIC controllers. He knew from my resume that I had experience with Forth, and he had heard from his friends at Stanford that it was a very neat control language. I told him I had developed my own Forth system for the PC, and we agreed to try it out for rate table control. I brought in my system and spent a few months porting it to the IBM PC, adding drivers to read IEEE-488 instruments via a Metrabyte card, and rate table position from a CTM-05 counter board. I completed a fully automated rate table test station and began to test fibre optic gyros. The application of Forth to a flexible test environment was perfect. I went much further and added online data analysis, and began constructing my own unique plotting additions to Forth based on Brodie's MAKE DOER construct. My Forth system grew to maturity as different problems demanded solutions. I quickly returned to my physics roots to contribute to the new technology of fibre optic sensor development. All was not well, though. I encountered the first resistance to the Forth way of doing business. The Forth development environment was so efficient that the H-P BASIC controllers were made obsolete. This led to resentment by engineers who had invested their time learning H-P BASIC. I offered to teach them Forth, but remember, this was a system I had personally written. It was my creation, and no one could understand it as well as myself. Why should they invest part of their careers learning a tool that was the personal property of one engineer? They did have a point. But the fact was that my system was doing things that nobody thought possible before. It was even worse than that. It turned out that someone in a different Litton division was using Forth for production test station control for the same reason, its efficiency and power. This person was upset that I had brought in a new dialect. He had his box of tools and would not look at mine, and we could not share code. As the years passed, my system became entrenched in the fibre optic directorate and enabled a lot of progress to be made, even though I spent most of my time concentrating on the physics of the devices. A few people finally learned my system, which became quite powerful, but the lingering resentment remained. Other engineers felt I had cheated by using Forth, that it was unfair to them. I even published my Forth system, called AFORTH, through the Victor 9000 users group. I was told that up to forty people bought copies, and the head of the users group eventually got a job writing Forth. Sometime in the eighties, I got it in my head that Forth could be applied to build fast demodulators, especially since the advent of Forth chips. I convinced George Pavlath to send me to a company called Novix to check out a Forth-based CPU. It was on this trip that I met Charles Moore. He and I talked for half an hour about possibilities. I had a hard time believing that this was the creator of Forth. I played with a Novix development system, unaware that the chip was not yet real, in the sense that one could not buy one. In truth, I felt I was sticking my neck out by suggesting a Forth design when other engineers wanted my head for what I had accomplished in the testing area. The reality was, it did not matter - I ordered a Novix chip which was never delivered, since the company eventually folded. I felt relieved. I went on to work with DSP processors such as the TMS320C25, which were now capable of implementing complex demodulation designs and provided me with new areas to explore. Then the Berlin Wall fell. The defence build-up was over in a day, but it took several years of excruciating pain for many innocent people to accept the change in their lives. I held out until September of 1991, when I finally admitted it was time for me to leave. I could no longer pay the price required to survive. In January of 1989, I had replaced my ageing Victor 9000 with a Dell 386 computer. I briefly went into consulting with my Forth system. I worked several months for the Physical Optics Corporation in Torrance, California, automating their production holographic testers. I realized again that I was sticking them with a custom solution that could not be updated without me. It was just not viable. Even though they were delighted with the results of my work, I never got called back; probably because the engineering staff had changed in the interim. I was out of work until May of 1992, when I got a call from Systron Donner in Concord, California. A half-dozen Litton refugees had found jobs there, and they were eager for me to join them. I moved from Los Angeles to beautiful Contra Costa county, and thought I had found a wonderful place to work. The CEO was Dick Terrell, who came from Litton marketing, and was converting the company to quartz sensor technology. It turned out that I was the last one hired before the defence downsizing began in earnest at the company. I had to relive the experience at Litton during the next year and a half. I was hired to do DSP software for the Quartz Inertial Measurement Unit, but the military requirements for software quality control were beyond the resources of the company, so the project was cancelled a month after I arrived. Instead, I was asked to work on a substitute IMU for a contract delivery that was not going to happen on the current schedule. One of the main problems was that the rate table test station, which was being coded in C, would not be ready in time. I volunteered my Forth system for the interim station, and completed the work in several months. Once again, I experienced the wrath of engineers who said I cheated because they were forced to use the "correct C approach," while I used this thing called Forth, which obviously made the work too easy. Go figure. I should have known better; the truth was, nothing mattered, because the company was being downsized with a vengeance, and when the CEO was replaced, I soon lost my job in December of 1993. Among the people who joined me going out the door was a guy who wanted to start a company with a product, based on the Systron Donner rotation sensor, which would measure body movements for medical purposes. I met with him and agreed to program a prototype piece of equipment using my Forth system, in exchange for a future piece of the company. In one month, I had a prototype that displayed real-time rotation movement and medical parameters for Parkinson's syndrome. It was demonstrated to the Parkinson's institute and was well received. However, I told my partner that the final device could not be programmed in Forth. Why would I say such a thing? Simply because technology had passed Forth by, in my opinion. It was no longer possible for one person to develop all the software required in a graphical environment. I needed to buy the tools I needed to leverage my time for a professional job. I could no longer play the role of the maverick programmer, nor did I want to. I need to be part of a collaborative community in which I can give and receive work. I do not see Forth as a viable solution as of today. The start-up company never happened, for financial reasons, so I have been unemployed since then. I am also forty-two years old, and am looking at my life from the midway point. I have spent nearly twenty years doing this Forth thing, and I do not know if I want to continue with it. A year ago, I bought the Symantec C++ development package for Windows. I have yet to use it. It does not excite me like Forth did, because it does not give me the freedom to create those program constructs which enable my ideas. I guess I am still undecided on the issue of Forth, so I will renew my subscription to Forth Dimensions for at least this one last time.
[toc] | [next] | [standalone]
| From | Mentifex <mentifex@myuw.net> |
|---|---|
| Date | 2012-04-04 11:04 -0700 |
| Message-ID | <6807b4e5-147a-4edc-afcf-f8f749f3d95d@ms3g2000pbb.googlegroups.com> |
| In reply to | #10883 |
On Apr 4, 4:19 am, Mark Wills <markrobertwi...@yahoo.co.uk> wrote: in http://groups.google.com/group/comp.lang.forth/msg/95c3f82d1c681296 > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 > > [...] > Sometime in the eighties, I got it in my head that Forth could be > applied to build fast demodulators, especially since the advent of > Forth chips. I convinced George Pavlath to send me to a company called > Novix to check out a Forth-based CPU. It was on this trip that I met > Charles Moore. He and I talked for half an hour about possibilities. I > had a hard time believing that this was the creator of Forth. I played > with a Novix development system, unaware that the chip was not yet > real, in the sense that one could not buy one. In truth, I felt I was > sticking my neck out by suggesting a Forth design when other engineers > wanted my head for what I had accomplished in the testing area. The > reality was, it did not matter - I ordered a Novix chip which was > never delivered, since the company eventually folded. I felt relieved. > I went on to work with DSP processors such as the TMS320C25, which > were now capable of implementing complex demodulation designs and > provided me with new areas to explore. What a fascinating backstory! Thank you for sharing. Mentifex (Arthur) -- http://dis.4chan.org/read/prog/1332860361 http://groups.google.com/group/alt.memetics/msg/504d5ddc1aed4557
[toc] | [prev] | [next] | [standalone]
| From | "A. K." <akk@nospam.org> |
|---|---|
| Date | 2012-04-04 21:08 +0200 |
| Message-ID | <4f7c9c19$0$7617$9b4e6d93@newsspool1.arcor-online.net> |
| In reply to | #10883 |
On 04.04.2012 13:19, Mark Wills wrote: > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 <snip> Whoever it is ( TZ condensed? ;-) ) we stopped using Forth long ago for much the same reason: it is a niche tool for loners
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markrobertwills@yahoo.co.uk> |
|---|---|
| Date | 2012-04-04 12:29 -0700 |
| Message-ID | <45ac3e63-badf-42fb-82ee-97ea8333c73b@z5g2000yqj.googlegroups.com> |
| In reply to | #10890 |
On Apr 4, 8:08 pm, "A. K." <a...@nospam.org> wrote: > On 04.04.2012 13:19, Mark Wills wrote:> ...but is it the story of Forth? > > > Enjoy. > > --------------------------------------------------------- > > > A Forth Story > > Allen Cekorich > > Walnut Creek, California > > Forth Dimensions, July/August 1995 > > <snip> > > Whoever it is ( TZ condensed? ;-) ) > > we stopped using Forth long ago for much the same reason: > it is a niche tool for loners On the face of it, I'm inclined to agree, however there are numerous published examples of Forth being used very successfully in multi- programmer projects, by both Forth Inc, and MPE. The Saudi airport and the bomb dis-arming robot being two examples. Any other anecdotes to prove or disprove the argument? Where I work is a C shop, with 10s of thousands of lines of source. A version control system is used, but programmers still essentially work as individuals, being the 'owners' of a certain areas of the system. How was the problem approached with block based systems being updated by multiple terminals?
[toc] | [prev] | [next] | [standalone]
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Date | 2012-04-04 23:02 +0200 |
| Message-ID | <jlicta$fg1$1@online.de> |
| In reply to | #10891 |
Mark Wills wrote: >> we stopped using Forth long ago for much the same reason: >> it is a niche tool for loners > > On the face of it, I'm inclined to agree, however there are numerous > published examples of Forth being used very successfully in multi- > programmer projects, by both Forth Inc, and MPE. The Saudi airport and > the bomb dis-arming robot being two examples. > > Any other anecdotes to prove or disprove the argument? The human psyche strongly discourages not to follow the mainstream. If you do something odd, and it's more successful, then it's "cheating". You have to go through this punch cards, through the printed out listings, compilers, linkers, etc., and it has to be hard and awkward, and using Forth instead and getting the job done quickly is just cheating. You may be allowed to do so when you are a top programmer, and sweap the ground with your fellow programmers in any other language, too, because then, it's your superior knowledge, no longer cheating. But then, their excuse is "we are mere mortals, we can not program in this super-hero language". Humans resist change. Forth, 40 years ago, was extremely odd. It lost a good part of its oddness, since the classic compiled programming language is on a global retreat. It is still odd with its stack and its lack of syntax or typing system, but strong typing is no longer popular, either. Apart from this psychological aspect, the resist of change, which leads to loners doing their stuff in Forth (because a loner does not care about the herd), there is nothing that prevents cooperation in Forth. Like with any other language, good cooperative programming is a management issue, not a technical issue. You have to identify which person fits which role in the team (people are not all equal), and you have to make people communicate (they often don't on their own). You have to set guidelines, and common coding style (it is much easier for a group of people to read each other's code if it uses the same style - and that works, regardless if it's Forth Inc.'s terse horizontal style, or a more elaborated vertical style found elsewhere). -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/
[toc] | [prev] | [next] | [standalone]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2012-04-04 10:42 -1000 |
| Message-ID | <8bCdnf6gX87bL-HSnZ2dnUVZ_vOdnZ2d@supernews.com> |
| In reply to | #10890 |
On 4/4/12 9:08 AM, A. K. wrote: > On 04.04.2012 13:19, Mark Wills wrote: >> ...but is it the story of Forth? >> >> Enjoy. >> --------------------------------------------------------- >> >> A Forth Story >> Allen Cekorich >> Walnut Creek, California >> Forth Dimensions, July/August 1995 > <snip> > > Whoever it is ( TZ condensed? ;-) ) > > we stopped using Forth long ago for much the same reason: > it is a niche tool for loners As far as that story goes it was, but there is also a world of professional-grade Forth systems, well-documented and supported by successful vendors, conforming to international standards, and being used in major projects in a variety of industries. It is *a* Forth story, not *the* Forth story. Cheers, Elizabeth -- ================================================== Elizabeth D. Rather (US & Canada) 800-55-FORTH FORTH Inc. +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA 90045 http://www.forth.com "Forth-based products and Services for real-time applications since 1973." ==================================================
[toc] | [prev] | [next] | [standalone]
| From | "A. K." <akk@nospam.org> |
|---|---|
| Date | 2012-04-04 23:08 +0200 |
| Message-ID | <4f7cb841$0$6557$9b4e6d93@newsspool4.arcor-online.net> |
| In reply to | #10893 |
On 04.04.2012 22:42, Elizabeth D. Rather wrote: > On 4/4/12 9:08 AM, A. K. wrote: >> On 04.04.2012 13:19, Mark Wills wrote: >>> ...but is it the story of Forth? >>> >>> Enjoy. >>> --------------------------------------------------------- >>> >>> A Forth Story >>> Allen Cekorich >>> Walnut Creek, California >>> Forth Dimensions, July/August 1995 >> <snip> >> >> Whoever it is ( TZ condensed? ;-) ) >> >> we stopped using Forth long ago for much the same reason: >> it is a niche tool for loners > > As far as that story goes it was, but there is also a world of > professional-grade Forth systems, well-documented and supported by > successful vendors, conforming to international standards, and being > used in major projects in a variety of industries. > > It is *a* Forth story, not *the* Forth story. > > Cheers, > Elizabeth > I know that, in its niche Forth is great. And older than Lua or even C .... ;-) But in the heart of it it is a not a technical but a business question/decision, whether to maintain a critical mass of skilled employees and to rely on the availability of hired engineers in the market. In our case it was 'no'.
[toc] | [prev] | [next] | [standalone]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2012-04-04 11:17 -1000 |
| Message-ID | <Ns6dnbX4-NLwJ-HSnZ2dnUVZ_vudnZ2d@supernews.com> |
| In reply to | #10896 |
On 4/4/12 11:08 AM, A. K. wrote: > On 04.04.2012 22:42, Elizabeth D. Rather wrote: >> On 4/4/12 9:08 AM, A. K. wrote: >>> On 04.04.2012 13:19, Mark Wills wrote: >>>> ...but is it the story of Forth? >>>> >>>> Enjoy. >>>> --------------------------------------------------------- >>>> >>>> A Forth Story >>>> Allen Cekorich >>>> Walnut Creek, California >>>> Forth Dimensions, July/August 1995 >>> <snip> >>> >>> Whoever it is ( TZ condensed? ;-) ) >>> >>> we stopped using Forth long ago for much the same reason: >>> it is a niche tool for loners >> >> As far as that story goes it was, but there is also a world of >> professional-grade Forth systems, well-documented and supported by >> successful vendors, conforming to international standards, and being >> used in major projects in a variety of industries. >> >> It is *a* Forth story, not *the* Forth story. >> >> Cheers, >> Elizabeth >> > > I know that, in its niche Forth is great. And older than Lua or even C > .... ;-) > > But in the heart of it it is a not a technical but a business > question/decision, whether to maintain a critical mass of skilled > employees and to rely on the availability of hired engineers in the > market. In our case it was 'no'. An engineer who is capable and experienced in your application domain can learn Forth far quicker than a Forth programmer with a different background can learn your application domain, so the lack of Forth programmers "standing on every corner" (as one recruiter put it) is not a major obstacle. And having learned Forth, that engineer will have all the power and flexibility that Forth provides. Many of our customers have gone that route, to great success. Cheers, Elizabeth -- ================================================== Elizabeth D. Rather (US & Canada) 800-55-FORTH FORTH Inc. +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA 90045 http://www.forth.com "Forth-based products and Services for real-time applications since 1973." ==================================================
[toc] | [prev] | [next] | [standalone]
| From | hwfwguy@gmail.com |
|---|---|
| Date | 2012-04-05 09:59 -0700 |
| Message-ID | <93689.305.1333645167169.JavaMail.geo-discussion-forums@ynes7> |
| In reply to | #10899 |
On Wednesday, April 4, 2012 2:17:32 PM UTC-7, Elizabeth D. Rather wrote: > > An engineer who is capable and experienced in your application domain > can learn Forth far quicker than a Forth programmer with a different > background can learn your application domain, so the lack of Forth > programmers "standing on every corner" (as one recruiter put it) is not > a major obstacle. And having learned Forth, that engineer will have all > the power and flexibility that Forth provides. Many of our customers > have gone that route, to great success. > I would like to see you (or you and Ned) write a "Why Forth" paper/article based on this rationale. Our industry is hurting for lack of Forth exposure. -Brad
[toc] | [prev] | [next] | [standalone]
| From | dirk.bruehl@usa.net |
|---|---|
| Date | 2012-04-05 20:51 -0700 |
| Message-ID | <1f6d3e40-8405-45bb-bb0f-e629e28ccd41@j14g2000vbc.googlegroups.com> |
| In reply to | #10926 |
On 5 Apr., 12:59, hwfw...@gmail.com wrote: > On Wednesday, April 4, 2012 2:17:32 PM UTC-7, Elizabeth D. Rather wrote: > > > An engineer who is capable and experienced in your application domain > > can learn Forth far quicker than a Forth programmer with a different > > background can learn your application domain, so the lack of Forth > > programmers "standing on every corner" (as one recruiter put it) is not > > a major obstacle. And having learned Forth, that engineer will have all > > the power and flexibility that Forth provides. Many of our customers > > have gone that route, to great success. > > I would like to see you (or you and Ned) write a "Why Forth" paper/article based on this rationale. Our industry is hurting for lack of Forth exposure. > > -Brad A decade ago Bernd Paysan wrote "I Love Forth", Source: http://www.eetimes.com/discussion/parity-bit/4023841/I-Love-Forth This was after Jack Ganssle, the embedded systems Guru, wrote "I hate Forth" - source: http://eetimes.com/discussion/embedded-pulse/4023811/I-Hate-Forth To me it is clear why some people hate Forth: Forth is devaluing their knowledge. Scientists and working people are able to solve their problems by themselves, using Forth, they don't have to explain their knowledge to experts to enable expensive experts to do the work they could do using Forth by themselves. I agree, there can't be written enough about projects done in Forth. Cheers, Dirk.
[toc] | [prev] | [next] | [standalone]
| From | dirk.bruehl@usa.net |
|---|---|
| Date | 2012-04-05 00:08 -0700 |
| Message-ID | <209becef-375e-469c-b304-d851126ab519@db5g2000vbb.googlegroups.com> |
| In reply to | #10883 |
On 4 Apr., 07:19, Mark Wills <markrobertwi...@yahoo.co.uk> wrote: > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 > > In 1975, I was fresh out of college with a bachelors degree in physics > and a need to find a job that paid enough to support myself. After a > six-month search, I landed an entry-level position at MDH Industries > in Monrovia, California, where they promised to increase my minimum > wage starting salary once I proved myself useful. I was to work with > the president and owner, Dr. Howard Marshall, Ph.D., on a project to > develop an instrument to measure the real-time sulphur content of a > coal stream by detecting and analysing the prompt gamma ray spectrum > resulting from the absorption of thermal neutrons from a Californium > 252 radioactive source. The opportunity sounded exciting to my naive > ears, as it was my first professional job. I was finally in the real > work world of adults and ready to go on to do great things. Remember, > this was twenty years ago and I was only twenty-two years old. I had > no previous experience to guide me in the situation I was in, no > mentor to teach me, no helping hand and no idea of where to begin or > what to do. Like most good engineers, I decided to fake it until I > understood my value. > > I spent the first Year or So understanding the design parameters of a > Sulphur meter, which involved creating a computer model on a Tymshare > IBM 370 System accessed with a Teletype terminal at the fantastic rate > of 30 characters Per second. This was a revolution from the punch > cards I had used in college on a CDC 3150 that could be viewed through > a glass window in the foyer of the computer department. MY degree in > physics mandated that the modelling language would be Fortran, and I > naturally enjoyed programming, which was probably related to my > ability and love for mathematics. I had completed the coursework for a > degree in mathematics with a 4.0 average in college. I was proud of > the growing complexity and depth of my simulation, which was now > consuming hours of computer time during the night hours when the cost > was lowest. > > It came to pass by the natural events of the development process that > construction of a sulphur meter prototype was to take place. Howard > Marshall had earned his doctorate in physics from the California > Institute of Technology, which is very much in bed with the Jet > Propulsion Laboratory in Pasadena. His contacts encouraged a computer- > based instrument and recommended a strange language called Forth that > was floating around the lab. They convinced him it was possible to > build a small, Z80-based controller that could acquire the spectrum > from the sodium iodide detector and maintain real-time signal > processing rates to compute the actual sulphur content. > > Somehow, outside my area of responsibility, an S100-bus system showed > up from the Empirical Research Group. My electrical engineer office > mate had been assigned the task of fooling around with it for > development purposes, but no progress seemed to ever be at hand. After > some time had passed, a fellow named Martin Smith showed up from the > Cal Tech network. He brought with him a Forth running on a Monolithic > 280-based multi-bus system, and progress toward a controller began. > > I was preoccupied with designing the sulphur meter based on my Fortran > simulation. but the natural need to verify the model from real data > taken from the prototype was growing important. With the help of > Marty, I started playing with the Forth computer. This was the first > time in my life that I had actual, physical contact with a computer. > Those big, eight-inch Shugart floppy drives that held a whopping 120K > bytes, and the awesome 64K of fast RAM, along with the character-based > video display terminal, intoxicated me. What what was more puzzling > was this strange way of talking to the computer, called Forth. I had > taken a computer language survey class in college which included > Fortran, Algol, PWM, Cobol, Trac, Lisp, and APL, but had never heard > of anything called Forth. It was strange and unnatural without program > statements. I could not find the compiler, linker, or listing output. > I could not figure out how it worked, but I realized that I now had > direct contact with the CPU without the need to learn complex system > manuals. I finally had a computer under my control and I went to town. > Over the next few years, I had a good time writing programs on that > small Forth system to do data preprocessing for input to the real, > grown-up IBM Tymshare computer for comparison to my simulation. > > I taught myself the Z80 assembler in the Forth, which gave me access > to the computer hardware. I played with serial comms, DMA for the disk > drive, video display controller, interrupts, and, most important of > all, the AMD 9511 floating-point coprocessor. I wrote linear matrix > functions, least squares routines, statistical measures, data filters, > and data stacks for working with the gamma ray spectra. I used that > little 64K computer to its limit to complete the calibration of the > first delivered sulphur meter. I also became an expert in using Forth, > although I still did not fully understand what I was doing. > > About this time, around the beginning of the eighties, a recruiter > called me searching for a Forth programmer. I was not a Forth > programmer in my mind. I did not see myself as a Forth programmer. I > was a physicist using a tool to do a job. Anyway, I went on an > interview to Forth, Inc. in Manhattan Beach, California, and met a man > named Edward Conklin. We talked about what I had been doing with > Forth, I showed him some of my listings, toured the offices, and shook > hands upon departing. A few days later, the recruiter called saying I > had been offered a job for more money than I was making and encouraged > me to accept. I was puzzled. I was not a Forth programmer. Why did > they want me? What would it be like? I just did not understand where I > would fit in. I declined the position, Over the years, I have wondered > what direction my career would have taken if I had just said yes. > Looking back, it is easy to see now that I was an exceptional Forth > programmer, as following parts of my story will reveal; but remember, > I was still in my twenties, working on my first job, which limited my > view of my career horizon. My destiny would take me to other places > and back again, to Forth. > > My job was winding up with the completion of the first sulphur meter. > Martin Smith had left earlier, going back to a previous job at > Technicolor in Hollywood. I had grown as an engineer, becoming more > than could be supported by the twenty-five person company that was > owned by a single person. The end of my first job had come, so I > resigned and, that weekend, I bought a Victor 9000 personal computer. > I did have the vision to see that what I had done with that small 280 > computer spelled the death of my cherished IBM 370 computer running > Fortran over the phone line. The future was in small, personal systems > that clearly exceeded the power of the off-line dinosaurs. I did not > know what I would be doing, but I knew what I would have to do and > that was to learn the basics of the smaller machines. As fate would > have it, Many called me the following Monday, and a week later I was > working for Technicolor. It was now May of 1983. > > I had taken the job as a computer programmer who would develop the > control software for a film printer. This was a special kind of > printer to reduce the cost of choosing the RGB color light levels for > a film scene by printing one frame of scene onto the positive, thereby > saving the cost of developing a complete print just to check the > production parameters. I had to learn Intel's version of PL/M and > assembly for the 8086, which was the heart of the Intel 88/40 multi- > bus board computer controller. I was back to compilers, linkers, and > locators, and got to play with in-circuit emulators. I discovered real- > time control that enables computers to interact with the physical > world. I learned multitasking, interrupt response times, and control > inputs and outputs from A/D and D/A chips, counters, and parallel > lines. I got to play with big servo motors. I had a ball. I almost > forgot about Forth. > > But not completely. I obtained the fig-Forth listing for the 8086 with > the intention to boot a Forth on my Victor 9000. 1 spent many nights > and weekends typing in the listing as I learned about DOS and just how > the PC worked. I gathered documentation, bought some software, and > joined the Victor 9000 users group. Time passed. Work went well with > the nearing completion of the proof printer. Then Hollywood came into > the picture. Hollywood is not in the real world, they make it up as > they like. The engineering director and the chief engineer got > themselves fired for no apparent reason other than a pompous power > play which I never understood. The upshot was that my project was > cancelled, leaving me in limbo. I chose to resign a month later, > simply because I no longer had a defined job. It was July of 1984. > > I spent the next five months working twelve-hour days at home on my > Forth system. I booted the kernel as a DOS executable, and promptly > rewrote it to my liking, including redesigning the inner interpreter. > I was forced, by finally understanding the true nature of Forth, to > add an 8086 assembler of original design, an interface to DOS for > files and display control, floating-point words for an 8087 > coprocessor, and many utilities to work with my system. Looking back, > I wonder why I did it. Why would I create a complete Forth development > system for the PC? I had no use for it, nor any future plans for the > system. I believe the answer was just to learn how personal computers > work. Forth gave me direct access to the machine, and freedom to > explore designs that felt right to me. I did not have to depend on a > vendor to show me what I could do. My physics training led me to > explore fundamentals of computer operation much as I explored the > fundamental laws of the physical world. I also began reading Byte > magazine every month to keep up on the technology, and I read books > such as Donald Knuth's Art of Computer Programming. Forth gave me > freedom to explore beyond the limitations of a fixed compiler with a > straight-jacket syntax. I had finally caught the Forth bug. > > The realities of living without an income finally caught up with me. > In December of 1984, I found a job with Litton Industries. The fibre > optic department under Mike Suman had a contract with Western > Geophysical to build a demonstration underwater fibre optic microphone > towed array for oil exploration. The job was to complete an Intel > multi-bus computer demodulator for five sensors. The software was > written in PL/M-86 and assembler, and was presented to me as almost > done. I learned quickly that the statement was politically correct but > entirely false from an engineering perspective. I had wandered blindly > into defence engineering for the first time. I redesigned the computer > system to use three single-board computers in a multi-bus backplane, > and wrote the software from scratch to multiplex the three 8086 CPUs > to accomplish the demodulation. Four months later, it was finished, > complete with a real-time video display of the sensor outputs for the > all-important demo. The next day, the contract was cancelled due to > the oil glut of the mid-eighties. > > I wondered if I had a job. The major part of the fibre optic > directorate was involved in fibre optic rotation sensor development > for military applications. The program seemed to be headed by a man > named Dr. George Pavlath, who was a Ph.D. in physics from Stanford > University. He had a problem with the testing of the rotation sensors > on the rate tables which used H-P BASIC controllers. He knew from my > resume that I had experience with Forth, and he had heard from his > friends at Stanford that it was a very neat control language. I told > him I had developed my own Forth system for the PC, and we agreed to > try it out for rate table control. I brought in my system and spent a > few months porting it to the IBM PC, adding drivers to read IEEE-488 > instruments via a Metrabyte card, and rate table position from a > CTM-05 counter board. I completed a fully automated rate table test > station and began to test fibre optic gyros. > > The application of Forth to a flexible test environment was perfect. I > went much further and added online data analysis, and began > constructing my own unique plotting additions to Forth based on > Brodie's MAKE DOER construct. My Forth system grew to maturity as > different problems demanded solutions. I quickly returned to my > physics roots to contribute to the new technology of fibre optic > sensor development. > > All was not well, though. I encountered the first resistance to the > Forth way of doing business. The Forth development environment was so > efficient that the H-P BASIC controllers were made obsolete. This led > to resentment by engineers who had invested their time learning H-P > BASIC. I offered to teach them Forth, but remember, this was a system > I had personally written. It was my creation, and no one could > understand it as well as myself. Why should they invest part of their > careers learning a tool that was the personal property of one > engineer? They did have a point. But the fact was that my system was > doing things that nobody thought possible before. It was even worse > than that. It turned out that someone in a different Litton division > was using Forth for production test station control for the same > reason, its efficiency and power. This person was upset that I had > brought in a new dialect. He had his box of tools and would not look > at mine, and we could not share code. > > As the years passed, my system became entrenched in the fibre optic > directorate and enabled a lot of progress to be made, even though I > spent most of my time concentrating on the physics of the devices. A > few people finally learned my system, which became quite powerful, but > the lingering resentment remained. Other engineers felt I had cheated > by using Forth, that it was unfair to them. I even published my Forth > system, called AFORTH, through the Victor 9000 users group. I was told > that up to forty people bought copies, and the head of the users group > eventually got a job writing Forth. > > Sometime in the eighties, I got it in my head that Forth could be > applied to build fast demodulators, especially since the advent of > Forth chips. I convinced George Pavlath to send me to a company called > Novix to check out a Forth-based CPU. It was on this trip that I met > Charles Moore. He and I talked for half an hour about possibilities. I > had a hard time believing that this was the creator of Forth. I played > with a Novix development system, unaware that the chip was not yet > real, in the sense that one could not buy one. In truth, I felt I was > sticking my neck out by suggesting a Forth design when other engineers > wanted my head for what I had accomplished in the testing area. The > reality was, it did not matter - I ordered a Novix chip which was > never delivered, since the company eventually folded. I felt relieved. > I went on to work with DSP processors such as the TMS320C25, which > were now capable of implementing complex demodulation designs and > provided me with new areas to explore. > > Then the Berlin Wall fell. The defence build-up was over in a day, but > it took several years of excruciating pain for many innocent people to > accept the change in their lives. I held out until September of 1991, > when I finally admitted it was time for me to leave. I could no longer > pay the price required to survive. In January of 1989, I had replaced > my ageing Victor 9000 with a Dell 386 computer. I briefly went into > consulting with my Forth system. I worked several months for the > Physical Optics Corporation in Torrance, California, automating their > production holographic testers. I realized again that I was sticking > them with a custom solution that could not be updated without me. It > was just not viable. Even though they were delighted with the results > of my work, I never got called back; probably because the engineering > staff had changed in the interim. > > I was out of work until May of 1992, when I got a call from Systron > Donner in Concord, California. A half-dozen Litton refugees had found > jobs there, and they were eager for me to join them. I moved from Los > Angeles to beautiful Contra Costa county, and thought I had found a > wonderful place to work. The CEO was Dick Terrell, who came from > Litton marketing, and was converting the company to quartz sensor > technology. It turned out that I was the last one hired before the > defence downsizing began in earnest at the company. I had to relive > the experience at Litton during the next year and a half. > > I was hired to do DSP software for the Quartz Inertial Measurement > Unit, but the military requirements for software quality control were > beyond the resources of the company, so the project was cancelled a > month after I arrived. Instead, I was asked to work on a substitute > IMU for a contract delivery that was not going to happen on the > current schedule. One of the main problems was that the rate table > test station, which was being coded in C, would not be ready in time. > I volunteered my Forth system for the interim station, and completed > the work in several months. Once again, I experienced the wrath of > engineers who said I cheated because they were forced to use the > "correct C approach," while I used this thing called Forth, which > obviously made the work too easy. Go figure. I should have known > better; the truth was, nothing mattered, because the company was being > downsized with a vengeance, and when the CEO was replaced, I soon lost > my job in December of 1993. > > Among the people who joined me going out the door was a guy who wanted > to start a company with a product, based on the Systron Donner > rotation sensor, which would measure body movements for medical > purposes. I met with him and agreed to program a prototype piece of > equipment using my Forth system, in exchange for a future piece of the > company. In one month, I had a prototype that displayed real-time > rotation movement and medical parameters for Parkinson's syndrome. It > was demonstrated to the Parkinson's institute and was well received. > However, I told my partner that the final device could not be > programmed in Forth. Why would I say such a thing? Simply because > technology had passed Forth by, in my opinion. It was no longer > possible for one person to develop all the software required in a > graphical environment. I needed to buy the tools I needed to leverage > my time for a professional job. I could no longer play the role of the > maverick programmer, nor did I want to. I need to be part of a > collaborative community in which I can give and receive work. I do not > see Forth as a viable solution as of today. > > The start-up company never happened, for financial reasons, so I have > been unemployed since then. I am also forty-two years old, and am > looking at my life from the midway point. I have spent nearly twenty > years doing this Forth thing, and I do not know if I want to continue > with it. A year ago, I bought the Symantec C++ development package for > Windows. I have yet to use it. It does not excite me like Forth did, > because it does not give me the freedom to create those program > constructs which enable my ideas. I guess I am still undecided on the > issue of Forth, so I will renew my subscription to Forth Dimensions > for at least this one last time. Thanks, Mark, Thanks for your amazing story! In Germany I worked twenty five years self-employed, using Forth since 1984. Several times I programmed things where people said it can't be done. When it was done, they simply said "seems to be it can be done!" Having developed a precision transformer ratio measurement system using RSC-Forth on the Mitsubishi M38049, I came to the United States nine years ago by invitation of the company for which I developed this instrument. My last project was a three phase PWM, using an ARM micro with MPE-Forth doing the PWM, and a M38049 with RSC-Forth as front end to communicate with a PLC. To see what the PWM was doing when a PID program was added, with Win32Forth I programmed an eight channel oscilloscope to show different digital values inside the program as analog waves. When I lost my job after having a successful cancer treatment, I started to upgrade Win32Forth-ForthForm to visualFORTH, because I didn't like to wait any longer for a visual Forth. Now I am retired and work with little micros on TI's LaunchPad. I had to start with C, which I avoided all of my former life, and I am glad to have a Forth for these little buggers now: http://www.4e4th.eu/ You have such a great experience in working with Forth, having done much more exciting things than I ever did. It would be a pity if all your knowledge would get lost. You wrote "I do not see Forth as a viable solution as of today" - I say: We will have a Renaissance of Forth. You wrote about all your work you have done and about the experience you had. I don't know how you found Comp.Lang.Forth, but with c.l.f you found a collaborative community which will welcome you, I am sure about this. I am welcoming you. Please let me know what you think is missing with Forth. I am sure you know that it is possible to add. Forth is extensible. When I asked for a visual Forth, I have been told: "This is impossible to do" - but I did it. I wrote the story at http://www.visualforth.blogspot.com and I am proud that vF is mentioned as Forth for Windows at http://keeh.net/page1/files/archive-27-december-2009.html - two links below Chuck Moore. I encourage you to use your time to analyze your needs and write a list of suggestions and proposals of what can be done to make Forth the right programming language and/or environment for the time we live in and for our future. I am sure it is worth it. Best Regards, Dirk.
[toc] | [prev] | [next] | [standalone]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2012-04-05 00:47 -0700 |
| Message-ID | <7xzkaqvcv6.fsf@ruckus.brouhaha.com> |
| In reply to | #10903 |
dirk.bruehl@usa.net writes: > Please let me know what you think is missing with Forth. I am sure you > know that it is possible to add. Forth is extensible. My own take: in a world of mechanized agriculture, where a "farmer" is someone who sits in a control booth operating a fleet of remote controlled tractors through a microwave satellite feed, Forth is like planting potatoes in the raw soil with your bare hands. It's spiritually enriching and in some cases maybe it's even the most appropriate way to grow potatoes on a limited scale. Whether it can meet the bottomless demands of corporate traffickers trying to fill container ships with potatoes is a different matter, but luckier users don't have to worry about this. ;-)
[toc] | [prev] | [next] | [standalone]
| From | dirk.bruehl@usa.net |
|---|---|
| Date | 2012-04-05 20:17 -0700 |
| Message-ID | <0b644408-92e5-47d2-aa01-9480134b6747@f5g2000vby.googlegroups.com> |
| In reply to | #10904 |
On 5 Apr., 03:47, Paul Rubin <no.em...@nospam.invalid> wrote: > dirk.bru...@usa.net writes: > > Please let me know what you think is missing with Forth. I am sure you > > know that it is possible to add. Forth is extensible. > > My own take: in a world of mechanized agriculture, where a "farmer" is > someone who sits in a control booth operating a fleet of remote > controlled tractors through a microwave satellite feed, Forth is like > planting potatoes in the raw soil with your bare hands. It's > spiritually enriching and in some cases maybe it's even the most > appropriate way to grow potatoes on a limited scale. Whether it can > meet the bottomless demands of corporate traffickers trying to fill > container ships with potatoes is a different matter, but luckier users > don't have to worry about this. ;-) Paul, When reading your lines it came to me, what is missing: the spirit of Forth. Your example is just an example of the right factoring in Forth: As a Forth programmer, when you are done, you are sitting in a control booth operating a fleet of remote controlled tractors through a microwave satellite feed - all connected together by Forth words, while deep below, just above the primitives, Forth words are planting potatoes in the raw soil as you would do it with your bare hands. Again and again I recognize that people don't absorb the power of Forth. May be they can't. I did. And Forth is always inspiring to me. I can and I could do things with Forth which I couldn't have done otherwise, again and again... Don't give up! Never give up! Cheers, Dirk.
[toc] | [prev] | [next] | [standalone]
| From | "P.M.Lawrence" <pml540114@gmail.com> |
|---|---|
| Date | 2012-04-05 23:47 -0700 |
| Message-ID | <6533863b-5b0b-4707-a9a8-4308ec184dc8@vy9g2000pbc.googlegroups.com> |
| In reply to | #10950 |
On Apr 6, 1:17 pm, dirk.bru...@usa.net wrote: > On 5 Apr., 03:47, Paul Rubin <no.em...@nospam.invalid> wrote: > > > dirk.bru...@usa.net writes: > > > Please let me know what you think is missing with Forth. I am sure you > > > know that it is possible to add. Forth is extensible. > > > My own take: in a world of mechanized agriculture, where a "farmer" is > > someone who sits in a control booth operating a fleet of remote > > controlled tractors through a microwave satellite feed, Forth is like > > planting potatoes in the raw soil with your bare hands. It's > > spiritually enriching and in some cases maybe it's even the most > > appropriate way to grow potatoes on a limited scale. Whether it can > > meet the bottomless demands of corporate traffickers trying to fill > > container ships with potatoes is a different matter, but luckier users > > don't have to worry about this. ;-) > > Paul, > When reading your lines it came to me, what is missing: the spirit of > Forth. > > Your example is just an example of the right factoring in Forth: > > As a Forth programmer, when you are done, you are sitting in a control > booth operating a fleet of remote controlled tractors through a > microwave satellite feed - all connected together by Forth words, > while deep below, just above the primitives, Forth words are planting > potatoes in the raw soil as you would do it with your bare hands. > > Again and again I recognize that people don't absorb the power of > Forth. May be they can't. > I did. And Forth is always inspiring to me. I can and I could do > things with Forth which I couldn't have done otherwise, again and > again... > > Don't give up! > Never give up! > > Cheers, > Dirk. I'm not trying to quibble, but that metaphor of "planting potatoes in the raw soil with your bare hands"... Even my Irish forebears used spades (and a shovel is definitely the WRONG tool for the job). But what they actually did when they had to was even more remarkable, and may provide a better metaphor for Forth. Oral tradition told me that, when they were too poor to get the right tools, they "rolled their own", improvising spades from suitably shaped pieces of wood that they furnished with improvised blades made from old tin cans beaten into shape with rocks and slotted into locking notches (think cotter pin, with the metal wrapping around the end of the wood). Clearly that tradition goes back no earlier than the nineteenth century, but there it is for what it's worth. P.M.Lawrence.
[toc] | [prev] | [next] | [standalone]
| From | dirk.bruehl@usa.net |
|---|---|
| Date | 2012-04-04 23:54 -0700 |
| Message-ID | <9fbe2f98-522e-461f-990a-6371a7535d1a@a5g2000vbl.googlegroups.com> |
| In reply to | #10883 |
On 4 Apr., 07:19, Mark Wills <markrobertwi...@yahoo.co.uk> wrote: > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 > > In 1975, I was fresh out of college with a bachelors degree in physics > and a need to find a job that paid enough to support myself. After a > six-month search, I landed an entry-level position at MDH Industries > in Monrovia, California, where they promised to increase my minimum > wage starting salary once I proved myself useful. I was to work with > the president and owner, Dr. Howard Marshall, Ph.D., on a project to > develop an instrument to measure the real-time sulphur content of a > coal stream by detecting and analysing the prompt gamma ray spectrum > resulting from the absorption of thermal neutrons from a Californium > 252 radioactive source. The opportunity sounded exciting to my naive > ears, as it was my first professional job. I was finally in the real > work world of adults and ready to go on to do great things. Remember, > this was twenty years ago and I was only twenty-two years old. I had > no previous experience to guide me in the situation I was in, no > mentor to teach me, no helping hand and no idea of where to begin or > what to do. Like most good engineers, I decided to fake it until I > understood my value. > > I spent the first Year or So understanding the design parameters of a > Sulphur meter, which involved creating a computer model on a Tymshare > IBM 370 System accessed with a Teletype terminal at the fantastic rate > of 30 characters Per second. This was a revolution from the punch > cards I had used in college on a CDC 3150 that could be viewed through > a glass window in the foyer of the computer department. MY degree in > physics mandated that the modelling language would be Fortran, and I > naturally enjoyed programming, which was probably related to my > ability and love for mathematics. I had completed the coursework for a > degree in mathematics with a 4.0 average in college. I was proud of > the growing complexity and depth of my simulation, which was now > consuming hours of computer time during the night hours when the cost > was lowest. > > It came to pass by the natural events of the development process that > construction of a sulphur meter prototype was to take place. Howard > Marshall had earned his doctorate in physics from the California > Institute of Technology, which is very much in bed with the Jet > Propulsion Laboratory in Pasadena. His contacts encouraged a computer- > based instrument and recommended a strange language called Forth that > was floating around the lab. They convinced him it was possible to > build a small, Z80-based controller that could acquire the spectrum > from the sodium iodide detector and maintain real-time signal > processing rates to compute the actual sulphur content. > > Somehow, outside my area of responsibility, an S100-bus system showed > up from the Empirical Research Group. My electrical engineer office > mate had been assigned the task of fooling around with it for > development purposes, but no progress seemed to ever be at hand. After > some time had passed, a fellow named Martin Smith showed up from the > Cal Tech network. He brought with him a Forth running on a Monolithic > 280-based multi-bus system, and progress toward a controller began. > > I was preoccupied with designing the sulphur meter based on my Fortran > simulation. but the natural need to verify the model from real data > taken from the prototype was growing important. With the help of > Marty, I started playing with the Forth computer. This was the first > time in my life that I had actual, physical contact with a computer. > Those big, eight-inch Shugart floppy drives that held a whopping 120K > bytes, and the awesome 64K of fast RAM, along with the character-based > video display terminal, intoxicated me. What what was more puzzling > was this strange way of talking to the computer, called Forth. I had > taken a computer language survey class in college which included > Fortran, Algol, PWM, Cobol, Trac, Lisp, and APL, but had never heard > of anything called Forth. It was strange and unnatural without program > statements. I could not find the compiler, linker, or listing output. > I could not figure out how it worked, but I realized that I now had > direct contact with the CPU without the need to learn complex system > manuals. I finally had a computer under my control and I went to town. > Over the next few years, I had a good time writing programs on that > small Forth system to do data preprocessing for input to the real, > grown-up IBM Tymshare computer for comparison to my simulation. > > I taught myself the Z80 assembler in the Forth, which gave me access > to the computer hardware. I played with serial comms, DMA for the disk > drive, video display controller, interrupts, and, most important of > all, the AMD 9511 floating-point coprocessor. I wrote linear matrix > functions, least squares routines, statistical measures, data filters, > and data stacks for working with the gamma ray spectra. I used that > little 64K computer to its limit to complete the calibration of the > first delivered sulphur meter. I also became an expert in using Forth, > although I still did not fully understand what I was doing. > > About this time, around the beginning of the eighties, a recruiter > called me searching for a Forth programmer. I was not a Forth > programmer in my mind. I did not see myself as a Forth programmer. I > was a physicist using a tool to do a job. Anyway, I went on an > interview to Forth, Inc. in Manhattan Beach, California, and met a man > named Edward Conklin. We talked about what I had been doing with > Forth, I showed him some of my listings, toured the offices, and shook > hands upon departing. A few days later, the recruiter called saying I > had been offered a job for more money than I was making and encouraged > me to accept. I was puzzled. I was not a Forth programmer. Why did > they want me? What would it be like? I just did not understand where I > would fit in. I declined the position, Over the years, I have wondered > what direction my career would have taken if I had just said yes. > Looking back, it is easy to see now that I was an exceptional Forth > programmer, as following parts of my story will reveal; but remember, > I was still in my twenties, working on my first job, which limited my > view of my career horizon. My destiny would take me to other places > and back again, to Forth. > > My job was winding up with the completion of the first sulphur meter. > Martin Smith had left earlier, going back to a previous job at > Technicolor in Hollywood. I had grown as an engineer, becoming more > than could be supported by the twenty-five person company that was > owned by a single person. The end of my first job had come, so I > resigned and, that weekend, I bought a Victor 9000 personal computer. > I did have the vision to see that what I had done with that small 280 > computer spelled the death of my cherished IBM 370 computer running > Fortran over the phone line. The future was in small, personal systems > that clearly exceeded the power of the off-line dinosaurs. I did not > know what I would be doing, but I knew what I would have to do and > that was to learn the basics of the smaller machines. As fate would > have it, Many called me the following Monday, and a week later I was > working for Technicolor. It was now May of 1983. > > I had taken the job as a computer programmer who would develop the > control software for a film printer. This was a special kind of > printer to reduce the cost of choosing the RGB color light levels for > a film scene by printing one frame of scene onto the positive, thereby > saving the cost of developing a complete print just to check the > production parameters. I had to learn Intel's version of PL/M and > assembly for the 8086, which was the heart of the Intel 88/40 multi- > bus board computer controller. I was back to compilers, linkers, and > locators, and got to play with in-circuit emulators. I discovered real- > time control that enables computers to interact with the physical > world. I learned multitasking, interrupt response times, and control > inputs and outputs from A/D and D/A chips, counters, and parallel > lines. I got to play with big servo motors. I had a ball. I almost > forgot about Forth. > > But not completely. I obtained the fig-Forth listing for the 8086 with > the intention to boot a Forth on my Victor 9000. 1 spent many nights > and weekends typing in the listing as I learned about DOS and just how > the PC worked. I gathered documentation, bought some software, and > joined the Victor 9000 users group. Time passed. Work went well with > the nearing completion of the proof printer. Then Hollywood came into > the picture. Hollywood is not in the real world, they make it up as > they like. The engineering director and the chief engineer got > themselves fired for no apparent reason other than a pompous power > play which I never understood. The upshot was that my project was > cancelled, leaving me in limbo. I chose to resign a month later, > simply because I no longer had a defined job. It was July of 1984. > > I spent the next five months working twelve-hour days at home on my > Forth system. I booted the kernel as a DOS executable, and promptly > rewrote it to my liking, including redesigning the inner interpreter. > I was forced, by finally understanding the true nature of Forth, to > add an 8086 assembler of original design, an interface to DOS for > files and display control, floating-point words for an 8087 > coprocessor, and many utilities to work with my system. Looking back, > I wonder why I did it. Why would I create a complete Forth development > system for the PC? I had no use for it, nor any future plans for the > system. I believe the answer was just to learn how personal computers > work. Forth gave me direct access to the machine, and freedom to > explore designs that felt right to me. I did not have to depend on a > vendor to show me what I could do. My physics training led me to > explore fundamentals of computer operation much as I explored the > fundamental laws of the physical world. I also began reading Byte > magazine every month to keep up on the technology, and I read books > such as Donald Knuth's Art of Computer Programming. Forth gave me > freedom to explore beyond the limitations of a fixed compiler with a > straight-jacket syntax. I had finally caught the Forth bug. > > The realities of living without an income finally caught up with me. > In December of 1984, I found a job with Litton Industries. The fibre > optic department under Mike Suman had a contract with Western > Geophysical to build a demonstration underwater fibre optic microphone > towed array for oil exploration. The job was to complete an Intel > multi-bus computer demodulator for five sensors. The software was > written in PL/M-86 and assembler, and was presented to me as almost > done. I learned quickly that the statement was politically correct but > entirely false from an engineering perspective. I had wandered blindly > into defence engineering for the first time. I redesigned the computer > system to use three single-board computers in a multi-bus backplane, > and wrote the software from scratch to multiplex the three 8086 CPUs > to accomplish the demodulation. Four months later, it was finished, > complete with a real-time video display of the sensor outputs for the > all-important demo. The next day, the contract was cancelled due to > the oil glut of the mid-eighties. > > I wondered if I had a job. The major part of the fibre optic > directorate was involved in fibre optic rotation sensor development > for military applications. The program seemed to be headed by a man > named Dr. George Pavlath, who was a Ph.D. in physics from Stanford > University. He had a problem with the testing of the rotation sensors > on the rate tables which used H-P BASIC controllers. He knew from my > resume that I had experience with Forth, and he had heard from his > friends at Stanford that it was a very neat control language. I told > him I had developed my own Forth system for the PC, and we agreed to > try it out for rate table control. I brought in my system and spent a > few months porting it to the IBM PC, adding drivers to read IEEE-488 > instruments via a Metrabyte card, and rate table position from a > CTM-05 counter board. I completed a fully automated rate table test > station and began to test fibre optic gyros. > > The application of Forth to a flexible test environment was perfect. I > went much further and added online data analysis, and began > constructing my own unique plotting additions to Forth based on > Brodie's MAKE DOER construct. My Forth system grew to maturity as > different problems demanded solutions. I quickly returned to my > physics roots to contribute to the new technology of fibre optic > sensor development. > > All was not well, though. I encountered the first resistance to the > Forth way of doing business. The Forth development environment was so > efficient that the H-P BASIC controllers were made obsolete. This led > to resentment by engineers who had invested their time learning H-P > BASIC. I offered to teach them Forth, but remember, this was a system > I had personally written. It was my creation, and no one could > understand it as well as myself. Why should they invest part of their > careers learning a tool that was the personal property of one > engineer? They did have a point. But the fact was that my system was > doing things that nobody thought possible before. It was even worse > than that. It turned out that someone in a different Litton division > was using Forth for production test station control for the same > reason, its efficiency and power. This person was upset that I had > brought in a new dialect. He had his box of tools and would not look > at mine, and we could not share code. > > As the years passed, my system became entrenched in the fibre optic > directorate and enabled a lot of progress to be made, even though I > spent most of my time concentrating on the physics of the devices. A > few people finally learned my system, which became quite powerful, but > the lingering resentment remained. Other engineers felt I had cheated > by using Forth, that it was unfair to them. I even published my Forth > system, called AFORTH, through the Victor 9000 users group. I was told > that up to forty people bought copies, and the head of the users group > eventually got a job writing Forth. > > Sometime in the eighties, I got it in my head that Forth could be > applied to build fast demodulators, especially since the advent of > Forth chips. I convinced George Pavlath to send me to a company called > Novix to check out a Forth-based CPU. It was on this trip that I met > Charles Moore. He and I talked for half an hour about possibilities. I > had a hard time believing that this was the creator of Forth. I played > with a Novix development system, unaware that the chip was not yet > real, in the sense that one could not buy one. In truth, I felt I was > sticking my neck out by suggesting a Forth design when other engineers > wanted my head for what I had accomplished in the testing area. The > reality was, it did not matter - I ordered a Novix chip which was > never delivered, since the company eventually folded. I felt relieved. > I went on to work with DSP processors such as the TMS320C25, which > were now capable of implementing complex demodulation designs and > provided me with new areas to explore. > > Then the Berlin Wall fell. The defence build-up was over in a day, but > it took several years of excruciating pain for many innocent people to > accept the change in their lives. I held out until September of 1991, > when I finally admitted it was time for me to leave. I could no longer > pay the price required to survive. In January of 1989, I had replaced > my ageing Victor 9000 with a Dell 386 computer. I briefly went into > consulting with my Forth system. I worked several months for the > Physical Optics Corporation in Torrance, California, automating their > production holographic testers. I realized again that I was sticking > them with a custom solution that could not be updated without me. It > was just not viable. Even though they were delighted with the results > of my work, I never got called back; probably because the engineering > staff had changed in the interim. > > I was out of work until May of 1992, when I got a call from Systron > Donner in Concord, California. A half-dozen Litton refugees had found > jobs there, and they were eager for me to join them. I moved from Los > Angeles to beautiful Contra Costa county, and thought I had found a > wonderful place to work. The CEO was Dick Terrell, who came from > Litton marketing, and was converting the company to quartz sensor > technology. It turned out that I was the last one hired before the > defence downsizing began in earnest at the company. I had to relive > the experience at Litton during the next year and a half. > > I was hired to do DSP software for the Quartz Inertial Measurement > Unit, but the military requirements for software quality control were > beyond the resources of the company, so the project was cancelled a > month after I arrived. Instead, I was asked to work on a substitute > IMU for a contract delivery that was not going to happen on the > current schedule. One of the main problems was that the rate table > test station, which was being coded in C, would not be ready in time. > I volunteered my Forth system for the interim station, and completed > the work in several months. Once again, I experienced the wrath of > engineers who said I cheated because they were forced to use the > "correct C approach," while I used this thing called Forth, which > obviously made the work too easy. Go figure. I should have known > better; the truth was, nothing mattered, because the company was being > downsized with a vengeance, and when the CEO was replaced, I soon lost > my job in December of 1993. > > Among the people who joined me going out the door was a guy who wanted > to start a company with a product, based on the Systron Donner > rotation sensor, which would measure body movements for medical > purposes. I met with him and agreed to program a prototype piece of > equipment using my Forth system, in exchange for a future piece of the > company. In one month, I had a prototype that displayed real-time > rotation movement and medical parameters for Parkinson's syndrome. It > was demonstrated to the Parkinson's institute and was well received. > However, I told my partner that the final device could not be > programmed in Forth. Why would I say such a thing? Simply because > technology had passed Forth by, in my opinion. It was no longer > possible for one person to develop all the software required in a > graphical environment. I needed to buy the tools I needed to leverage > my time for a professional job. I could no longer play the role of the > maverick programmer, nor did I want to. I need to be part of a > collaborative community in which I can give and receive work. I do not > see Forth as a viable solution as of today. > > The start-up company never happened, for financial reasons, so I have > been unemployed since then. I am also forty-two years old, and am > looking at my life from the midway point. I have spent nearly twenty > years doing this Forth thing, and I do not know if I want to continue > with it. A year ago, I bought the Symantec C++ development package for > Windows. I have yet to use it. It does not excite me like Forth did, > because it does not give me the freedom to create those program > constructs which enable my ideas. I guess I am still undecided on the > issue of Forth, so I will renew my subscription to Forth Dimensions > for at least this one last time. Thanks, Mark, Thanks for your amazing story! In Germany I worked twenty five years self-employed, using Forth since 1984. Several times I programmed things where people said it can't be done. When it was done, they simply said "seems to be it can be done!" Having developed a precision transformer ratio measurement system using RSC-Forth on the Mitsubishi M38049, I came to the United States nine years ago by invitation of the company for which I developed this instrument. My last project was a three phase PWM, using an ARM micro with MPE-Forth doing the PWM, and a M38049 with RSC-Forth as front end to communicate with a PLC. To see what the PWM was doing when a PID program was added, with Win32Forth I programmed an eight channel oscilloscope to show different digital values inside the program as analog waves. When I lost my job after having a successful cancer treatment, I started to upgrade Win32Forth-ForthForm to visualFORTH, because I didn't like to wait any longer for a visual Forth. Now I am retired and work with little micros on TI's LaunchPad. I had to start with C, which I avoided all of my former life, and I am glad to have a Forth for these little buggers now: http://www.4e4th.eu/ You have such a great experience in working with Forth, having done much more exciting things than I ever did. It would be a pity if all your knowledge would get lost. You wrote "I do not see Forth as a viable solution as of today" - I say: We will have a Renaissance of Forth. You wrote about all your work you have done and about the experience you had. I don't know how you found Comp.Lang.Forth, but with c.l.f you found a collaborative community which will welcome you, I am sure about this. I am welcoming you. Please let me know what you think is missing with Forth. I am sure you know that it is possible to add. Forth is extensible. When I asked for a visual Forth, I have been told: "This is impossible to do" - but I did it. I wrote the story at http://www.visualforth.blogspot.com and I am proud that vF is mentioned as Forth for Windows at http://keeh.net/page1/files/archive-27-december-2009.html - two links below Chuck Moore. I encourage you to use your time to analyze your needs and write a list of suggestions and proposals of what can be done to make Forth the right programming language and/or environment for the time we live in and for our future. I am sure it is worth it. Best Regards, Dirk.
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markrobertwills@yahoo.co.uk> |
|---|---|
| Date | 2012-04-05 02:02 -0700 |
| Message-ID | <3512e0a9-eda0-4f19-ab3e-0e11fe332079@l4g2000vbt.googlegroups.com> |
| In reply to | #10905 |
On Apr 5, 7:54 am, dirk.bru...@usa.net wrote: > On 4 Apr., 07:19, Mark Wills <markrobertwi...@yahoo.co.uk> wrote: > > > ...but is it the story of Forth? > > > Enjoy. > > --------------------------------------------------------- > > > A Forth Story > > Allen Cekorich > > Walnut Creek, California > > Forth Dimensions, July/August 1995 > > > In 1975, I was fresh out of college with a bachelors degree in physics > > and a need to find a job that paid enough to support myself. After a > > six-month search, I landed an entry-level position at MDH Industries > > in Monrovia, California, where they promised to increase my minimum > > wage starting salary once I proved myself useful. I was to work with > > the president and owner, Dr. Howard Marshall, Ph.D., on a project to > > develop an instrument to measure the real-time sulphur content of a > > coal stream by detecting and analysing the prompt gamma ray spectrum > > resulting from the absorption of thermal neutrons from a Californium > > 252 radioactive source. The opportunity sounded exciting to my naive > > ears, as it was my first professional job. I was finally in the real > > work world of adults and ready to go on to do great things. Remember, > > this was twenty years ago and I was only twenty-two years old. I had > > no previous experience to guide me in the situation I was in, no > > mentor to teach me, no helping hand and no idea of where to begin or > > what to do. Like most good engineers, I decided to fake it until I > > understood my value. > > > I spent the first Year or So understanding the design parameters of a > > Sulphur meter, which involved creating a computer model on a Tymshare > > IBM 370 System accessed with a Teletype terminal at the fantastic rate > > of 30 characters Per second. This was a revolution from the punch > > cards I had used in college on a CDC 3150 that could be viewed through > > a glass window in the foyer of the computer department. MY degree in > > physics mandated that the modelling language would be Fortran, and I > > naturally enjoyed programming, which was probably related to my > > ability and love for mathematics. I had completed the coursework for a > > degree in mathematics with a 4.0 average in college. I was proud of > > the growing complexity and depth of my simulation, which was now > > consuming hours of computer time during the night hours when the cost > > was lowest. > > > It came to pass by the natural events of the development process that > > construction of a sulphur meter prototype was to take place. Howard > > Marshall had earned his doctorate in physics from the California > > Institute of Technology, which is very much in bed with the Jet > > Propulsion Laboratory in Pasadena. His contacts encouraged a computer- > > based instrument and recommended a strange language called Forth that > > was floating around the lab. They convinced him it was possible to > > build a small, Z80-based controller that could acquire the spectrum > > from the sodium iodide detector and maintain real-time signal > > processing rates to compute the actual sulphur content. > > > Somehow, outside my area of responsibility, an S100-bus system showed > > up from the Empirical Research Group. My electrical engineer office > > mate had been assigned the task of fooling around with it for > > development purposes, but no progress seemed to ever be at hand. After > > some time had passed, a fellow named Martin Smith showed up from the > > Cal Tech network. He brought with him a Forth running on a Monolithic > > 280-based multi-bus system, and progress toward a controller began. > > > I was preoccupied with designing the sulphur meter based on my Fortran > > simulation. but the natural need to verify the model from real data > > taken from the prototype was growing important. With the help of > > Marty, I started playing with the Forth computer. This was the first > > time in my life that I had actual, physical contact with a computer. > > Those big, eight-inch Shugart floppy drives that held a whopping 120K > > bytes, and the awesome 64K of fast RAM, along with the character-based > > video display terminal, intoxicated me. What what was more puzzling > > was this strange way of talking to the computer, called Forth. I had > > taken a computer language survey class in college which included > > Fortran, Algol, PWM, Cobol, Trac, Lisp, and APL, but had never heard > > of anything called Forth. It was strange and unnatural without program > > statements. I could not find the compiler, linker, or listing output. > > I could not figure out how it worked, but I realized that I now had > > direct contact with the CPU without the need to learn complex system > > manuals. I finally had a computer under my control and I went to town. > > Over the next few years, I had a good time writing programs on that > > small Forth system to do data preprocessing for input to the real, > > grown-up IBM Tymshare computer for comparison to my simulation. > > > I taught myself the Z80 assembler in the Forth, which gave me access > > to the computer hardware. I played with serial comms, DMA for the disk > > drive, video display controller, interrupts, and, most important of > > all, the AMD 9511 floating-point coprocessor. I wrote linear matrix > > functions, least squares routines, statistical measures, data filters, > > and data stacks for working with the gamma ray spectra. I used that > > little 64K computer to its limit to complete the calibration of the > > first delivered sulphur meter. I also became an expert in using Forth, > > although I still did not fully understand what I was doing. > > > About this time, around the beginning of the eighties, a recruiter > > called me searching for a Forth programmer. I was not a Forth > > programmer in my mind. I did not see myself as a Forth programmer. I > > was a physicist using a tool to do a job. Anyway, I went on an > > interview to Forth, Inc. in Manhattan Beach, California, and met a man > > named Edward Conklin. We talked about what I had been doing with > > Forth, I showed him some of my listings, toured the offices, and shook > > hands upon departing. A few days later, the recruiter called saying I > > had been offered a job for more money than I was making and encouraged > > me to accept. I was puzzled. I was not a Forth programmer. Why did > > they want me? What would it be like? I just did not understand where I > > would fit in. I declined the position, Over the years, I have wondered > > what direction my career would have taken if I had just said yes. > > Looking back, it is easy to see now that I was an exceptional Forth > > programmer, as following parts of my story will reveal; but remember, > > I was still in my twenties, working on my first job, which limited my > > view of my career horizon. My destiny would take me to other places > > and back again, to Forth. > > > My job was winding up with the completion of the first sulphur meter. > > Martin Smith had left earlier, going back to a previous job at > > Technicolor in Hollywood. I had grown as an engineer, becoming more > > than could be supported by the twenty-five person company that was > > owned by a single person. The end of my first job had come, so I > > resigned and, that weekend, I bought a Victor 9000 personal computer. > > I did have the vision to see that what I had done with that small 280 > > computer spelled the death of my cherished IBM 370 computer running > > Fortran over the phone line. The future was in small, personal systems > > that clearly exceeded the power of the off-line dinosaurs. I did not > > know what I would be doing, but I knew what I would have to do and > > that was to learn the basics of the smaller machines. As fate would > > have it, Many called me the following Monday, and a week later I was > > working for Technicolor. It was now May of 1983. > > > I had taken the job as a computer programmer who would develop the > > control software for a film printer. This was a special kind of > > printer to reduce the cost of choosing the RGB color light levels for > > a film scene by printing one frame of scene onto the positive, thereby > > saving the cost of developing a complete print just to check the > > production parameters. I had to learn Intel's version of PL/M and > > assembly for the 8086, which was the heart of the Intel 88/40 multi- > > bus board computer controller. I was back to compilers, linkers, and > > locators, and got to play with in-circuit emulators. I discovered real- > > time control that enables computers to interact with the physical > > world. I learned multitasking, interrupt response times, and control > > inputs and outputs from A/D and D/A chips, counters, and parallel > > lines. I got to play with big servo motors. I had a ball. I almost > > forgot about Forth. > > > But not completely. I obtained the fig-Forth listing for the 8086 with > > the intention to boot a Forth on my Victor 9000. 1 spent many nights > > and weekends typing in the listing as I learned about DOS and just how > > the PC worked. I gathered documentation, bought some software, and > > joined the Victor 9000 users group. Time passed. Work went well with > > the nearing completion of the proof printer. Then Hollywood came into > > the picture. Hollywood is not in the real world, they make it up as > > they like. The engineering director and the chief engineer got > > themselves fired for no apparent reason other than a pompous power > > play which I never understood. The upshot was that my project was > > cancelled, leaving me in limbo. I chose to resign a month later, > > simply because I no longer had a defined job. It was July of 1984. > > > I spent the next five months working twelve-hour days at home on my > > Forth system. I booted the kernel as a DOS executable, and promptly > > rewrote it to my liking, including redesigning the inner interpreter. > > I was forced, by finally understanding the true nature of Forth, to > > add an 8086 assembler of original design, an interface to DOS for > > files and display control, floating-point words for an 8087 > > coprocessor, and many utilities to work with my system. Looking back, > > I wonder why I did it. Why would I create a complete Forth development > > system for the PC? I had no use for it, nor any future plans for the > > system. I believe the answer was just to learn how personal computers > > work. Forth gave me direct access to the machine, and freedom to > > explore designs that felt right to me. I did not have to depend on a > > vendor to show me what I could do. My physics training led me to > > explore fundamentals of computer operation much as I explored the > > fundamental laws of the physical world. I also began reading Byte > > magazine every month to keep up on the technology, and I read books > > such as Donald Knuth's Art of Computer Programming. Forth gave me > > freedom to explore beyond the limitations of a fixed compiler with a > > straight-jacket syntax. I had finally caught the Forth bug. > > > The realities of living without an income finally caught up with me. > > In December of 1984, I found a job with Litton Industries. The fibre > > optic department under Mike Suman had a contract with Western > > Geophysical to build a demonstration underwater fibre optic microphone > > towed array for oil exploration. The job was to complete an Intel > > multi-bus computer demodulator for five sensors. The software was > > written in PL/M-86 and assembler, and was presented to me as almost > > done. I learned quickly that the statement was politically correct but > > entirely false from an engineering perspective. I had wandered blindly > > into defence engineering for the first time. I redesigned the computer > > system to use three single-board computers in a multi-bus backplane, > > and wrote the software from scratch to multiplex the three 8086 CPUs > > to accomplish the demodulation. Four months later, it was finished, > > complete with a real-time video display of the sensor outputs for the > > all-important demo. The next day, the contract was cancelled due to > > the oil glut of the mid-eighties. > > > I wondered if I had a job. The major part of the fibre optic > > directorate was involved in fibre optic rotation sensor development > > for military applications. The program seemed to be headed by a man > > named Dr. George Pavlath, who was a Ph.D. in physics from Stanford > > University. He had a problem with the testing of the rotation sensors > > on the rate tables which used H-P BASIC controllers. He knew from my > > resume that I had experience with Forth, and he had heard from his > > friends at Stanford that it was a very neat control language. I told > > him I had developed my own Forth system for the PC, and we agreed to > > try it out for rate table control. I brought in my system and spent a > > few months porting it to the IBM PC, adding drivers to read IEEE-488 > > instruments via a Metrabyte card, and rate table position from a > > CTM-05 counter board. I completed a fully automated rate table test > > station and began to test fibre optic gyros. > > > The application of Forth to a flexible test environment was perfect. I > > went much further and added online data analysis, and began > > constructing my own unique plotting additions to Forth based on > > Brodie's MAKE DOER construct. My Forth system grew to maturity as > > different problems demanded solutions. I quickly returned to my > > physics roots to contribute to the new technology of fibre optic > > sensor development. > > > All was not well, though. I encountered the first resistance to the > > Forth way of doing business. The Forth development environment was so > > efficient that the H-P BASIC controllers were made obsolete. This led > > to resentment by engineers who had invested their time learning H-P > > BASIC. I offered to teach them Forth, but remember, this was a system > > I had personally written. It was my creation, and no one could > > understand it as well as myself. Why should they invest part of their > > careers learning a tool that was the personal property of one > > engineer? They did have a point. But the fact was that my system was > > doing things that nobody thought possible before. It was even worse > > than that. It turned out that someone in a different Litton division > > was using Forth for production test station control for the same > > reason, its efficiency and power. This person was upset that I had > > brought in a new dialect. He had his box of tools and would not look > > at mine, and we could not share code. > > > As the years passed, my system became entrenched in the fibre optic > > directorate and enabled a lot of progress to be made, even though I > > spent most of my time concentrating on the physics of the devices. A > > few people finally learned my system, which became quite powerful, but > > the lingering resentment remained. Other engineers felt I had cheated > > by using Forth, that it was unfair to them. I even published my Forth > > system, called AFORTH, through the Victor 9000 users group. I was told > > that up to forty people bought copies, and the head of the users group > > eventually got a job writing Forth. > > > Sometime in the eighties, I got it in my head that Forth could be > > applied to build fast demodulators, especially since the advent of > > Forth chips. I convinced George Pavlath to send me to a company called > > Novix to check out a Forth-based CPU. It was on this trip that I met > > Charles Moore. He and I talked for half an hour about possibilities. I > > had a hard time believing that this was the creator of Forth. I played > > with a Novix development system, unaware that the chip was not yet > > real, in the sense that one could not buy one. In truth, I felt I was > > sticking my neck out by suggesting a Forth design when other engineers > > wanted my head for what I had accomplished in the testing area. The > > reality was, it did not matter - I ordered a Novix chip which was > > never delivered, since the company eventually folded. I felt relieved. > > I went on to work with DSP processors such as the TMS320C25, which > > were now capable of implementing complex demodulation designs and > > provided me with new areas to explore. > > > Then the Berlin Wall fell. The defence build-up was over in a day, but > > it took several years of excruciating pain for many innocent people to > > accept the change in their lives. I held out until September of 1991, > > when I finally admitted it was time for me to leave. I could no longer > > pay the price required to survive. In January of 1989, I had replaced > > my ageing Victor 9000 with a Dell 386 computer. I briefly went into > > consulting with my Forth system. I worked several months for the > > Physical Optics Corporation in Torrance, California, automating their > > production holographic testers. I realized again that I was sticking > > them with a custom solution that could not be updated without me. It > > was just not viable. Even though they were delighted with the results > > of my work, I never got called back; probably because the engineering > > staff had changed in the interim. > > > I was out of work until May of 1992, when I got a call from Systron > > Donner in Concord, California. A half-dozen Litton refugees had found > > jobs there, and they were eager for me to join them. I moved from Los > > Angeles to beautiful Contra Costa county, and thought I had found a > > wonderful place to work. The CEO was Dick Terrell, who came from > > Litton marketing, and was converting the company to quartz sensor > > technology. It turned out that I was the last one hired before the > > defence downsizing began in earnest at the company. I had to relive > > the experience at Litton during the next year and a half. > > > I was hired to do DSP software for the Quartz Inertial Measurement > > Unit, but the military requirements for software quality control were > > beyond the resources of the company, so the project was cancelled a > > month after I arrived. Instead, I was asked to work on a substitute > > IMU for a contract delivery that was not going to happen on the > > current schedule. One of the main problems was that the rate table > > test station, which was being coded in C, would not be ready in time. > > I volunteered my Forth system for the interim station, and completed > > the work in several months. Once again, I experienced the wrath of > > engineers who said I cheated because they were forced to use the > > "correct C approach," while I used this thing called Forth, which > > obviously made the work too easy. Go figure. I should have known > > better; the truth was, nothing mattered, because the company was being > > downsized with a vengeance, and when the CEO was replaced, I soon lost > > my job in December of 1993. > > > Among the people who joined me going out the door was a guy who wanted > > to start a company with a product, based on the Systron Donner > > rotation sensor, which would measure body movements for medical > > purposes. I met with him and agreed to program a prototype piece of > > equipment using my Forth system, in exchange for a future piece of the > > company. In one month, I had a prototype that displayed real-time > > rotation movement and medical parameters for Parkinson's syndrome. It > > was demonstrated to the Parkinson's institute and was well received. > > However, I told my partner that the final device could not be > > programmed in Forth. Why would I say such a thing? Simply because > > technology had passed Forth by, in my opinion. It was no longer > > possible for one person to develop all the software required in a > > graphical environment. I needed to buy the tools I needed to leverage > > my time for a professional job. I could no longer play the role of the > > maverick programmer, nor did I want to. I need to be part of a > > collaborative community in which I can give and receive work. I do not > > see Forth as a viable solution as of today. > > > The start-up company never happened, for financial reasons, so I have > > been unemployed since then. I am also forty-two years old, and am > > looking at my life from the midway point. I have spent nearly twenty > > years doing this Forth thing, and I do not know if I want to continue > > with it. A year ago, I bought the Symantec C++ development package for > > Windows. I have yet to use it. It does not excite me like Forth did, > > because it does not give me the freedom to create those program > > constructs which enable my ideas. I guess I am still undecided on the > > issue of Forth, so I will renew my subscription to Forth Dimensions > > for at least this one last time. > > Thanks, Mark, > Thanks for your amazing story! > In Germany I worked twenty five years self-employed, using Forth since > 1984. Several times I programmed things where people said it can't be > done. When it was done, they simply said "seems to be it can be done!" > Having developed a precision transformer ratio measurement system > using RSC-Forth on the Mitsubishi M38049, I came to the United States > nine years ago by invitation of the company for which I developed this > instrument. My last project was a three phase PWM, using an ARM micro > with MPE-Forth doing the PWM, and a M38049 with RSC-Forth as front end > to communicate with a PLC. To see what the PWM was doing when a PID > program was added, with Win32Forth I programmed an eight channel > oscilloscope to show different digital values inside the program as > analog waves. > > When I lost my job after having a successful cancer treatment, I > started to upgrade Win32Forth-ForthForm to visualFORTH, because I > didn't like to wait any longer for a visual Forth. Now I am retired > and work with little micros on TI's LaunchPad. I had to start with C, > which I avoided all of my former life, and I am glad to have a Forth > for these little buggers now:http://www.4e4th.eu/ > > You have such a great experience in working with Forth, having done > much more exciting things than I ever did. It would be a pity if all > your knowledge would get lost. > > You wrote "I do not see Forth as a viable solution as of today" - I > say: We will have a Renaissance of Forth. You wrote about all your > work you have done and about the experience you had. I don't know how > you found Comp.Lang.Forth, but with c.l.f you found a collaborative > community which will welcome you, I am sure about this. I am welcoming > you. > > Please let me know what you think is missing with Forth. I am sure you > know that it is possible to add. Forth is extensible. When I asked for > a visual Forth, I have been told: "This is impossible to do" - but I > did it. I wrote the story athttp://www.visualforth.blogspot.comand I > am proud that vF is mentioned as Forth for Windows athttp://keeh.net/page1/files/archive-27-december-2009.html- two links > below Chuck Moore. > > I encourage you to use your time to analyze your needs and write a > list of suggestions and proposals of what can be done to make Forth > the right programming language and/or environment for the time we live > in and for our future. I am sure it is worth it. > > Best Regards, > Dirk. Thank you for your kind and encouraging words, Dirk. However, just to be clear, this is not *my* story, it is a story that I found in Forth Dimensions, written by Allen Cekorich. If I get a chance, I'll see if I can track him down and invite his comments here on CLF. I'm also very glad to hear that your cancer treatment was sucessful. I'm very very pleased indeed to hear that. Unfortunately, my mother is going through the same thing right now, however, her long-term prognosis does not look so good. Also, please accept my congratulations on the MSP430 Forth project. I'm very excited indeed by that project. At the moment, my own hobby retro Forth system is taking a lot of time (updating the website and writing extensions for it) but your project is next on my list to look at! Regards Mark
[toc] | [prev] | [next] | [standalone]
| From | Fanzo <cristianof6@gmail.com> |
|---|---|
| Date | 2012-04-05 19:49 +0200 |
| Message-ID | <4f7de9ea$0$1390$4fafbaef@reader2.news.tin.it> |
| In reply to | #10883 |
Mark Wills wrote: > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 > > In 1975, I was fresh out of college with a bachelors degree in physics Thank you for this interesting story
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markrobertwills@yahoo.co.uk> |
|---|---|
| Date | 2012-04-06 07:02 -0700 |
| Message-ID | <a7ba3d09-3723-4666-829e-aeed7550f844@er9g2000vbb.googlegroups.com> |
| In reply to | #10883 |
On Apr 4, 12:19 pm, Mark Wills <markrobertwi...@yahoo.co.uk> wrote: > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 > > In 1975, I was fresh out of college with a bachelors degree in physics > and a need to find a job that paid enough to support myself. After a > six-month search, I landed an entry-level position at MDH Industries > in Monrovia, California, where they promised to increase my minimum > wage starting salary once I proved myself useful. I was to work with > the president and owner, Dr. Howard Marshall, Ph.D., on a project to > develop an instrument to measure the real-time sulphur content of a > coal stream by detecting and analysing the prompt gamma ray spectrum > resulting from the absorption of thermal neutrons from a Californium > 252 radioactive source. The opportunity sounded exciting to my naive > ears, as it was my first professional job. I was finally in the real > work world of adults and ready to go on to do great things. Remember, > this was twenty years ago and I was only twenty-two years old. I had > no previous experience to guide me in the situation I was in, no > mentor to teach me, no helping hand and no idea of where to begin or > what to do. Like most good engineers, I decided to fake it until I > understood my value. > > I spent the first Year or So understanding the design parameters of a > Sulphur meter, which involved creating a computer model on a Tymshare > IBM 370 System accessed with a Teletype terminal at the fantastic rate > of 30 characters Per second. This was a revolution from the punch > cards I had used in college on a CDC 3150 that could be viewed through > a glass window in the foyer of the computer department. MY degree in > physics mandated that the modelling language would be Fortran, and I > naturally enjoyed programming, which was probably related to my > ability and love for mathematics. I had completed the coursework for a > degree in mathematics with a 4.0 average in college. I was proud of > the growing complexity and depth of my simulation, which was now > consuming hours of computer time during the night hours when the cost > was lowest. > > It came to pass by the natural events of the development process that > construction of a sulphur meter prototype was to take place. Howard > Marshall had earned his doctorate in physics from the California > Institute of Technology, which is very much in bed with the Jet > Propulsion Laboratory in Pasadena. His contacts encouraged a computer- > based instrument and recommended a strange language called Forth that > was floating around the lab. They convinced him it was possible to > build a small, Z80-based controller that could acquire the spectrum > from the sodium iodide detector and maintain real-time signal > processing rates to compute the actual sulphur content. > > Somehow, outside my area of responsibility, an S100-bus system showed > up from the Empirical Research Group. My electrical engineer office > mate had been assigned the task of fooling around with it for > development purposes, but no progress seemed to ever be at hand. After > some time had passed, a fellow named Martin Smith showed up from the > Cal Tech network. He brought with him a Forth running on a Monolithic > 280-based multi-bus system, and progress toward a controller began. > > I was preoccupied with designing the sulphur meter based on my Fortran > simulation. but the natural need to verify the model from real data > taken from the prototype was growing important. With the help of > Marty, I started playing with the Forth computer. This was the first > time in my life that I had actual, physical contact with a computer. > Those big, eight-inch Shugart floppy drives that held a whopping 120K > bytes, and the awesome 64K of fast RAM, along with the character-based > video display terminal, intoxicated me. What what was more puzzling > was this strange way of talking to the computer, called Forth. I had > taken a computer language survey class in college which included > Fortran, Algol, PWM, Cobol, Trac, Lisp, and APL, but had never heard > of anything called Forth. It was strange and unnatural without program > statements. I could not find the compiler, linker, or listing output. > I could not figure out how it worked, but I realized that I now had > direct contact with the CPU without the need to learn complex system > manuals. I finally had a computer under my control and I went to town. > Over the next few years, I had a good time writing programs on that > small Forth system to do data preprocessing for input to the real, > grown-up IBM Tymshare computer for comparison to my simulation. > > I taught myself the Z80 assembler in the Forth, which gave me access > to the computer hardware. I played with serial comms, DMA for the disk > drive, video display controller, interrupts, and, most important of > all, the AMD 9511 floating-point coprocessor. I wrote linear matrix > functions, least squares routines, statistical measures, data filters, > and data stacks for working with the gamma ray spectra. I used that > little 64K computer to its limit to complete the calibration of the > first delivered sulphur meter. I also became an expert in using Forth, > although I still did not fully understand what I was doing. > > About this time, around the beginning of the eighties, a recruiter > called me searching for a Forth programmer. I was not a Forth > programmer in my mind. I did not see myself as a Forth programmer. I > was a physicist using a tool to do a job. Anyway, I went on an > interview to Forth, Inc. in Manhattan Beach, California, and met a man > named Edward Conklin. We talked about what I had been doing with > Forth, I showed him some of my listings, toured the offices, and shook > hands upon departing. A few days later, the recruiter called saying I > had been offered a job for more money than I was making and encouraged > me to accept. I was puzzled. I was not a Forth programmer. Why did > they want me? What would it be like? I just did not understand where I > would fit in. I declined the position, Over the years, I have wondered > what direction my career would have taken if I had just said yes. > Looking back, it is easy to see now that I was an exceptional Forth > programmer, as following parts of my story will reveal; but remember, > I was still in my twenties, working on my first job, which limited my > view of my career horizon. My destiny would take me to other places > and back again, to Forth. > > My job was winding up with the completion of the first sulphur meter. > Martin Smith had left earlier, going back to a previous job at > Technicolor in Hollywood. I had grown as an engineer, becoming more > than could be supported by the twenty-five person company that was > owned by a single person. The end of my first job had come, so I > resigned and, that weekend, I bought a Victor 9000 personal computer. > I did have the vision to see that what I had done with that small 280 > computer spelled the death of my cherished IBM 370 computer running > Fortran over the phone line. The future was in small, personal systems > that clearly exceeded the power of the off-line dinosaurs. I did not > know what I would be doing, but I knew what I would have to do and > that was to learn the basics of the smaller machines. As fate would > have it, Many called me the following Monday, and a week later I was > working for Technicolor. It was now May of 1983. > > I had taken the job as a computer programmer who would develop the > control software for a film printer. This was a special kind of > printer to reduce the cost of choosing the RGB color light levels for > a film scene by printing one frame of scene onto the positive, thereby > saving the cost of developing a complete print just to check the > production parameters. I had to learn Intel's version of PL/M and > assembly for the 8086, which was the heart of the Intel 88/40 multi- > bus board computer controller. I was back to compilers, linkers, and > locators, and got to play with in-circuit emulators. I discovered real- > time control that enables computers to interact with the physical > world. I learned multitasking, interrupt response times, and control > inputs and outputs from A/D and D/A chips, counters, and parallel > lines. I got to play with big servo motors. I had a ball. I almost > forgot about Forth. > > But not completely. I obtained the fig-Forth listing for the 8086 with > the intention to boot a Forth on my Victor 9000. 1 spent many nights > and weekends typing in the listing as I learned about DOS and just how > the PC worked. I gathered documentation, bought some software, and > joined the Victor 9000 users group. Time passed. Work went well with > the nearing completion of the proof printer. Then Hollywood came into > the picture. Hollywood is not in the real world, they make it up as > they like. The engineering director and the chief engineer got > themselves fired for no apparent reason other than a pompous power > play which I never understood. The upshot was that my project was > cancelled, leaving me in limbo. I chose to resign a month later, > simply because I no longer had a defined job. It was July of 1984. > > I spent the next five months working twelve-hour days at home on my > Forth system. I booted the kernel as a DOS executable, and promptly > rewrote it to my liking, including redesigning the inner interpreter. > I was forced, by finally understanding the true nature of Forth, to > add an 8086 assembler of original design, an interface to DOS for > files and display control, floating-point words for an 8087 > coprocessor, and many utilities to work with my system. Looking back, > I wonder why I did it. Why would I create a complete Forth development > system for the PC? I had no use for it, nor any future plans for the > system. I believe the answer was just to learn how personal computers > work. Forth gave me direct access to the machine, and freedom to > explore designs that felt right to me. I did... > > read more » Folks, I managed to contact Allen (the author of the above story). See below. Regards Mark. ----------- Date: 4/05/2012 Subject: Forth I keep an old XP computer in my garage that runs my Forth system but have not touched it in many years. Windows 7 would not allow it to run so I stopped using it. In fact, I stopped programming altogether after 35 years of coding. Forth is special and I am sad that most others cannot experience the freedom it gives in solving problems. I met Charles Moore once and Forth Inc offered me a job, I declined. Forth is the best language I ever knew, but like Mr Moore, it is too much an individual to suceed in the mass market. Thanks for contacting me. Allen
[toc] | [prev] | [next] | [standalone]
| From | Steve Graham <jsgrahamus@yahoo.com> |
|---|---|
| Date | 2012-04-06 09:15 -0600 |
| Message-ID | <jln1au$cne$2@speranza.aioe.org> |
| In reply to | #10969 |
... > > Folks, > > I managed to contact Allen (the author of the above story). See below. > > Regards > > Mark. > > ----------- > > Date: 4/05/2012 > > Subject: Forth > > I keep an old XP computer in my garage that runs my Forth system but > have not touched it in many years. Windows 7 would not allow it to run > so I stopped using it. In fact, I stopped programming altogether after > 35 years of coding. Forth is special and I am sad that most others > cannot experience the freedom it gives in solving problems. I met > Charles Moore once and Forth Inc offered me a job, I declined. Forth > is the best language I ever knew, but like Mr Moore, it is too much an > individual to suceed in the mass market. Thanks for contacting me. > Allen Thanks for the story and followup. Steve
[toc] | [prev] | [next] | [standalone]
| From | Wasif Hyder <wasif_hyder@hotmail.com> |
|---|---|
| Date | 2012-04-08 11:10 -0700 |
| Message-ID | <82ffc48b-3db8-4903-b9ca-6757f4817928@f5g2000vby.googlegroups.com> |
| In reply to | #10883 |
On Apr 4, 3:19 pm, Mark Wills <markrobertwi...@yahoo.co.uk> wrote: > ...but is it the story of Forth? > > Enjoy. > --------------------------------------------------------- > > A Forth Story > Allen Cekorich > Walnut Creek, California > Forth Dimensions, July/August 1995 > > In 1975, I was fresh out of college with a bachelors degree in physics > and a need to find a job that paid enough to support myself. After a > six-month search, I landed an entry-level position at MDH Industries > in Monrovia, California, where they promised to increase my minimum > wage starting salary once I proved myself useful. I was to work with > the president and owner, Dr. Howard Marshall, Ph.D., on a project to > develop an instrument to measure the real-time sulphur content of a > coal stream by detecting and analysing the prompt gamma ray spectrum > resulting from the absorption of thermal neutrons from a Californium > 252 radioactive source. The opportunity sounded exciting to my naive > ears, as it was my first professional job. I was finally in the real > work world of adults and ready to go on to do great things. Remember, > this was twenty years ago and I was only twenty-two years old. I had > no previous experience to guide me in the situation I was in, no > mentor to teach me, no helping hand and no idea of where to begin or > what to do. Like most good engineers, I decided to fake it until I > understood my value. > > I spent the first Year or So understanding the design parameters of a > Sulphur meter, which involved creating a computer model on a Tymshare > IBM 370 System accessed with a Teletype terminal at the fantastic rate > of 30 characters Per second. This was a revolution from the punch > cards I had used in college on a CDC 3150 that could be viewed through > a glass window in the foyer of the computer department. MY degree in > physics mandated that the modelling language would be Fortran, and I > naturally enjoyed programming, which was probably related to my > ability and love for mathematics. I had completed the coursework for a > degree in mathematics with a 4.0 average in college. I was proud of > the growing complexity and depth of my simulation, which was now > consuming hours of computer time during the night hours when the cost > was lowest. > > It came to pass by the natural events of the development process that > construction of a sulphur meter prototype was to take place. Howard > Marshall had earned his doctorate in physics from the California > Institute of Technology, which is very much in bed with the Jet > Propulsion Laboratory in Pasadena. His contacts encouraged a computer- > based instrument and recommended a strange language called Forth that > was floating around the lab. They convinced him it was possible to > build a small, Z80-based controller that could acquire the spectrum > from the sodium iodide detector and maintain real-time signal > processing rates to compute the actual sulphur content. > > Somehow, outside my area of responsibility, an S100-bus system showed > up from the Empirical Research Group. My electrical engineer office > mate had been assigned the task of fooling around with it for > development purposes, but no progress seemed to ever be at hand. After > some time had passed, a fellow named Martin Smith showed up from the > Cal Tech network. He brought with him a Forth running on a Monolithic > 280-based multi-bus system, and progress toward a controller began. > > I was preoccupied with designing the sulphur meter based on my Fortran > simulation. but the natural need to verify the model from real data > taken from the prototype was growing important. With the help of > Marty, I started playing with the Forth computer. This was the first > time in my life that I had actual, physical contact with a computer. > Those big, eight-inch Shugart floppy drives that held a whopping 120K > bytes, and the awesome 64K of fast RAM, along with the character-based > video display terminal, intoxicated me. What what was more puzzling > was this strange way of talking to the computer, called Forth. I had > taken a computer language survey class in college which included > Fortran, Algol, PWM, Cobol, Trac, Lisp, and APL, but had never heard > of anything called Forth. It was strange and unnatural without program > statements. I could not find the compiler, linker, or listing output. > I could not figure out how it worked, but I realized that I now had > direct contact with the CPU without the need to learn complex system > manuals. I finally had a computer under my control and I went to town. > Over the next few years, I had a good time writing programs on that > small Forth system to do data preprocessing for input to the real, > grown-up IBM Tymshare computer for comparison to my simulation. > > I taught myself the Z80 assembler in the Forth, which gave me access > to the computer hardware. I played with serial comms, DMA for the disk > drive, video display controller, interrupts, and, most important of > all, the AMD 9511 floating-point coprocessor. I wrote linear matrix > functions, least squares routines, statistical measures, data filters, > and data stacks for working with the gamma ray spectra. I used that > little 64K computer to its limit to complete the calibration of the > first delivered sulphur meter. I also became an expert in using Forth, > although I still did not fully understand what I was doing. > > About this time, around the beginning of the eighties, a recruiter > called me searching for a Forth programmer. I was not a Forth > programmer in my mind. I did not see myself as a Forth programmer. I > was a physicist using a tool to do a job. Anyway, I went on an > interview to Forth, Inc. in Manhattan Beach, California, and met a man > named Edward Conklin. We talked about what I had been doing with > Forth, I showed him some of my listings, toured the offices, and shook > hands upon departing. A few days later, the recruiter called saying I > had been offered a job for more money than I was making and encouraged > me to accept. I was puzzled. I was not a Forth programmer. Why did > they want me? What would it be like? I just did not understand where I > would fit in. I declined the position, Over the years, I have wondered > what direction my career would have taken if I had just said yes. > Looking back, it is easy to see now that I was an exceptional Forth > programmer, as following parts of my story will reveal; but remember, > I was still in my twenties, working on my first job, which limited my > view of my career horizon. My destiny would take me to other places > and back again, to Forth. > > My job was winding up with the completion of the first sulphur meter. > Martin Smith had left earlier, going back to a previous job at > Technicolor in Hollywood. I had grown as an engineer, becoming more > than could be supported by the twenty-five person company that was > owned by a single person. The end of my first job had come, so I > resigned and, that weekend, I bought a Victor 9000 personal computer. > I did have the vision to see that what I had done with that small 280 > computer spelled the death of my cherished IBM 370 computer running > Fortran over the phone line. The future was in small, personal systems > that clearly exceeded the power of the off-line dinosaurs. I did not > know what I would be doing, but I knew what I would have to do and > that was to learn the basics of the smaller machines. As fate would > have it, Many called me the following Monday, and a week later I was > working for Technicolor. It was now May of 1983. > > I had taken the job as a computer programmer who would develop the > control software for a film printer. This was a special kind of > printer to reduce the cost of choosing the RGB color light levels for > a film scene by printing one frame of scene onto the positive, thereby > saving the cost of developing a complete print just to check the > production parameters. I had to learn Intel's version of PL/M and > assembly for the 8086, which was the heart of the Intel 88/40 multi- > bus board computer controller. I was back to compilers, linkers, and > locators, and got to play with in-circuit emulators. I discovered real- > time control that enables computers to interact with the physical > world. I learned multitasking, interrupt response times, and control > inputs and outputs from A/D and D/A chips, counters, and parallel > lines. I got to play with big servo motors. I had a ball. I almost > forgot about Forth. > > But not completely. I obtained the fig-Forth listing for the 8086 with > the intention to boot a Forth on my Victor 9000. 1 spent many nights > and weekends typing in the listing as I learned about DOS and just how > the PC worked. I gathered documentation, bought some software, and > joined the Victor 9000 users group. Time passed. Work went well with > the nearing completion of the proof printer. Then Hollywood came into > the picture. Hollywood is not in the real world, they make it up as > they like. The engineering director and the chief engineer got > themselves fired for no apparent reason other than a pompous power > play which I never understood. The upshot was that my project was > cancelled, leaving me in limbo. I chose to resign a month later, > simply because I no longer had a defined job. It was July of 1984. > > I spent the next five months working twelve-hour days at home on my > Forth system. I booted the kernel as a DOS executable, and promptly > rewrote it to my liking, including redesigning the inner interpreter. > I was forced, by finally understanding the true nature of Forth, to > add an 8086 assembler of original design, an interface to DOS for > files and display control, floating-point words for an 8087 > coprocessor, and many utilities to work with my system. Looking back, > I wonder why I did it. Why would I create a complete Forth development > system for the PC? I had no use for it, nor any future plans for the > system. I believe the answer was just to learn how personal computers > work. Forth gave me direct access to the machine, and freedom to > explore designs that felt right to me. I did not have to depend on a > vendor to show me what I could do. My physics training led me to > explore fundamentals of computer operation much as I explored the > fundamental laws of the physical world. I also began reading Byte > magazine every month to keep up on the technology, and I read books > such as Donald Knuth's Art of Computer Programming. Forth gave me > freedom to explore beyond the limitations of a fixed compiler with a > straight-jacket syntax. I had finally caught the Forth bug. > > The realities of living without an income finally caught up with me. > In December of 1984, I found a job with Litton Industries. The fibre > optic department under Mike Suman had a contract with Western > Geophysical to build a demonstration underwater fibre optic microphone > towed array for oil exploration. The job was to complete an Intel > multi-bus computer demodulator for five sensors. The software was > written in PL/M-86 and assembler, and was presented to me as almost > done. I learned quickly that the statement was politically correct but > entirely false from an engineering perspective. I had wandered blindly > into defence engineering for the first time. I redesigned the computer > system to use three single-board computers in a multi-bus backplane, > and wrote the software from scratch to multiplex the three 8086 CPUs > to accomplish the demodulation. Four months later, it was finished, > complete with a real-time video display of the sensor outputs for the > all-important demo. The next day, the contract was cancelled due to > the oil glut of the mid-eighties. > > I wondered if I had a job. The major part of the fibre optic > directorate was involved in fibre optic rotation sensor development > for military applications. The program seemed to be headed by a man > named Dr. George Pavlath, who was a Ph.D. in physics from Stanford > University. He had a problem with the testing of the rotation sensors > on the rate tables which used H-P BASIC controllers. He knew from my > resume that I had experience with Forth, and he had heard from his > friends at Stanford that it was a very neat control language. I told > him I had developed my own Forth system for the PC, and we agreed to > try it out for rate table control. I brought in my system and spent a > few months porting it to the IBM PC, adding drivers to read IEEE-488 > instruments via a Metrabyte card, and rate table position from a > CTM-05 counter board. I completed a fully automated rate table test > station and began to test fibre optic gyros. > > The application of Forth to a flexible test environment was perfect. I > went much further and added online data analysis, and began > constructing my own unique plotting additions to Forth based on > Brodie's MAKE DOER construct. My Forth system grew to maturity as > different problems demanded solutions. I quickly returned to my > physics roots to contribute to the new technology of fibre optic > sensor development. > > All was not well, though. I encountered the first resistance to the > Forth way of doing business. The Forth development environment was so > efficient that the H-P BASIC controllers were made obsolete. This led > to resentment by engineers who had invested their time learning H-P > BASIC. I offered to teach them Forth, but remember, this was a system > I had personally written. It was my creation, and no one could > understand it as well as myself. Why should they invest part of their > careers learning a tool that was the personal property of one > engineer? They did have a point. But the fact was that my system was > doing things that nobody thought possible before. It was even worse > than that. It turned out that someone in a different Litton division > was using Forth for production test station control for the same > reason, its efficiency and power. This person was upset that I had > brought in a new dialect. He had his box of tools and would not look > at mine, and we could not share code. > > As the years passed, my system became entrenched in the fibre optic > directorate and enabled a lot of progress to be made, even though I > spent most of my time concentrating on the physics of the devices. A > few people finally learned my system, which became quite powerful, but > the lingering resentment remained. Other engineers felt I had cheated > by using Forth, that it was unfair to them. I even published my Forth > system, called AFORTH, through the Victor 9000 users group. I was told > that up to forty people bought copies, and the head of the users group > eventually got a job writing Forth. > > Sometime in the eighties, I got it in my head that Forth could be > applied to build fast demodulators, especially since the advent of > Forth chips. I convinced George Pavlath to send me to a company called > Novix to check out a Forth-based CPU. It was on this trip that I met > Charles Moore. He and I talked for half an hour about possibilities. I > had a hard time believing that this was the creator of Forth. I played > with a Novix development system, unaware that the chip was not yet > real, in the sense that one could not buy one. In truth, I felt I was > sticking my neck out by suggesting a Forth design when other engineers > wanted my head for what I had accomplished in the testing area. The > reality was, it did not matter - I ordered a Novix chip which was > never delivered, since the company eventually folded. I felt relieved. > I went on to work with DSP processors such as the TMS320C25, which > were now capable of implementing complex demodulation designs and > provided me with new areas to explore. > > Then the Berlin Wall fell. The defence build-up was over in a day, but > it took several years of excruciating pain for many innocent people to > accept the change in their lives. I held out until September of 1991, > when I finally admitted it was time for me to leave. I could no longer > pay the price required to survive. In January of 1989, I had replaced > my ageing Victor 9000 with a Dell 386 computer. I briefly went into > consulting with my Forth system. I worked several months for the > Physical Optics Corporation in Torrance, California, automating their > production holographic testers. I realized again that I was sticking > them with a custom solution that could not be updated without me. It > was just not viable. Even though they were delighted with the results > of my work, I never got called back; probably because the engineering > staff had changed in the interim. > > I was out of work until May of 1992, when I got a call from Systron > Donner in Concord, California. A half-dozen Litton refugees had found > jobs there, and they were eager for me to join them. I moved from Los > Angeles to beautiful Contra Costa county, and thought I had found a > wonderful place to work. The CEO was Dick Terrell, who came from > Litton marketing, and was converting the company to quartz sensor > technology. It turned out that I was the last one hired before the > defence downsizing began in earnest at the company. I had to relive > the experience at Litton during the next year and a half. > > I was hired to do DSP software for the Quartz Inertial Measurement > Unit, but the military requirements for software quality control were > beyond the resources of the company, so the project was cancelled a > month after I arrived. Instead, I was asked to work on a substitute > IMU for a contract delivery that was not going to happen on the > current schedule. One of the main problems was that the rate table > test station, which was being coded in C, would not be ready in time. > I volunteered my Forth system for the interim station, and completed > the work in several months. Once again, I experienced the wrath of > engineers who said I cheated because they were forced to use the > "correct C approach," while I used this thing called Forth, which > obviously made the work too easy. Go figure. I should have known > better; the truth was, nothing mattered, because the company was being > downsized with a vengeance, and when the CEO was replaced, I soon lost > my job in December of 1993. > > Among the people who joined me going out the door was a guy who wanted > to start a company with a product, based on the Systron Donner > rotation sensor, which would measure body movements for medical > purposes. I met with him and agreed to program a prototype piece of > equipment using my Forth system, in exchange for a future piece of the > company. In one month, I had a prototype that displayed real-time > rotation movement and medical parameters for Parkinson's syndrome. It > was demonstrated to the Parkinson's institute and was well received. > However, I told my partner that the final device could not be > programmed in Forth. Why would I say such a thing? Simply because > technology had passed Forth by, in my opinion. It was no longer > possible for one person to develop all the software required in a > graphical environment. I needed to buy the tools I needed to leverage > my time for a professional job. I could no longer play the role of the > maverick programmer, nor did I want to. I need to be part of a > collaborative community in which I can give and receive work. I do not > see Forth as a viable solution as of today. > > The start-up company never happened, for financial reasons, so I have > been unemployed since then. I am also forty-two years old, and am > looking at my life from the midway point. I have spent nearly twenty > years doing this Forth thing, and I do not know if I want to continue > with it. A year ago, I bought the Symantec C++ development package for > Windows. I have yet to use it. It does not excite me like Forth did, > because it does not give me the freedom to create those program > constructs which enable my ideas. I guess I am still undecided on the > issue of Forth, so I will renew my subscription to Forth Dimensions > for at least this one last time. Try Lisp ? Maybe it's wortha shot ?
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.forth
csiph-web