Dr. Jim said...
This means that all Propeller boards will have access to the expansion memory bus and load 256 byte blocks to execute in a specific COG. We can therefore bring all but one COG in the complete group of Propeller chips to bear on the massively parallel independent processing streams.
This looks to be the key point - Using the local cog memory combined with physical I/O pins to achieve parallel sensory/actuator function with almost nill central access needed. Custom controllers so to speak. Just what the Prop is good at. [noparse]:)[/noparse]
Obviously still needs to make some high level decisions at some point though.
There are several debuggers out there. Andy Lindsay posted the most recent one a couple days ago that uses the terminal to debug spin code. It's free and seems to provide similar functionality to the kiss debugger. It's available on the forums- I tried it and it works. There's also the POD debugger by Kaio- great job. There's also other debuggers like the PASD debugger for assembly. I apologize for others I've misssed. I put the ViewPort debugger together with lots of help from people here on the forums- long thread is here: http://forums.parallax.com/showthread.php?p=760083 Unlike the terminal based debuggers, mine gives you a Visual Studio experience- you see the source code, can pause the code as it's running, step over lines of code, set and move a breakpoint, view all 32k of memory, view 32 io pins, view call profiler statistics, and see a call stack. You can also hover over global variables in your source code to inspect their value and even change it.
Hanno
We have people of all ages and backgrounds contributing to the forum. They are an incredibly nice group of people. Flaming is not permitted. So, if you have felt offended by anything written here, please accept my apologies for the entire group. On the other hand... we generally post stuff that we want criticized. The best critic we ever had... gave up, because people thought he was mean spirited and could dish it out but he couldn't take it. In this case you didn't voluntarily post anything about your stuff until after it was posted for you. So, this is a little of an odd ball situation.
On the other hand, you appear more than capable of answering back. Just be gentle and for God's sake, don't go away. There are lots of serious people here... many of them just watch. But it is a good place to be for serious minded individuals.
Unfortunately, the Image article ends before the good stuff begins. I am wondering whether or not I might have some prior art. I don't patent anything... I just give it straight to the government and if it is important then I keep my mouth shut.
et al
The Propeller... while built as an advanced controller... is also ideally suited for image analysis...That is, if you do your image analysis right. Dr. Jim isn't using floating point numbers... so he is doing something right!!! Neural nets are a great way to parameterize an argument and an even better way to hide a core algorithm[noparse]:)[/noparse]
Dr. Jim
How do you handle edges? My guess is that you ignore them(because that's the right way to do it in 3D)... or possibly you have your neural net to ignore edges in 3D[noparse]:)[/noparse] For the non-experts out there... the stupidest way to find a 3D object is to look for its edges. The second stupidest thing to do is to use area statistics... regardless of how you cleverly you define your area. And up until I talked to the imaging for DARPA... that's exactly what everyone was doing.
By the way... since we share a common interest in Einstein and mathematics...
Einstein
Einstein chose to conserve the wrong term.
Math
I don't know if it work or not... but if we were to restrict the nature of exponential expressions and limit discrete mathematics to solvable equations... math would work a lot better. Nobody has tried it... and the money, which was supposed to go into the program appears to have disappeared[noparse]:)[/noparse]... somewhere else.
I chose to delete my posting about the ViewPort Debugger. You had no business posting it back.
However, my point is, when doing real-time debugging, no PC software will compare to a program running on the target platform. It is not the same thing at all.
It is not pretty because there is no memory to work with on the Propeller. It is meant to be a down-and-dirty real-time debugger. It's design is deliberate and tight with a minimum of memory requirements to allow you to reserve memory for a running program. The debugger can then chase problems on the target platform and catch real-time problems (timing errors) that would not be caught otherwise.
Dr. Jim and mallred,
From a forum rules standpoint, the Sandbox forum would be an appropriate forum for discussions of advanced image processing in the future. This particular (Propeller) forum is specifically for discussions of the Propeller itself, Propeller peripherals, programming, etc. Keep in mind that the participants in all of these forums come from a wide range of backgrounds and interests from elementary school to academic doctorates and from newcomers in computing to people with many years of experience. What may be a toy for you may not at all be a toy for them and you will find people with expertise, experience, and credentials as extensive as yours may be, but possibly in completely unrelated areas not at all of interest to you. On the other hand, you've clearly found a few people already who are very interested in what you are doing and have done. Be polite, be considerate, be appreciative, be patient. You will find criticism, appreciation, suggestions. You'll also find misunderstandings, but people usually mean well.
The Viewport debugger DOES run on the target platform, it uses the PC as a conduit to display information and gather input. Before you discredit someone elses work, please provide 1 example where the KISS debugger would work that the Viewport debugger would not. I think that is a fair and simple request.
It is not pretty because there is no memory to work with on the Propeller. It is meant to be a down-and-dirty real-time debugger. It's design is deliberate and tight with a minimum of memory requirements to allow you to reserve memory for a running program. The debugger can then chase problems on the target platform and catch real-time problems (timing errors) that would not be caught otherwise.
There are other on-board debuggers and have been for quite some time now.. In addition, not to specifically defend Viewport, but it *is* an on-board debugger, it just has a pretty PC front end to make it all "pointy, clicky warm and fuzzy" [noparse];)[/noparse]
Please, pretty please with sugar on top, realise that while you may have a lovely viable product, you have given precisely *zero* technical details about how it does what it does. I understand that you want to monetise your intellectual property, however you must also realise that there are "products" available on the forums here that do precisely the same things your web page says yours does, with community support and at no up-front cost.
If you want to be taken seriously, tell us *why* KISS is better than any of the other debuggers. What can it do for me that the other debuggers can't ?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
I meant no disrespect to the memory of Doctor David Marr. He was a scientist of the first rank... may he rest in peace. On the day that I went to see him he was elsewhere, dying of leukemia.
Ok, time for all to take a deep breath and let things settle. As has been said by many people, this is a wonderful forum of smart people who enjoy working with the Propeller. Everyone has something to contribute and we all have things we can learn. Very few products are perfect and having a place like this to get feedback on one's ideas is invaluable.
Dr. Jim- please stay and continue telling us about your project. We're all eager for more information.
Mallred- I'll edit my post to remove your quote, I only meant to make the thread less confusing. I appreciate your passion for the work your doing.
Hanno
I never claimed to be the technical expert. However, I am not unable to learn rapidly. Here is an excerpt from an article that Dr. Jim wrote that explains how the KISS Debugger can catch subtle timing errors.
"In the following example of self modifying code, the WRLONG instruction would not execute properly on the Propeller without inserting a NOP instruction between the MOVD instruction and the WRLONG instruction that it modifies. This NOP could be removed when the code is run on a simulator and the routine would still execute properly. A simulator would not reveal this or other subtle timing issues which are the most difficult to troubleshoot. Using a simulator in a case such as this would serve to confuse the developer (that would be you) because the code would execute just fine without the NOP instruction on the simulator but would not execute properly on the Propeller. If this code, without the NOP instruction, were tested as a routine using the KISS Debugger, this timing problem would be readily apparent. In fact, this code snippet from the KISS Debugger executed as if the MOVD didn’t exist until the NOP instruction was added, which does nothing but allow 50ns of time, 4 clock cycles, to pass to resolve the timing issue. In this case we used the debugger to debug itself.
************** Example Cog ASM Code Snippet ******************
movd :ModifyWr, CogAddrC
nop 'this NOP resolves the instruction
'pre-fetch “Read before Modify” Cog timing issue
:ModifyWr wrlong CogAddrV, Cog_Main_Mem_Scr_Adr 'Put Cog data from
'Cog_Addr into Cog_Scr
*************************************************************
"
I hope this sheds some light on what I was trying to say.
In the future, I guess I better let the good Dr. speak for himself, as I do not have the prowess to answer your pointed questions.
Thanks for posting the article excerpt. I still fail to see how the Kiss Debugger is different from the other debuggers listed above. The article points out that running code on the Propeller may have a different outcome than code running inside a simulator. In my book, this means the simulator has a bug. Could someone test this specific code on the Propeller simulator and see if it indeed does have this bug? If yes, then it should be fixed.
All debuggers mentioned above in this thread do run their code on the Propeller- none are simulators, so this "feature" does not differentiate the kiss debugger.
To me, a debugger let's you do these types of operations:
- pause execution at any time
- restart execution at any time
- step over a line of code, step out of a function, step over a function
- set a breakpoint arbitrarily, once encountered, it can be moved somewhere else
- variables can be watched and changed
- the call stack can be inspected, ie- the list of functions that have been executed until the current execution
- a profiler shows you how much time is spent in different functions
- a memory map shows you the contents of global memory
The ViewPort debugger implements ALL of the above.
We had a long thread were people gave feedback and I built what they wanted. If something is missing please let me know and it'll be fixed.
Hanno
mallred said...
I never claimed to be the technical expert. However, I am not unable to learn rapidly. Here is an excerpt from an article that Dr. Jim wrote that explains how the KISS Debugger can catch subtle timing errors. ...
I'm probably being thick today but how exactly does the debugger catch that (catch what)? It might be done like that on purpose (i.e. first run uses the initial source register, subsequent runs use the modified value). There is nothing inherently wrong about that.
Very well. Perhaps I was mistaken. As I mentioned earlier in this thread, Dr. Gouge requested a debugger from Parallax when he started this project. He was told there was no debugger. Therefore he wrote his own. It is a good debugger that functions well. We have had a number of sales of this product from our website. I'm not sure how long these other products have been on the market. All I know is that there was none offered to Dr. Gouge at the time. He built his own. This should tell you something of his abilities.
I will no longer answer any questions about Dr. Gouge's credentials or his prior acheivements. If you want to know, google him. There are many thousands of pages you can sift through to find information about him.
Perhaps it is the hour, but I am disheartened and disappointed about the time I spent on this forum today. It was largely unproductive. You have a thread that was started about my company, pointing to Dr. Gouge's technologies on our website. I thought I might be welcomed here. Unfortunately, many of you greeted me with skepticism and disdain. A very few were cordial.
I thought I was bringing to the table interesting discussion and possibilities for the Parallax Propeller, which I thought this forum was all about. I may not have been able to answer your technical questions, but I have direct access to Dr. Gouge who can answer all these questions and more. He can instruct you both theoretically and technically on machine intelligence and how to achieve it.
When all is said and done, we have and are creating something that will turn the robotics world on it's ear. You can choose to be a part of it, or you can continue twiddling bits on your interesting but unintelligent devices.
We are bringing intelligence to the table. Ask yourselves, what is that worth? And not just in terms of money, but in terms of possibilities. You are already plugged into the robotics market if you are following this forum. How could this technology improve your designs? How could it enrich your products? What would you be doing differently if your designs could be imbued with intelligence? You can choose to believe it or not. I don't care either way. We are building it. Come along with us, or be left behind. It's your choice.
I'll take a few days leave from these forums. When I come back with Dr. Gouge, be prepared to ask serious questions. We will not waste your precious time with some of the topics we entertained today. The time for that has passed. It's time to get down to work.
- step until a given line is passed to get past repeat loop ends, etc...
- set next instruction to a different line with restrictions
- being able to configure dynamic output on a device like TV or VGA
- break on variable change (well, it was a nice feature in VB6)
I haven't tried your product (nor do I feel the need to), but I certainly would if I was a newbie.
Added:
Mark,
I'm sorry your experience here has been less than plesant. It is always a good idea to lurk around in a forum and get to know the character of posters before making a first post especially if you intend to make customers of the participants. Perhaps you will apply this lesson to the next group you encounter.
As far as your band-wagon goes, I suppose you could have a game changing technology, but early adopters are a hard sell unless it clearly makes sense to get involved. I've seen way too many hot air ideas to be less skeptical than I am. When I first heard someone say "http//" in 1990, just sounded fruity to me, but I could see and appreciate the demo and realized that networking would be very important ... it was a "killer app." If you want an army of developers following your lead, demo.
Condescendingly yours (if that's the way you have to take it) .... Good luck on your journey.
Hi Steve,
Thanks for the feedback!
- You can set a breakpoint to get past a loop...
- Sorry, changing the program flow entirely is not feasible- as far as I know
- I forgot to mention the "interpreter", this allows you to "run while x<100". So, it does support conditional execution.
- ViewPort gives you lots of dynamic output- that's how it started! You can view a variable's output on a simulated oscilloscope- even with triggers, cursors, and auto-measurements. Or, you can view a variable's bits in a logic analyzer- again, with lots of trigger options. You can also get fancy and view a variable's frequency vs time in the spectrum analyzer. Or, compare one variable to another using the xy mode. If you want to do video INPUT with the propeller, you can use ViewPort's frame grabber (described in last month's Circuit Cellar article). And, if you want "intelligence" in your robot, try out the fuzzy logic engine. Of course, "intelligence" is relative.
Here's a challenge to everyone: If your Propeller based device can pass the official Turing test I'll eat a ProtoBoard!
Hanno
Mark,
These forums are not about imparting knowledge or instructing others about some esoterica, they're about sharing information, experiences, and knowledge. The people who regularly participate here have formed a community in many of the senses that most associate with that term. There's a huge difference in intent involved. Good luck with your efforts. I plan to be left behind.
I consider all the main forums (Propeller, BS2, Sandbox, ...) to be areas where people post in order to receive criticism. If you want a "Job Well Done", post it in the Completed Projects forum. Otherwise, expect to get lots and lots of questions on every aspect of your design. In my opinion, that's the only way that most of us can progress: I present something to an audience, and they shoot it down. Sure, it's disheartening, but when you fix it and make it better, present again, and you get less criticisms then you know you're doing something right. If you don't get any criticisms, then that means people don't care. That's when you know you're screwed.
As for credentials, I think they are critical when you're trying to sell something to an audience of relative newbies (like me). I have to trust you that what you make is correct, since I can't check it myself. Therefore, if you can't provide anything then I'm wary of forking over $500 + for something that may or may not work.
I would like to add that almost anything written can be interpreted as sarcasm or disdain. I personally try to make it clear that my manifest meaning is the intended meaning. No need to look any deeper. I love humor... so I make all kinds of jokes. But my jokes are intended to be funny not malicious in any way. I sometimes wish that I could just say what I mean, without worrying about be misinterpreted. It would be a lot funnier.
When you've had a chance to recover from this marathon thread... please believe me that 99.99% of the guys here are exactly the same.
If you see something that seems too close to the vest... forget about it. Most of the time someone else will take care of it for you... and if not... how important is it any way?
About the debugger... Obviously,debuggers have been around forever. When it became clear that Parallax wasn't going to offer a debugger, lot's of guys jumped on the opening.
Writing a good debugger establishes credibility... it doesn't matter what a guy's history is or what his credentials are, the product speaks for itself.
At the same time, debuggers will share lots of common features, and on any particular platform, you can only go so far...If you are good enough, at some point you will have a fully optimized your debugger... and the core of that optimized debugger may look a lot like the core of other well optimized debuggers. Features can differ... but two well optimized cores can look almost identicle... there are only so many ways to do a thing the right way.
Code similarity means nothing except that at the core, good code is good code and the people that can write it have special characteristics and skills.
I rarely use a debugger. Anything a debugger can tell me... I should know already, and I should find out. BUT I do like the ability to step through my code and see what is happening with my variables... and that describes a debugger of sorts. So, at some point I invariably end up writing code to help me debug my functional code. That doesn't make it a debugger... it is just code to help me clarify my thinking.
You mention that you have had sales... NOW, let's talk about money. My suspicion is that you have two kinds of customers... people who are new to the Propeller and people who are interested in your debugger because they want to know what kinds of products you can produce. For this reason, I think you need two prices, a corporate rate and a hobbyist rate. Same product/different prices. Any company that tries to get through on the cheap, you don't want to talk to anyway.
If nothing else, I think that this thread establishes and advertises the depth of the talent available in Dr. Jim's team. And it straightens out the timeline... which people frequently wonder about but rarely ask.
Your role would appear to be similar to Ken's at Parallax. Dr. Jim would be Chip... different interests, different markets, different histories, but close enough to relate quite easily.
Congratulations on your work so far...
... and I still want to see the back side of your board[noparse]:)[/noparse]
Rich
By the way... having a huge number of posts in a thread is a good thing. A little drama helps keep people's interest. This thread has plenty of both... this is a classic in my book.
Hanno,
My post was not an invitation for your advertisement, but that's fine [noparse]:)[/noparse] I think you misunderstood what I meant by configuring dynamic data on the TV or VGA display. Setting a breakpoint is different from "right-click->run to here" ... guess I'm just a little lazy, but that and setting the next instructions are great features of Visual Studio.
I did google Dr. Gouge... and I didn't find thousands of articles... once I used his full name.
I found an obituary, with the same name I found links to some patents and the one article that I mentioned above and that was it. So, actually do you need to provide a short list of publications or an annotated list of links. Dr. Jim used his name here... and you said that there are thousands of listings.
The web is wild with fraud. No living being can possibly know that this is actually Doctor Gouge or if Doctor Gouge is still living. I found no academic listing... I tried MD... PhD.
I wouldn't ask anyone to post his name and address on the web. And I don't care if Doctor Gouge is a doctor or not... But I do think that you should provide a little more info on his publications, and I think it would be very appropriate if Dr. Jim would fully identify himself to Parallax... full boat: name, curriculum vitae, and social security number. The Gracey family is particularly fond of the military. So if Dr. Jim has ever served in the military, give those specs too... it will serve your interests to do so.
There is also the possibility... in this world that we live in... that your website has almost nothing to do with selling anything.
We live in a highly litigious society. A guy doesn't have to be very smart to write a patent or to get one through the first pass at the patent office... and then proceed to go around and harass people until they pay him to go away. In the past, guys have found out that they didn't really need a good patent... any old patent would sometimes do. And lots of people just paid them to go away. That won't happen here... but that doesn't mean that someone won't try.
I believe you mentioned Dr. Jim's patents to establish his credibility and to limit the sniping ... which is fair. Unfortunately... when you mention patent here...and then claim that you have never read the forum... people start getting "2+2" type thinking in their heads. And you really can't blame them or feel horribly offended. That is just kind of the way people ar. But it isn't always right to think like that... and no one here wants to make a mistake... particularly with an original thinker and a fellow Prop-head.
It is possible that you guys have never looked at the forum before, but it does sound far fetched... it isn't impossible... clean room design ethics and all that. But everyone would feel more beneficent toward both you and Doctor Jim... if you could detail how many law suits you have filed in the past?
If any of this actually is what Dr. Jim is about... then I would change my assessment and predict that you guys are not going to get along with Ken and Chip or with any of my friends[noparse]:)[/noparse] BUT
EVERYONE....
If you live long enough you will see stuff that looks really bad and the whole thing is harmless and misconstrued... and it seemed impossible that anything so harmless could be that badly misconstrued and yet that is the case. I have seen it happen to other people. It has happened to me on more than one occasion. It leaves a rotten taste in your mouth, and I wouldn't want it to happen to another person.
Dr. Jim if you are an original thinker with meticulous clean room habits... hang in there. That will become clear.
Either way, the truth is what it is and it will come out eventually.
mallred said...
How could this technology improve your designs? How could it enrich your products?
That is the $64,000 question.
When the 'Snake Oil Salesman' turns up at the door there are three options ...
* Buy it.
* Walk away.
* Question what it is they are selling and make a decision based on the responses.
In my experience most forum members fall into the third category. Unfortunately nearly all the information provided so far has been largely hyperbole and hype with little indication of what the product will do or how it could be used. I also get an uneasy feeling ( and I'm sure others do ) that not all the cards are being laid on the table which increases scepticism all round.
Maybe this is the best add-on that has ever been made for the Propeller, but you need to convince your audience that it is, or that you have something they should be interested in. What exactly does one get for $1700, how is that justified, how will it be used, how does it deliver these benefits, how does it compare with alternatives ?
mallred said...
Perhaps it is the hour, but I am disheartened and disappointed about the time I spent on this forum today. It was largely unproductive.
I feel that is because you have been unable to provide the information which the audience wants to hear.
mallred said...
You can choose to be a part of it, or you can continue twiddling bits on your interesting but unintelligent devices.
That's the sort of thing which rubs people up the wrong way. If you want to create "buy in" from a technical audience you need to do more than be disparaging about those who do not see the vision as you do. The best way to achieve that is to show how it will be useful to them, simply saying it will be does not cut the mustard.
mallred: Take the time to provide us with some links from those thousands of web pages. Cherry pick you preferred ones. It will save us all a lot of typing and time, particularly yours.
mallred said...
... taking the neurobiological model of the brain, and transcribing that into code that approximates the brain's ability to learn new information and attach to old information such that real learning occurs.
That is a very bold claim. The sort of claim that needs proof. Without the proof it's just more snake-oil sales talk. For suckers.
The easiest proof on short notice is obviously the source code itself. But a whitepaper on the function would be easier for most to absorb.
Again, a link to this information is the normal way to present yourself online.
A new day! Let's give our new friends some time to compose a well-thought out reply. I've been surprised and wrong before- who knows, maybe we'll have real intelligence on our Protoboards next week. I'm highly skeptical- but let's give it time. This thread is a great tool to learn how to get along with others on the forums- I know I learned a lot!
I started a new thread to discuss what this thread was originally about- adding fast storage to the Propeller. Here it is: http://forums.parallax.com/showthread.php?p=805698
Hanno
(I'm learning to share- no more ads [noparse]:)[/noparse] )
Hanno... if you want people to know that your products exist... you have to use every chance to mention them. Some people are going to come... look around and if they don't see what the are looking for immediately... they are going to leave.
About the snake oil comment... I don't care if it is snake oil, if it brings people to the Prop. If Dr. Jim has been selling products... great. If he can develop a market segment, with a site that he hasn't really touted here, it means that he has a following that may be different than everyone else's.
He may have friends in high places, who on seeing what he is doing will wonder why and come around to take a look.
Commercialism is usually overstated and hyped. Saying that you have the greatest thing since sliced bread is a tradition. It is ok if it sells a product and it isn't a complete lie. For instance... it does have to be at least as good as sliced bread.
The buyer should beware, and if the buyer isn't doing his diligence, he will eventually show up here looking to figure out exactly how wisely he has spent his money. People who buy one product... often find a reason to buy a better product.
To Dr. Gouge, mallred, or whomever it might concern:
the ID's posted on your website appear to contain information of a sort that might make it easier for somebody to make you the next victim of identity theft. It's not the kind of information you should provide so handily to the world. Posting research papers, etc. is a great way to convince people of your credentials. Posting various IDs only opens the door to getting your bank account cleaned out.
@Hanno
Ads are ok in moderation .... You do less response product hawking than others I've seen here.
Put a link in your signature line. I'm very happy to see the number of downloads of Propalyzer produced by my sig.
As the person that started this thread, how about we all take a break and pursue Hanno's suggestion of another thread that will take us into more productive territory.
I have only a few minutes, but Mark has asked me to respond.
Dear Rich,
I see that you have done your homework on some of my previous articles and military work. We share the same views on object recognition in images and I believe that the Propeller will make an excellent platform for object recognition.
I am in the process of designing a binocular vision interface and will keep the forum posted on my progress.
I am also porting across some of my previous voice recognition software. That will be ready soon.
If there is anything that I can do to assist this forum and the serious hobbyists/researchers, I will be more than happy to do so.
My cup is rather full at the moment, so please bear with me if I don't respond right away.
Thank you so much for your interest in our ongoing work.
I will try to check in once or twice a week.
Your in research
Dr. Jim
P.S. Please email to support@machineinteltech.com or post to our blog page for further correspondence. It is a pleasure to be working with you all.
Comments
Obviously still needs to make some high level decisions at some point though.
Hanno
Post Edited (Hanno) : 5/6/2009 4:30:04 AM GMT
Everybody needs to look here: http://www.machineinteltech.com/AdvancedImaging.pdf
http://www.governmentcontractswon.com/department/defense/biocomputer_research_inc_809364771.asp?yr=00
And then make nice, nice.
Dr. Jim...
I like you already.
We have people of all ages and backgrounds contributing to the forum. They are an incredibly nice group of people. Flaming is not permitted. So, if you have felt offended by anything written here, please accept my apologies for the entire group. On the other hand... we generally post stuff that we want criticized. The best critic we ever had... gave up, because people thought he was mean spirited and could dish it out but he couldn't take it. In this case you didn't voluntarily post anything about your stuff until after it was posted for you. So, this is a little of an odd ball situation.
On the other hand, you appear more than capable of answering back. Just be gentle and for God's sake, don't go away. There are lots of serious people here... many of them just watch. But it is a good place to be for serious minded individuals.
Unfortunately, the Image article ends before the good stuff begins. I am wondering whether or not I might have some prior art. I don't patent anything... I just give it straight to the government and if it is important then I keep my mouth shut.
et al
The Propeller... while built as an advanced controller... is also ideally suited for image analysis...That is, if you do your image analysis right. Dr. Jim isn't using floating point numbers... so he is doing something right!!! Neural nets are a great way to parameterize an argument and an even better way to hide a core algorithm[noparse]:)[/noparse]
Dr. Jim
How do you handle edges? My guess is that you ignore them(because that's the right way to do it in 3D)... or possibly you have your neural net to ignore edges in 3D[noparse]:)[/noparse] For the non-experts out there... the stupidest way to find a 3D object is to look for its edges. The second stupidest thing to do is to use area statistics... regardless of how you cleverly you define your area. And up until I talked to the imaging for DARPA... that's exactly what everyone was doing.
Rich
"Doctor O"
Post Edited (rjo_) : 5/6/2009 8:19:43 AM GMT
By the way... since we share a common interest in Einstein and mathematics...
Einstein
Einstein chose to conserve the wrong term.
Math
I don't know if it work or not... but if we were to restrict the nature of exponential expressions and limit discrete mathematics to solvable equations... math would work a lot better. Nobody has tried it... and the money, which was supposed to go into the program appears to have disappeared[noparse]:)[/noparse]... somewhere else.
Rich
I chose to delete my posting about the ViewPort Debugger. You had no business posting it back.
However, my point is, when doing real-time debugging, no PC software will compare to a program running on the target platform. It is not the same thing at all.
It is not pretty because there is no memory to work with on the Propeller. It is meant to be a down-and-dirty real-time debugger. It's design is deliberate and tight with a minimum of memory requirements to allow you to reserve memory for a running program. The debugger can then chase problems on the target platform and catch real-time problems (timing errors) that would not be caught otherwise.
From a forum rules standpoint, the Sandbox forum would be an appropriate forum for discussions of advanced image processing in the future. This particular (Propeller) forum is specifically for discussions of the Propeller itself, Propeller peripherals, programming, etc. Keep in mind that the participants in all of these forums come from a wide range of backgrounds and interests from elementary school to academic doctorates and from newcomers in computing to people with many years of experience. What may be a toy for you may not at all be a toy for them and you will find people with expertise, experience, and credentials as extensive as yours may be, but possibly in completely unrelated areas not at all of interest to you. On the other hand, you've clearly found a few people already who are very interested in what you are doing and have done. Be polite, be considerate, be appreciative, be patient. You will find criticism, appreciation, suggestions. You'll also find misunderstandings, but people usually mean well.
The Viewport debugger DOES run on the target platform, it uses the PC as a conduit to display information and gather input. Before you discredit someone elses work, please provide 1 example where the KISS debugger would work that the Viewport debugger would not. I think that is a fair and simple request.
Rick
There are other on-board debuggers and have been for quite some time now.. In addition, not to specifically defend Viewport, but it *is* an on-board debugger, it just has a pretty PC front end to make it all "pointy, clicky warm and fuzzy" [noparse];)[/noparse]
Please, pretty please with sugar on top, realise that while you may have a lovely viable product, you have given precisely *zero* technical details about how it does what it does. I understand that you want to monetise your intellectual property, however you must also realise that there are "products" available on the forums here that do precisely the same things your web page says yours does, with community support and at no up-front cost.
If you want to be taken seriously, tell us *why* KISS is better than any of the other debuggers. What can it do for me that the other debuggers can't ?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
But he was also wrong.
Dr. Jim- please stay and continue telling us about your project. We're all eager for more information.
Mallred- I'll edit my post to remove your quote, I only meant to make the thread less confusing. I appreciate your passion for the work your doing.
Hanno
"In the following example of self modifying code, the WRLONG instruction would not execute properly on the Propeller without inserting a NOP instruction between the MOVD instruction and the WRLONG instruction that it modifies. This NOP could be removed when the code is run on a simulator and the routine would still execute properly. A simulator would not reveal this or other subtle timing issues which are the most difficult to troubleshoot. Using a simulator in a case such as this would serve to confuse the developer (that would be you) because the code would execute just fine without the NOP instruction on the simulator but would not execute properly on the Propeller. If this code, without the NOP instruction, were tested as a routine using the KISS Debugger, this timing problem would be readily apparent. In fact, this code snippet from the KISS Debugger executed as if the MOVD didn’t exist until the NOP instruction was added, which does nothing but allow 50ns of time, 4 clock cycles, to pass to resolve the timing issue. In this case we used the debugger to debug itself.
************** Example Cog ASM Code Snippet ******************
movd :ModifyWr, CogAddrC
nop 'this NOP resolves the instruction
'pre-fetch “Read before Modify” Cog timing issue
:ModifyWr wrlong CogAddrV, Cog_Main_Mem_Scr_Adr 'Put Cog data from
'Cog_Addr into Cog_Scr
*************************************************************
"
I hope this sheds some light on what I was trying to say.
In the future, I guess I better let the good Dr. speak for himself, as I do not have the prowess to answer your pointed questions.
All debuggers mentioned above in this thread do run their code on the Propeller- none are simulators, so this "feature" does not differentiate the kiss debugger.
To me, a debugger let's you do these types of operations:
- pause execution at any time
- restart execution at any time
- step over a line of code, step out of a function, step over a function
- set a breakpoint arbitrarily, once encountered, it can be moved somewhere else
- variables can be watched and changed
- the call stack can be inspected, ie- the list of functions that have been executed until the current execution
- a profiler shows you how much time is spent in different functions
- a memory map shows you the contents of global memory
The ViewPort debugger implements ALL of the above.
We had a long thread were people gave feedback and I built what they wanted. If something is missing please let me know and it'll be fixed.
Hanno
Post Edited (kuroneko) : 5/6/2009 5:43:31 AM GMT
I will no longer answer any questions about Dr. Gouge's credentials or his prior acheivements. If you want to know, google him. There are many thousands of pages you can sift through to find information about him.
Perhaps it is the hour, but I am disheartened and disappointed about the time I spent on this forum today. It was largely unproductive. You have a thread that was started about my company, pointing to Dr. Gouge's technologies on our website. I thought I might be welcomed here. Unfortunately, many of you greeted me with skepticism and disdain. A very few were cordial.
I thought I was bringing to the table interesting discussion and possibilities for the Parallax Propeller, which I thought this forum was all about. I may not have been able to answer your technical questions, but I have direct access to Dr. Gouge who can answer all these questions and more. He can instruct you both theoretically and technically on machine intelligence and how to achieve it.
When all is said and done, we have and are creating something that will turn the robotics world on it's ear. You can choose to be a part of it, or you can continue twiddling bits on your interesting but unintelligent devices.
We are bringing intelligence to the table. Ask yourselves, what is that worth? And not just in terms of money, but in terms of possibilities. You are already plugged into the robotics market if you are following this forum. How could this technology improve your designs? How could it enrich your products? What would you be doing differently if your designs could be imbued with intelligence? You can choose to believe it or not. I don't care either way. We are building it. Come along with us, or be left behind. It's your choice.
I'll take a few days leave from these forums. When I come back with Dr. Gouge, be prepared to ask serious questions. We will not waste your precious time with some of the topics we entertained today. The time for that has passed. It's time to get down to work.
I would have to add to your list:
- step until a given line is passed to get past repeat loop ends, etc...
- set next instruction to a different line with restrictions
- being able to configure dynamic output on a device like TV or VGA
- break on variable change (well, it was a nice feature in VB6)
I haven't tried your product (nor do I feel the need to), but I certainly would if I was a newbie.
Added:
Mark,
I'm sorry your experience here has been less than plesant. It is always a good idea to lurk around in a forum and get to know the character of posters before making a first post especially if you intend to make customers of the participants. Perhaps you will apply this lesson to the next group you encounter.
As far as your band-wagon goes, I suppose you could have a game changing technology, but early adopters are a hard sell unless it clearly makes sense to get involved. I've seen way too many hot air ideas to be less skeptical than I am. When I first heard someone say "http//" in 1990, just sounded fruity to me, but I could see and appreciate the demo and realized that networking would be very important ... it was a "killer app." If you want an army of developers following your lead, demo.
Condescendingly yours (if that's the way you have to take it) .... Good luck on your journey.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Post Edited (jazzed) : 5/6/2009 6:34:12 AM GMT
Thanks for the feedback!
- You can set a breakpoint to get past a loop...
- Sorry, changing the program flow entirely is not feasible- as far as I know
- I forgot to mention the "interpreter", this allows you to "run while x<100". So, it does support conditional execution.
- ViewPort gives you lots of dynamic output- that's how it started! You can view a variable's output on a simulated oscilloscope- even with triggers, cursors, and auto-measurements. Or, you can view a variable's bits in a logic analyzer- again, with lots of trigger options. You can also get fancy and view a variable's frequency vs time in the spectrum analyzer. Or, compare one variable to another using the xy mode. If you want to do video INPUT with the propeller, you can use ViewPort's frame grabber (described in last month's Circuit Cellar article). And, if you want "intelligence" in your robot, try out the fuzzy logic engine. Of course, "intelligence" is relative.
Here's a challenge to everyone: If your Propeller based device can pass the official Turing test I'll eat a ProtoBoard!
Hanno
These forums are not about imparting knowledge or instructing others about some esoterica, they're about sharing information, experiences, and knowledge. The people who regularly participate here have formed a community in many of the senses that most associate with that term. There's a huge difference in intent involved. Good luck with your efforts. I plan to be left behind.
As for credentials, I think they are critical when you're trying to sell something to an audience of relative newbies (like me). I have to trust you that what you make is correct, since I can't check it myself. Therefore, if you can't provide anything then I'm wary of forking over $500 + for something that may or may not work.
Well said.
I would like to add that almost anything written can be interpreted as sarcasm or disdain. I personally try to make it clear that my manifest meaning is the intended meaning. No need to look any deeper. I love humor... so I make all kinds of jokes. But my jokes are intended to be funny not malicious in any way. I sometimes wish that I could just say what I mean, without worrying about be misinterpreted. It would be a lot funnier.
When you've had a chance to recover from this marathon thread... please believe me that 99.99% of the guys here are exactly the same.
If you see something that seems too close to the vest... forget about it. Most of the time someone else will take care of it for you... and if not... how important is it any way?
About the debugger... Obviously,debuggers have been around forever. When it became clear that Parallax wasn't going to offer a debugger, lot's of guys jumped on the opening.
Writing a good debugger establishes credibility... it doesn't matter what a guy's history is or what his credentials are, the product speaks for itself.
At the same time, debuggers will share lots of common features, and on any particular platform, you can only go so far...If you are good enough, at some point you will have a fully optimized your debugger... and the core of that optimized debugger may look a lot like the core of other well optimized debuggers. Features can differ... but two well optimized cores can look almost identicle... there are only so many ways to do a thing the right way.
Code similarity means nothing except that at the core, good code is good code and the people that can write it have special characteristics and skills.
I rarely use a debugger. Anything a debugger can tell me... I should know already, and I should find out. BUT I do like the ability to step through my code and see what is happening with my variables... and that describes a debugger of sorts. So, at some point I invariably end up writing code to help me debug my functional code. That doesn't make it a debugger... it is just code to help me clarify my thinking.
You mention that you have had sales... NOW, let's talk about money. My suspicion is that you have two kinds of customers... people who are new to the Propeller and people who are interested in your debugger because they want to know what kinds of products you can produce. For this reason, I think you need two prices, a corporate rate and a hobbyist rate. Same product/different prices. Any company that tries to get through on the cheap, you don't want to talk to anyway.
If nothing else, I think that this thread establishes and advertises the depth of the talent available in Dr. Jim's team. And it straightens out the timeline... which people frequently wonder about but rarely ask.
Your role would appear to be similar to Ken's at Parallax. Dr. Jim would be Chip... different interests, different markets, different histories, but close enough to relate quite easily.
Congratulations on your work so far...
... and I still want to see the back side of your board[noparse]:)[/noparse]
Rich
By the way... having a huge number of posts in a thread is a good thing. A little drama helps keep people's interest. This thread has plenty of both... this is a classic in my book.
My post was not an invitation for your advertisement, but that's fine [noparse]:)[/noparse] I think you misunderstood what I meant by configuring dynamic data on the TV or VGA display. Setting a breakpoint is different from "right-click->run to here" ... guess I'm just a little lazy, but that and setting the next instructions are great features of Visual Studio.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
I did google Dr. Gouge... and I didn't find thousands of articles... once I used his full name.
I found an obituary, with the same name I found links to some patents and the one article that I mentioned above and that was it. So, actually do you need to provide a short list of publications or an annotated list of links. Dr. Jim used his name here... and you said that there are thousands of listings.
The web is wild with fraud. No living being can possibly know that this is actually Doctor Gouge or if Doctor Gouge is still living. I found no academic listing... I tried MD... PhD.
I wouldn't ask anyone to post his name and address on the web. And I don't care if Doctor Gouge is a doctor or not... But I do think that you should provide a little more info on his publications, and I think it would be very appropriate if Dr. Jim would fully identify himself to Parallax... full boat: name, curriculum vitae, and social security number. The Gracey family is particularly fond of the military. So if Dr. Jim has ever served in the military, give those specs too... it will serve your interests to do so.
There is also the possibility... in this world that we live in... that your website has almost nothing to do with selling anything.
We live in a highly litigious society. A guy doesn't have to be very smart to write a patent or to get one through the first pass at the patent office... and then proceed to go around and harass people until they pay him to go away. In the past, guys have found out that they didn't really need a good patent... any old patent would sometimes do. And lots of people just paid them to go away. That won't happen here... but that doesn't mean that someone won't try.
I believe you mentioned Dr. Jim's patents to establish his credibility and to limit the sniping ... which is fair. Unfortunately... when you mention patent here...and then claim that you have never read the forum... people start getting "2+2" type thinking in their heads. And you really can't blame them or feel horribly offended. That is just kind of the way people ar. But it isn't always right to think like that... and no one here wants to make a mistake... particularly with an original thinker and a fellow Prop-head.
It is possible that you guys have never looked at the forum before, but it does sound far fetched... it isn't impossible... clean room design ethics and all that. But everyone would feel more beneficent toward both you and Doctor Jim... if you could detail how many law suits you have filed in the past?
If any of this actually is what Dr. Jim is about... then I would change my assessment and predict that you guys are not going to get along with Ken and Chip or with any of my friends[noparse]:)[/noparse] BUT
EVERYONE....
If you live long enough you will see stuff that looks really bad and the whole thing is harmless and misconstrued... and it seemed impossible that anything so harmless could be that badly misconstrued and yet that is the case. I have seen it happen to other people. It has happened to me on more than one occasion. It leaves a rotten taste in your mouth, and I wouldn't want it to happen to another person.
Dr. Jim if you are an original thinker with meticulous clean room habits... hang in there. That will become clear.
Either way, the truth is what it is and it will come out eventually.
Rich
When the 'Snake Oil Salesman' turns up at the door there are three options ...
* Buy it.
* Walk away.
* Question what it is they are selling and make a decision based on the responses.
In my experience most forum members fall into the third category. Unfortunately nearly all the information provided so far has been largely hyperbole and hype with little indication of what the product will do or how it could be used. I also get an uneasy feeling ( and I'm sure others do ) that not all the cards are being laid on the table which increases scepticism all round.
Maybe this is the best add-on that has ever been made for the Propeller, but you need to convince your audience that it is, or that you have something they should be interested in. What exactly does one get for $1700, how is that justified, how will it be used, how does it deliver these benefits, how does it compare with alternatives ?
I feel that is because you have been unable to provide the information which the audience wants to hear.
That's the sort of thing which rubs people up the wrong way. If you want to create "buy in" from a technical audience you need to do more than be disparaging about those who do not see the vision as you do. The best way to achieve that is to show how it will be useful to them, simply saying it will be does not cut the mustard.
That is a very bold claim. The sort of claim that needs proof. Without the proof it's just more snake-oil sales talk. For suckers.
The easiest proof on short notice is obviously the source code itself. But a whitepaper on the function would be easier for most to absorb.
Again, a link to this information is the normal way to present yourself online.
Evan
I started a new thread to discuss what this thread was originally about- adding fast storage to the Propeller. Here it is:
http://forums.parallax.com/showthread.php?p=805698
Hanno
(I'm learning to share- no more ads [noparse]:)[/noparse] )
About the snake oil comment... I don't care if it is snake oil, if it brings people to the Prop. If Dr. Jim has been selling products... great. If he can develop a market segment, with a site that he hasn't really touted here, it means that he has a following that may be different than everyone else's.
He may have friends in high places, who on seeing what he is doing will wonder why and come around to take a look.
Commercialism is usually overstated and hyped. Saying that you have the greatest thing since sliced bread is a tradition. It is ok if it sells a product and it isn't a complete lie. For instance... it does have to be at least as good as sliced bread.
The buyer should beware, and if the buyer isn't doing his diligence, he will eventually show up here looking to figure out exactly how wisely he has spent his money. People who buy one product... often find a reason to buy a better product.
Rich
Post Edited (rjo_) : 5/6/2009 3:56:37 PM GMT
the ID's posted on your website appear to contain information of a sort that might make it easier for somebody to make you the next victim of identity theft. It's not the kind of information you should provide so handily to the world. Posting research papers, etc. is a great way to convince people of your credentials. Posting various IDs only opens the door to getting your bank account cleaned out.
good luck with your research.
Ads are ok in moderation .... You do less response product hawking than others I've seen here.
Put a link in your signature line. I'm very happy to see the number of downloads of Propalyzer produced by my sig.
@rjo_
Nice commentary.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
http://forums.parallax.com/showthread.php?p=805698
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
I have only a few minutes, but Mark has asked me to respond.
Dear Rich,
I see that you have done your homework on some of my previous articles and military work. We share the same views on object recognition in images and I believe that the Propeller will make an excellent platform for object recognition.
I am in the process of designing a binocular vision interface and will keep the forum posted on my progress.
I am also porting across some of my previous voice recognition software. That will be ready soon.
If there is anything that I can do to assist this forum and the serious hobbyists/researchers, I will be more than happy to do so.
My cup is rather full at the moment, so please bear with me if I don't respond right away.
Thank you so much for your interest in our ongoing work.
I will try to check in once or twice a week.
Your in research
Dr. Jim
P.S. Please email to support@machineinteltech.com or post to our blog page for further correspondence. It is a pleasure to be working with you all.