Go Down

Topic: A home for neophytes (Read 3231 times) previous topic - next topic

jscott

Though I have a solid background in electronics I have had no programming experience. It has been great fun learning via the Arduino and it's IDE.

Most often my questions (to the forum) are answered carefully and politely. However, there are times my simplistic inquiries irritate or amuse. I fully understand how frustrating a newbie can be. However, unlike main stream languages that offer hundreds of text books for you to learn from there is almost no documentation (relatively) for the Arduino environment and language.

What I suggest is a new comers corner. This would be a place to hide the irritating questions that more advanced members find so offensive of comical. Those visiting that area would either be newcomers or those patient enough to help without discouraging.

Please understand, most of my experiences here have been very positive. However, I feel that many new hobbyist with a thinner skin than mine might be scared off.

AWOL

Quote
there is almost no documentation (relatively) for the Arduino environment and language.


Whilst the former is, I agree, niche, the latter is mainstream and well-covered.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

jscott

I stand corrected then. And my apologies to anyone I've inadvertently offended. Perhaps a small list of applicable study material would be helpful.

AWOL

Quote
Perhaps a small list of applicable study material would be helpful.

Kelley and Pohl's "A Book on C".
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Coding Badly

Quote
It has been great fun learning via the Arduino and it's IDE.

I feel the same way!  I just got a delivery of ten ATtiny45s.  All day I've been fighting the urge to slap one on a breadboard!

Quote
However, there are times my simplistic inquiries irritate or amuse.

Really?  Seems kind of the opposite to me.  I've seen REALLY poorly written questions get attention.  I've seen people being a nuisance get help.  I've seen ... well, you get the idea.

Quote
I fully understand how frustrating a newbie can be.

I don't think newbies are what frustrates most responders.  I think it's obvious laziness that puts off most folks.

Questions that can be answered by the first result from a simple Google search come to mind.  I mean, come on!  Is it REALLY that difficult to type two words into Google, click search, then click the first link!  ::) (Sorry.  Got a bit sidetracked. ;D)

Quote
However, unlike main stream languages that offer hundreds of text books for you to learn from there is almost no documentation (relatively) for the Arduino environment

I agree.

Quote
and language.

I disagree.  C(++) is well documented.  There is a plethora of books available.  There is well written material available on the Internet.  It wouldn't be a good use of anyone's time to regurgitate C syntax.

Quote
What I suggest is a new comers corner.

I don't think a separate forum area will help.

Quote
This would be a place to hide the irritating questions that more advanced members find so offensive of comical.

You've found replies to be offensive?  An advanced member ridiculed someone?

Quote
However, I feel that many new hobbyist with a thinner skin than mine might be scared off.

I suspect you're correct.

Other than a separate forum section, is there anything else that you think would help someone new to Arduino?  Something that would keep thinner-skinned newbies from being scared off?

jscott

I feel as though I have looked a "gift horse in the mouth"; my appologies.

I can only speak for myself regarding the fantastic Google search engine. Days of searching normally turns up two or three relevant  links. In most cases these links lead to three or four websites with the very same examples seen on the others (copied and pasted). The vast majority of the remaining links are people showing off their led waste basket or yet another iteration of the LED coffee table.

My problem is specifically the "delay" command. So easy to use, and yet nearly useless. The alternative is poorly documented (millis timing). This is, no doubt, due to the fact that it is very easily understood by those with backgrounds in programming. Two or three pages of various examples would seem silly to someone who already knows "how to tie their shoes". Those of us who have just seen their first pair feel a little differently.

I have read and followed the examples in one C text and I am now studying C++. As stated at other places in the forum I will not find one bit of help with millis timing in any of these text books in that it is an Arduino specific command. So rather than thousands of titles I have two or three pages to rely on.

After three months of searching for better examples. After posting to the forum a half dozen times I have just now begun to understand. Worry not, my problem is now solved. But I find it hard to believe I am alone. Most times I get good help trying to understand these problems. But many times I get 'this is so easy I don't understand why you can't get it'. Or better, I'll get less than one line, a link to the example that hasn't helped.

In that I am the only one with these problems it would be inappropriate to do anything. And you are probably correct, an area in the forum wouldn't make much of a difference. Frustrated, I tossed out my first idea without considering whether it was helpful or not. Here again, my apologies.





PaulS

Quote
The alternative is poorly documented (millis timing). This is, no doubt, due to the fact that it is very easily understood by those with backgrounds in programming.


I agree that the documentation for the millis function could use some improvement. Specifically, some examples that illustrate more than just blinking an LED, and some analogy to how people perform the same function.

