Re: Speaking of Forth..

Forth? I thought that went out the window with windup robots.
Yuk. The worst concoction of mixed up goofballs I have ever seen subscribed
to that syle of programming. when the programming got tough they had to reverse half their style and it got to be a mess.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Nuts and Volts July issue has a good article on progrmming in FORTH. If you want to learn FORTH, try getting a hold of PYGMY FORTH from the internet. That's a pretty easy one to work with.
New Micros used to have a pretty inexpensive micro based on the HC11 that runs on MAX-FORTH. Their ISOPOD also runs on FORTH.
I like FORTH. The programs I write in FORTH run faster than the ones I write in BASIC. I can write device drivers without having to resort to machine language (which often isn't available in BASIC anyway). You can test software easier. BASIC is pretty easy to learn, but FORTH isn't that much more difficult and certainly no more incomprehensible than C. Over all I find it ideal for robotics. Some people disagree, but to each thier own.
--
chris in napa
"steamer" < snipped-for-privacy@sonic.net> wrote in message
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
chris burns wrote:

---------------------- ftp://ftp.armory.com/pub/user/rstevew/FORTH/pygmy14.zip ftp://ftp.armory.com/pub/user/rstevew/FORTH/pygmy15.zip
--
-Steve Walz snipped-for-privacy@armory.com ftp://ftp.armory.com/pub/user/rstevew
Electronics Site!! 1000's of Files and Dirs!! With Schematics Galore!!
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I agree. Fourth sounds like a wonderful concept at the beginning but once you get into constucts for prrogramme flow is becomes a mess and breaks all it's own rules.
writes

could
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Hi What rules are you talking about. Forth is very simple. Program flow is consistant. The interpreter sees input. The input can be a number or a word. Words can be nouns, verbs, adverb or what ever. A word can even start another special interpreter to solve special problems. It is hard to break such simple rules. I don't know how one could. Dwight
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Yup,
I am a goofball. But I have an Emmy sitting on my mantle, and I couldn't have done it without FORTH. Just my 2E-2

and
could
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

To answer your question as directly as I can, I don't know of anyone who sells a kit of parts, to do Forth. Generally, you either get a single board computer with Forth on it,or get a Forth into a PROM and install it on a single board computer, if you want some hands on, D-I-Y.
For instance: New Micros sells a board based on the 8051, which comes with support for BASIC, Small C, FORTH and Monitor for $39. The manual has quite a few examples written in each language. Although the board is large (about 6"x4") and the processor somewhat dated, but one of the more popular cores in existance. You still get more computing power and flexibility than you do with a Stamp, which costs much more.
As Chris mentioned we also sell a series of boards based on the HC11 with our Max-FORTH in ROM.
Our latest offerings, the IsoPod(TM) and ServoPod(TM) have our new language, IsoMax(TM) which has a statemachine real time operating system on top of a Forth procedural base. These represent 20 to 40 times the processing power and several times more interface features for comparable prices. These can also be programmed in C. We considered Basic for these later boards, but are dragging our feet, not well motivated to do so.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Let me ask you, do you ride a bicycle? Did you start on a tricycle? Was it akward going from the trike to the bike? (If you didn't ask someone who did.) The first time on a bike you came to a corner and pulled the handle the way you wanted to go like you would on a trike, and fell over... you experienced how riding a pedal vehicle which didn't require balance difference from one that did.
The actual physics of how to turn a bicycle are pretty fascinating. Most people just do it and don't think what they do. You must use negative steering. Too go left, you first push right. (Amazing but true!) Pushing right leans you to the left. Once leaned you return the bars to neutral. The curved path that takes you around the corner. But its all so easy, once you've learned it, it's natural, like, "riding a bike."
Riding a trike does teach you some things you use with a bike. You learn to pedal. You learn leg coordination. You learn some basic balance, enough to stay on the vehicle for instance. But you actually learn exactly the wrong way to go around corners if you ever want to move on to a bike or a motorcycle.
And strangely, for the rest of your life, if someone asks you what to do if want to go left, you THINK you just turn left, even though you actually DO something almost opposite and much more complicated from that. Would you say the tricycle screwed up your thought process for riding the bike? The answer must surely be, in some fundamental sense, Yes. Doesn't mean you can't learn to ride a bike, and it doesn't mean you can't learn to go around corners, but you'll probably always be confused, thinking-wise, about how you go around corners.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 1 Jul 2003 11:10:17 -0500, "Randy M. Dumse"

Definitely, an image there! I like it.
Another cut on this....
Having wide experience with various languages, particularly when they stretch your thinking processes productively, only helps. It never causes you to be more confused. It just gives you more tools in which to think.
Lisp, APL, Forth, C, Clu, C++, Bliss, ADA, assembly language, VDHL and Verilog, etc.... these and many others can only broaden out one's experience. Some will expose you to task and process semantics, or to iterators, or to various levels of thinking, from the ideas of combinatorial logic to sequential logic with state, the various aspects of latches and registers, ALUs, to inheritance, garbage collection, and deadlocks.
More is better and no matter what you start out with, there will be something else out there made just a little harder to grasp, because of the reinforced, preconceived notions you haven't yet gotten rid of. But that's just the price you pay to learn. Not some problem of a good language.
And the greater the breadth and depth of one's mental tools, the more facilely one can address the myriad problems one meets in programming life. More is better, up to a point. Then its making some decisions and staying leading-edge proficient in a few.
The question about using forth daily, for me, is more a matter of who would pay me for those skills if I should take the effort to become well-versed in them. No one has ever even asked me if I knew forth, in my 27 years of active, full-time professional programming. I've *loved* reading articles about forth and I did play with it some. But work in it seems far between, for most. I suppose the business is large enough for those living in the cracks, so to speak. But it's a small pond, as they say.
For my own hobby use? Entirely a different question. I intend to get some more time into forth. Just because I liked playing with it before and, I'm sure, will enjoy it again as I get some time to dig deeper.
So a lot depends on one's goals. If one is trying to develop marketable skills to the broader marketplace, then probably forth should be set aside for a while. If one is trying to be a big fish in a small pond, then forth may be an opportunity to achieve that. It's hard to know what to advise.
Jon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

From my experience:
I have programmed in BASIC, FORTRAN, Modula, Assembly, machine code, C, C++, LISP, FORTH. and LabView. FORTH and LabView make me wish everything else worked as easily. LabView tainted me forever. FORTH broadened my horizons, and taught me how to better break down a task.
Mike
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Blueeyedpop" wrote:

C++,
Twenty years ago I built several robots controlled using up to eleven FORTH processors running in parallel (Rockwell R65F11 - 6502 based). That took care of real time control. Higher level logic was implemented in APL. That, in my opinion, was a beautiful combination for robotics: I could do low-level stuff with incredible ease (FORTH) and attack matrix transforms in a very natural way (APL).
To the O.P.: Learn as many languages as you can. Don't get stuck with the "linear" thinking of today's popular languages. Much like assembler and FORTH have limits, today's popular languages will be considered incredibly clunky in the future. APL, in my opinion, is the closest you can get to programming at the speed of thought. The failure point of today's programming methodologies is that the programmer still has to deviate from the problem to be solved to focus on the mechanics of the process.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Euredjian
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Randy M. Dumse" wrote:

Amazing. Small world. That chip was wonderful. I did a ton of work with this chip.
The parallel processor I mentioned had 11 of them. There was a master that communicated with a PC, a control panel interface that communicated a ran a control panel with buttons, knobs and a 3-axis joystick. I even designed a floppy-disk controller card and wrote all the appropriate drivers to use as block storage for FORTH. The rest of the processors were servo controllers (one per axis) controlling DC servo motors. PWM was done on a separate card that simply took a parallel PWM setting from each of the processors and produced the signal by using comparators. Each motor was controlled by a full-bridge setup using 2N3055's. I also had display (LED alphanumeric) general-purpose I/O cards designed into the system. Without counting the motor drive amplifiers, the whole thing occupied six rack units in a standard 19in rack.
I built two robots that used this system. One was a relatively conventional 6DOF robot arm. The other was a four-legged walking spider (slow) that used an oil-damped pendulum to stay horizontal (I patterned it after work I had seen out of a Japanese university back then, forget which one). Anyhow, it all worked very well. I'm going back to 1983~85 here, so I don't remember all the details. The PC implemented a programming console that could be used along with the control panel to program movement sequences. All of the console work was done in APL barring some real time stuff that had to be done in assembler.
I sent you a couple of pictures of the hardware privately. Regrettably I don't have any pictures of the robots, but, for some strange reason, I kept the parallel processor and the motor drive amplifiers in my garage all this time!!!.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Euredjian
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

that
a
a
as
controllers
card
conventional
used
it
the
kept
this
I hear a chant for FORTH coming on!!!!!!!
FORTH! FORTH! FORTH! FORTH!
I have been using Randy's FORTH based microcontrollers in motion picture and television equipment for a decade now. What amazes me, ( and my supervisors and co-workers), is how quickly you can get stuff up and running as real product.
My Squishy Lens was based on a 68hc11, and a handfull of NMI's boards. I could not have done it so quickly without FORTH. The optical and mechanical design took 6 months, the electrical took a week, and the software was less than a month. This would have easily been a 1 year development cycle for my employer, had I not used FORTH and Randy's boards. This resulted in about $200,000.00 more for my employer in revenue the next year.
I wish there were an embedded systems award, so Randy could get a trophy.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yep, it's an amazingly small world. Neat pictures, very neat work. Looking at the CPU boards, I can remember lots of details about R65F11 I haven't thought of in so many years.
Are you still in the robot business? What languages now?
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Thanks for the comments. Regarding being in the robot business, well, yes and no, depending on how you look at it. I've been working in the motion-picture industry for twenty years.
I've been involved in such things as moving a camera rig under computer control using a custom built 40ft x 40ft x 20ft gantry-style "robot" for special effects shots (like flying over/through a scaled-down model of a city). A number of years ago I used to manufacture and sell motor controllers for RC electric flight. That was interesting but a pretty bad market to be in. Here's a case of lot's of guys out of their kitchen table making a mess out of pricing structures ... which means that there's a cycle of startups and failures that permeates the business. I was doing it as a real business, with employees, etc. Not worth the effort. Barring a few established names, dealers are the only ones that make any money.
Industrial robotics was never attractive enough for me to get into business-wise. As a hobby I like walking machines, preferably with only two legs. I've been playing around with that on and off for a while, but nothing to write home about ... just don't have the time.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian
To send private email: 0_0_0_0 snipped-for-privacy@pacbell.net where "0_0_0_0_" = "martineu"

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
{{Date: Tue, 01 Jul 2003 21:49:43 GMT
No one has ever even asked me if I knew forth, in my 27 years of active, full-time professional programming. ... But work in it seems far between, for most. ... If one is trying to develop marketable skills to the broader marketplace, then probably forth should be set aside for a while.}}
Do you know of *any* programming language where jobs are currently available without *already* having 3-5 years paid shrink-wrapped commercial-product experience in exactly that langauge, where you can learn the language on your own or via a class in a community college, and then you're employable? I have 22 years-fulltime-equivalent experience programming computers, including a couple weeks of Forth, but haven't been able to get a job since 1992 and haven't been able to even get an interview since 1994. For the past several years, I haven't seen any job ad I qualify for despite my many years of programming experience. The closet I've seen is one that required only HTML and Java, of which I've done the former but not the latter. Most other job ads list about ten languages all required (C C++ Java Oracle Sybase VisualBasic ...) of which I've done only one or two so even if I learned two or three more languages within a single week before the job ad expired I still wouldn't qualify for the job.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Programming is a craftsman's activity.
Professional work simply is not offered to those who have yet to teach themselves the craft.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Sat, 26 Jul 2003 23:12:50 -0700, snipped-for-privacy@YahooGroups.Com wrote:

I don't know what to tell you, Mr. Maas. It sounds like you have been "doing this" for about the time I have, adding your 10 years of 'slumber' from 1994 to 2003 and assuming that by 22 years you mean between 1973 and 1994. I've been at it since 1972.
Being self-employed means I'm active in the market, I have no problem finding work, and I'm in one of the two States which have the highest unemployment in the US, Oregon (Washington is the other.) But I did learn early on that everything in life is about relationship. I don't burn people, I don't jump ship, I take abuse and keep on ticking without returning fire, and I'm always available to support everything I've ever written. I'm available 24/7, 365 days, including Christmas, and I take responsibility for my projects, even when the client doesn't really know what that means to them. I am also reasonably fluent in most ancillary areas related to my programming area, including mathematics, elecronics, chemistry, physics and optics, numerical methods, and signal processing. And what time I don't spend with the family or in volunteer work, I spend keeping up on these subjects. Whether any of this has anything to do with it, I don't know. But I can say I'm not experiencing your circumstance. Maybe it's just luck.
But with what I guess would be your credentials in play and without assuming you live in some computer-forsaken part of the world, I'd be asking myself what I'm doing wrong. Something is amiss and it's probably not entirely just a problem with everyone else. You may have priced yourself out of the market, for all I know. But your 22 years would get my attention.
Jon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
{{Date: Sun, 27 Jul 2003 08:09:29 GMT
Being self-employed means I'm active in the market, I have no problem finding work}}
But that's because you have recent work (paid) experience. How do you get a programming job when you don't have any?
{{I did learn early on that everything in life is about relationship.}}
Please instruct me how to obtain relationship.
{{I don't burn people, I don't jump ship,}}
I don't either. I stayed with my last major employer until the very end. Two weeks before my employment ended, I learned of the upcoming ending due to lack of any more available funding. At that point, not before, I started looking for a new job. Most of my co-workers had already jumped ship a year or two before, but I stuck with my employer to the very end.
{{I take abuse and keep on ticking without returning fire,}}
I did that too. For example, when my supervisor humiliated me in front of the whole meeting of appx. ten co-workers, I just silently suffered.
{{and I'm always available to support everything I've ever written.}}
With or without pay? I.e. would you be willing to work 40 hours per week for ten weeks without any pay whatsoever just to upgrade something you wrote ten years ago?
I would be glad to support my past projects, if it was just a little bit of help for free, or if I got paid for any serious time I had to spend.
{{I take responsibility for my projects, even when the client doesn't really know what that means to them.}}
I do too, as long as I'm allowed.
{{I am also reasonably fluent in most ancillary areas related to my programming area, including mathematics,}}
I placed top five nationwide in the Putnam competition, but after school I never found any employer interested in me doing any mathematics for them. The closest I ever got to some employer appreciating me for my math ability was in 1970 when John McCarthy of Stanford offered me a chance of a data-compression job if I'd do some free work first to prove that I had any productive ideas to contribute. I worked for free from October to April, then got the job which lasted two months ($450/mo).
{{I can say I'm not experiencing your circumstance.}}
That's because your resume shows recent paid experience. I was refused any work (except 2.5 weeks in 1992) for two years, because there was a recession (1991-93) and "nobody is hiring", then from that point onward I was refused any work because I didn't have any significant amount of experience within the past years. How can I get a job now despite no paid experience in more than ten years? I've continued to develop my programming skills, but hardly anyone will even look at my work much less pay me to work for them.
{{without assuming you live in some computer-forsaken part of the world,}}
So-called "Silicon Valley", which currently has just about the highest unemployment rate in the country.
{{I'd be asking myself what I'm doing wrong.}}
I have no idea what the answer is, so asking myself the question is a worthless philosophical exercise.
{{You may have priced yourself out of the market, for all I know.}}
Why do you make such a stupid assumption?? I'd like to get at least $20/hour but I'd be willing to work for only $10/hour if that's all anybody would offer. But I haven't even been offered mininum wage in the past ten years. Do you really believe $20/hour too much to ask for high-quality software development?
{{But your 22 years would get my attention.}}
Then you must not be like employers. All the employers and agencies I've contacted say that they don't want to hire anyone with that much experience. They'd rather have somebody with only five or ten years experience because they believe they couldn't afford somebody with so much experience as I have.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Thu, 31 Jul 2003 19:19:48 -0700, snipped-for-privacy@YahooGroups.Com wrote:

Being self-employed has meant that there were "lulls." Nothing like 10 years, though. I admit that. Of course, I did start out without experience and got jobs. But that was a different time, so I won't hold that out as any evidence of anything.

It's not something I'm able to instruct over this medium.

I don't know your circumstance there, so I can't tell you "good" / "no good." But I was just tossing out possibilities, to see if any stuck. Sounds like you are saying that this isn't it.

Cripes!! What in the heck was that for? I don't think I'd take public disrespect from anyone I work with and stay very long. In a case like that, I'd probably take the supervisor into a private spot and tell them that if they have a complaint, they tell me about it in private (as I'd be doing at that moment.) And that if this kind of mistake happens again, I'll assume they wanted me to leave -- that day. I can be wrong, I don't even mind being made an example of (if permission is first sought), but random public abuse I don't have to take.
On another note, I do NOT like getting consultant pay from a company that is firing their own good employees who do work similarly to what they are asking me to do. I've told some before that they should terminate my contract, as I'm much better able to handle the effects than are their employees. In fact, this rule also applies if I'm an employee -- I'm used to it and I know how to handle it so I can take it much better.
Which is probably part of why I'd not waste much time with a supervisor or boss or client who acted as you suggest above.

Sometimes, yes. It's part of that "relationship" deal. You don't sweat the small things in a healthy relationship. Of course, there's always the risk that something "small" won't actually "be small." But I'm quick to point it out if it drags on very far -- if the relationship is healthy, they will indeed understand. But I'd meant more that I will work reasonably hard to find a mutually agreeable arrangement to support anything I've done in the past.

Yes, that's about it, I guess. You don't go crazy, nickel and diming people you care about. But you also don't get taken for a ride, either.

What I mean is that I branch out into other areas so that things don't slip through the cracks between functional areas of responsibility. It's subtle. Sometimes, just a few friendly phone calls to gently remind someone, so that things happen as they should, but without making anyone feel bad or stepped on. Sometimes, it is even disobeying a direct order (I've done this) and working behind their back with departments from which they need help in order to be a success, charging them for the extra but folding it into their bill. It's doing what's right for the client when they don't even know it's right. It's all the things that, in the end, make them feel that I got paid too much for the easy project they handed me. It might not have *been* such an easy project, but for that watchful eye.

Sounds like a typical university mindset, all right.
One difference between you and me in this case may have been that I was raised quite poor -- actually had to beg food from grocery stores and the like to eat as a child. I worked the berry fields and vegetable fields for some cash, in high school times, and had to pay for every nickel of my expenses during college while taking 18 cr-hr/term. There is no way I would have worked for anyone for six or seven months without pay -- didn't matter whether I wanted to, or not. The option was simply removed from the table.
Even today, I negotiate my medical expenses. For example, I reduced an MRI expense for one of my children by first negotiating the price before getting the service -- reduced to 25% of what they originally expected to get. A habit learned early and still ingrained. Sadly, negotiating your part of the fees beforehand is actually __illegal__ and you can get into serious trouble for it, when insurance is involved. I can ask my dentist to "forgive" my part of the debt after the service takes place. But if I dare to ask the dentist _beforehand_ if this is okay, then it is illegal. Can you believe it?
And by the way, mathematical familiarity is one aspect I count as important -- in my area, anyway. Removes a lot of barriers. I routinely use higher math in my work.

Nice you were able to survive it.
In times when I've been unable to fill my time with contracting work, I've wasted little time filling it with "honest" work -- I call up Kelly Girl (Kelly Services, now) and tell them I'm available. My typing rate, corrected, is 86 words a minute and I'm fluent with most word processing. I'll string phone cable in the ceilings, count plumbing inventory, and do just about any work I'm asked to do and at rates which are 10X less than what I get contracting. My time is worth _exactly_ what people are willing to pay for it, at the time I'm willing to offer it.
Those early days are still with me and I don't waste any thought about holding out for "what I'm worth," I guess. I stay busy.

I'd start with something else, then. Anything. Doesn't matter. No way would I not have been doing work for ten years.
Just as a note you might not realize, offhand. As just one example of those Kelly Girl jobs I took? It was a simple inventory job, expected to take two days. Kelly sent me and two others to the job site. At the end of the day, the president came over (small company) and said he was pleased. He didn't rehire the other two for the next day, kept me instead doing various tasks about the business for that week, and I learned a lot about running a small business. The last day he said, "If you __ever__ need a recommendation for a job, Jon, just point them to me."
That's what I'm talking about.

Try Oregon and Washington. I think we might give the Bay Area more than just a run for its money. I think we have you beat.

I'm not saying I know anything, here. Just what I consider to be a rational consideration for you. You can close that door if you like -- you know, better than I do.

It's not an assumption, it was simply a point about how little I really know about your circumstances. That's all. That you'd imagine it was more than that, is odd.

You'll get $10/hr at Kelly, I'd imagine. Maybe more. You can probably get $15/hr for disabled support services from the state, I'd guess. And all they probably care about is that you are breathing and don't have a felony on your record.
But I don't know what will work for you. I'm just this guy in Oregon, for gosh sake. But even without providing a hiring history I can get a job around here just doing typing for $10/hr. In a day's notice, I think.

Not at all. I hope you didn't imagine I would.

Have you told them what you'd be willing to consider? I suppose you must have.
Look, I can't tell you what it's like down there. I do fly there fairly frequently, so I'm somewhat aware of the local issues. (I couldn't afford to live in the kind of home I'd like and do have, there. But a lot of people in that area, who actually own part of their home, can sell it and buy something up here outright for less than their equity of just a few years time.) I've also been in some pretty tough situations in my life and I've never been able to say I couldn't get work when I really looked. Maybe I'll regret my comment and be taught my lesson soon enough.
But I'm only telling you about what my own experiences have been. This cannot possibly tell you what they *might* have been, were I in different shoes. It could have been very much otherwise, perhaps. There is an important element of luck in everyone's life, especially for those not born into comfort, wealth and power. And being skilled or smart only means you might be in a somewhat better position to recognize it and take advantage of it when it happens. Not that you are assured that it _will_ happen. (Kind of like evolution, I suppose. Nature doesn't design mutations, but when they happen nature gets its chance to operate on them.)
Jon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.