OT:  Codewheel Gen for Homebrew Optical Encod

Howdy, Folks,

This message is somewhat off topic, but not totally off topic. Please forgive me.

I've written a freeware Win XP/Vista program to generate codewheel images, then print them on your home inkjet or laser printer.

I've included the capability to generate six different codewheel types. One, the single track wheel with an index track, is of particular interest to microcontroller experimenters dealing with robotics, motor control, positioning, and any other application where the direction of rotation is known. That codewheel lets you quickly and cheaply brew up an optical encoder for your project.

A codewheel, a couple of LEDs, phototransistors, and your hot glue gun might be about all you need to build a good sensor. The codewheel program make inclusion of optical sensing in your designs practical, where such technology might have been cost-prohibitive in the past.

The program's signature feature is its ease of printing your image. The program automatically prints your image at the size you specify. Want a 2" diameter wheel? The image will automatically be printed at 2" diameter. No muss, no fuss, and no magical manipulation of your printer driver is required.

I hope that the program will add design capability that was previously unavailable to you.

http://www.mindspring.com/~tom2000/Delphi/Codewheel.html

Go forth and build!

Tom

Nice stuff :) Any chance to get access to the source code ? It would be nice to port your program to *n*x/OSX.

Nice stuff :) Any chance to get access to the source code ? It would be nice to port your program to *n*x/OSX.

Thanks! I'm glad you like it.

Sorry, I never release the complete source code for my PC projects. If I did, I'd run the risk of virus-laden counterfeits running around the net.

If you have any questions about the way I've implemented a particular feature, contact me by email with your specific question(s). I'll be happy to provide details of the particular algorithms, and code snippets as necessary, to answer your questions.

Tom

Thanks for your answer and your proposal, and I hope people will be volunteers to do such an heavy work of coding, since even if I would have considered porting it, rewriting this from scratch is out of my coding level and of my free time.

Maybe you could release only the "core" source code, or even object files compiled on/for other systems (if allowed by the language you've used, of course... I hope it's not Delphi ^_^) to allow redesigning of GUIs other it.

I'd be very happy to see this kind of software run on non-Windows systems (or maybe even running on a webserver, which will be the coolest way) but I'll understand if you prefer to keep source codes for yourself, since it seems to have been a very huge amount of work.

Hi Tom, nice program and nice writeup.

Sorry, I never release the complete source code for my PC projects. If I did, I'd run the risk of virus-laden counterfeits running around the net.

Interesting comment about releasing source code. I can understand many good reasons to withhold source code but not heard that one before. I would have thought that it would be easier for someone make a new msi that combined your runtime and their malware rather then bother to recompile your source code. But perhaps there is some kind of risk that I have not considered. Am i missing something?

Interesting comment about releasing source code. I can understand many good reasons to withhold source code but not heard that one before. I would have thought that it would be easier for someone make a new msi that combined your runtime and their malware rather then bother to recompile your source code. But perhaps there is some kind of risk that I have not considered. Am i missing something

I think you are quite right on this point. It would be quite easy, too, to inject code in the binary file and just recreate an installer. Viruses have been doing this for a very long time.

IMO, the only somehow "safe" way to release software is GnuPG (or equiv) signatures. But very few people checks these, or even know how to use them.

Anyway, even if I strongly believe in free, open source software, I completely understand that someone doesn't want to release the source code of a software s/he created, for a lot of reasons. I'm always sad of it in a way, but it's anyone's choice. It's great that this program exists, and it's great that it is freeware.

Oh, thanks a lot, guys. So much for my sense of security, thinking that not having source available would protect me from the criminals.

I wasn't aware that an .msi could be post-infected.

In any case, I think I'll still hold on to my source code. But I'll still be happy to provide assistance and lots of encouragement to anyone who'd like to try a port. I've done so in the past, and I make a pretty good cheerleader. :)

Thanks for the info, guys. (This time it's sincere. The first 'thanks' was sarcastic hehehehe)

Tom

Anyway, even if I strongly believe in free, open source software, I completely understand that someone doesn't want to release the source code of a software s/he created, for a lot of reasons. I'm always sad of it in a way, but it's anyone's choice. It's great that this program exists, and it's great that it is freeware.

Yeah, and it's a darned shame. Back in the DOS days, before virii became so widespread, we shared our code freely and never gave it a second thought. Those criminals have ruined it for all of us.

Tom

…I hope it’s not Delphi ^_^)

Lessee… the url is …/~tom2000/Delphi/Codewheel.html.

Whatever made you think that I wrote it in Delphi? LOL!

(Yes, I wrote it in Delphi 2005).

Tom

Lessee… the url is …/~tom2000/Delphi/Codewheel.html.

Whatever made you think that I wrote it in Delphi? LOL!

The funny part is that I haven’t noticed that… I just found out there were a few references to Delphi on your page ^^

Yeah, and it's a darned shame. Back in the DOS days, before virii became so widespread, we shared our code freely and never gave it a second thought. Those criminals have ruined it for all of us.

I have to say that I don't understand this point. I used DOS quite a bit (My first computer was a 386SX 33, ages ago), and AFAIR DOS virii needed no source code to infect executable.

They just had to replicate their code somewhere in the binary file, add a simple jump to it as the first instruction, so they got executed at every program start, often acting like TSR programs, then gave back (or not, depending on their mood) hand to the main program. It was quick, efficient, and almost invisible.

I don't understand (and would sincerely like to be explained) what source code have to do with this matter.

Thanks, T.

PS : As I'm far from being fluent in English, I would like to be very clear on the fact that I'm not saying I don't trust you on this point, but really want to understand what you mean. I'm afraid my words may be misinterpreted on this subject and considered as "offensive"

I have to say that I don't understand this point. I used DOS quite a bit (My first computer was a 386SX 33, ages ago), and AFAIR DOS virii needed no source code to infect executable.

Back in those days, the criminal element who wanted to infect .exe files wasn't as prevalent as it is today.

Look, whatever argument you're trying to make, it isn't going to work. I'm not going to release my source.

And if you're unqualified to write the program, why did you want my source code in the first place?

End of discussion.

Look, whatever argument you're trying to make, it isn't going to work. I'm not going to release my source.

And if you're unqualified to write the program, why did you want my source code in the first place?

End of discussion.

I've edited my message to add a footer to make it clear that I was really interested in your answer on this specific topic (virii). Maybe you haven't had time to read it.

As I said, I could have considered porting the program, not rewriting it. I'm not asking for your source code, I'm sorry if there was any misunderstanding on that. My only messages on this subject were the two firsts (Asking if source was to be released, then re-asking if you considered releasing simple compiled libraries for other systems), and everything I've posted since was just a side-effect chat on this subject of virii which intrigued me.

I'm sorry if any misunderstanding have occured on this matter. I would'nt have permitted myself (is this English ?) to ask rudely for something you didn't wanted to give away.

Hi Tom, I am not seeking your source code, but I was curious on how you arrived at your views on security. I interpreted your statement as saying that those that do release source code (such as the practice of many people on this forum) increases some risk of “virus laden counterfeits running on the net”, whatever that means.

I assume from your subsequent replies that the virus issue was your polite way of saying you don't want to release source code. No need to be coy, the runtime code you have developed and posted is a big help for anyone that needs that functionality. But there is also no need to discourage those that do publish source code by raising a specter of a security risk that doesn't exist. One really doesn't need to come up with excuses to state that source code is not available.

And again, many thanks for taking the trouble to post your utility, It will be a great help to many just as it is ;)