Quote
I can only speak for myself regarding the fantastic Google search engine. Days of searching normally turns up two or three relevant  links.


I've had the same frustration with Google.

Quote
But many times I get 'this is so easy I don't understand why you can't get it'. Or better, I'll get less than one line, a link to the example that hasn't helped.


Better?

I try not to fall into the 'this is so easy I don't understand why you can't get it' category. At least, not too often. I do, however, point people to the example. Depending on the level of complexity of what you are doing, the example may, or may not, be appropriate and sufficient. If you're one of the people that intuitively grasps the difference between millis() timing and delay() thumb twiddling, that's sufficient. If not, well, I'm sorry to have wasted your time.

If you've seen the example already, say so, and we won't point it out again. I'm not picking on any particular "you" here. In general, posters could save themselves a lot of aggravation if they fully explained what they have tried to do or to understand.

Quote
In that I am the only one with these problems it would be inappropriate to do anything.


I don't believe that, and I doubt that you do, either.

Quote
Frustrated, I tossed out my first idea without considering whether it was helpful or not.


Discussion is good. If nothing else, it serves as a reminder to those of us on the other end of the spectrum that it was not easy getting there.

Quote
Here again, my apologies.


Not necessary. You are as entitled to your opinions as any one else is to theirs.

Groove

Quote
As stated at other places in the forum I will not find one bit of help with millis timing in any of these text books
That's because the textbooks are teaching C or C++, where the vast majority of applications of the languages are in, well, applications and not in embedded or systems programming where the use of timing is much more common.
A better source of information on timing would be in textbooks on real-time or embedded systems, but these are usually a little too specific about a particular RTOS or too academic.

Sometimes answering noob questions is a fine art and a balancing act - the "posts counter" might be low, but the person may display a reasonable amount of prior knowledge.
Writing the code for them could be insulting, so I try to point them in the right direction, then answer questions when they've done a little more research.
I'm happy to take as long as it needs to guide people who are willing to learn and even take a few stumbles, but detest those who just demand specific answers to their questions and can't be bothered to pick up even the most basic fundamentals and so keep asking the same questions and making the same mistakes, or want code writing for them.
Per Arduino ad Astra

jscott

Groove,

First, let me state outright you and others on this forum have been very helpful. In fact whenever I write about my projects I emphasize that the hard work is often already done for me. There are a number of times in my writing that I describe my good fortune as "standing on the shoulders of giants". I am not looking for handouts nor am I taking credit for things I barely understand.

Second,  for the record: I am neither lazy nor have I asked for someone to do the work for me. I am studying. I'm just not learning. I have no formal education. I am entirely self taught. Perhaps there will be limits to my capabilities due this consideration.

Third, my frustrations are my own problems and I am sorry for having offended anyone. Like I mentioned earlier, if I am the only one with these issues than there isn't any reason for us to continue beating a dead horse.  

Thank you and once again, my apologies.

Imahilus

#9
Apr 22, 2010, 04:20 pm Last Edit: Apr 22, 2010, 04:21 pm by Imahilus Reason: 1
I try to help where I can, though I'm also new to the arduino platform.
However, I prefer to think I have a better starting position due to a coding background.

The issue with millis for instance, the "It is so simple, how the #### is it you don't get it??" thing works both ways. For the beginner it might be near impossible to understand.. but for the experienced people, it might be so simple.. it is hard to explain. For instance, try explaining what a word is..
I suppose this isn't really the case with millis, but the idea still stands I reckon.

PS: you can stop with the apologies allready, it looks like nobody wants any =P

jscott

Am I missing something? I seem to have lost track of the conversation.


TBAr

#11
Apr 22, 2010, 10:21 pm Last Edit: Apr 22, 2010, 11:18 pm by TBAr Reason: 1
Having returned from Abby's commercial break (spam reported for those who are not familiar with the board's reporting system)  ... back to our regular programming ...

Quote
jscott
YaBB Newbies
*
Offline

Things fall apart,
it's scientific

Posts: 48
[glow]Massachusetts, USA[/glow]

You may well find individual in-person help at the Boston Arduino Users Group Meeting, co-incidentally happening this evening. You will certainly find a friendly group of people who are enthusiastic about sharing their love of the platform with others.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1270301457, note the room change in reply #4.

It's a monthly get-together, so if this is too short of a notice, put it on your calendar for May.

http://www.meetup.com/The-Boston-Arduino-Users-Group/

jscott

Thank you for the invite! I will put this meeting on the calendar for next month.

Go Up