Wikia Volunteers Wanted (re: AllBest's Build) - CHDK Releases - CHDK Forum  

Wikia Volunteers Wanted (re: AllBest's Build)

  • 3 Replies
Wikia Volunteers Wanted (re: AllBest's Build)
« on: 08 / December / 2007, 12:25:51 »
« Last Edit: 22 / April / 2008, 08:12:50 by Barney Fife »
[acseven/admin commented out: please refrain from more direct offensive language to any user. FW complaints to me] I felt it imperative to withdraw my TOTAL participation. Nobody has my permission, nor the right, to reinstate MY posts. Make-do with my quoted text in others' replies only. Bye

Re: Wikia Volunteers Wanted (re: AllBest's Build)
« Reply #1 on: 09 / December / 2007, 14:49:56 »
I am sorry for the improper editing!  Just wanted to make available what clairifications I had found.  I will learn more about wiki before attempting further addition.  Thank you for formatting and other efforts.

Re: Wikia Volunteers Wanted (re: AllBest's Build)
« Reply #2 on: 05 / January / 2008, 08:45:27 »
Thanks for doing this.

I'm currently working on a script (or perhaps several scripts, since I have encountered a bug in (at least) Allbest's recent builds that seems to be related to script size), to test whether various features are implemented.  In conjunction with this, I'm working on a script (or again, if necessary, more than one), to dump out information about the current state of the camera, to the extent that these things may be determined by the current build.  (Note: the scripts also must take into consideration the environment in which the build is running; i.e., a camera - and if so, which one - or the software emulator.

These scripts should be useful for all builds, but as Allbest seems to be going at a lightning pace, these scripts may be more valuable to users of Allbest's builds than to others.

I'll post them, even in preliminary form, hopefully within the next week.  When I do, perhaps your page can link to them.

Also, since you are just tackling this project now, (and I know that this is painful, but you are doing this just at the time when it is the least painful), if you are able to do so, could you make note, when you know it, at what build version a feature was added, and at what version, in the case of things known to be buggy, a feature is thought to be stable?

You may be able to use my scripts within the next few weeks to obtain some of this information, when they are more robust and are testing many things.  The idea of the "Features" script (or scripts, if necessary) is to run it against a build on a camera; it will, hopefully, tell you whether or not a particular feature is implemented (though it probably will not be able to know if an implemented feature is considered "buggy" in a particular build).
« Last Edit: 07 / January / 2008, 15:40:43 by sneakernet »
Tom Friend
-- -----------
Nikon Coolpix 990, Olympus C-8080WZ, Nikon D1, Canon S2 IS, Canon SD700

Re: Wikia Volunteers Wanted (re: AllBest's Build)
« Reply #3 on: 07 / January / 2008, 16:28:12 »
I think you fail to understand what my scripts will do for you, and why they are important.  From what you said, you, particularly, may benefit from my scripts.

For discussion's sake, presume that I will have two scripts (physically, it's likely to be more than two, given the maximum size limitation for a script).

The purpose of my "Features" script is to tell you what features are implemented in the build that you are currently running on your camera (or PC uBASIC emulator).  If you are shuffling builds around, you may want to run this script to verify that the features that you need are implemented in the build that you are currently running.

Say you are running a script that you like, and you aren't getting the result that you expected.  Maybe you're running the script on a build/camera that doesn't support one or more of the script's statements or functions.  You can run the "Features" script to try to confirm that the things that your script does are supported by the current build/camera combination.

Obviously, if new features are added, I need to revise my script(s) to detect them, and report whether or not they are implemented in the current build.

Please note:  The documentation for these builds is very informal.  It's not bad, but it is informal.  I've been a fulltime professional programmer for 25 years, with lots of experience at the systems, network, and driver level, and also a fair amount of experience working on complex web software that ties to backend databases and mainframes in various US States.  I'm not a rookie.  I say this so that hopefully the following point will stick:  it doesn't matter what the documentation says; the only way to be sure that something works is to try it.  Having a script that tests the various features and reports whether they are implemented or not is a very useful check against the documentation, and is also a way to find out where the documentation is incorrect.

Case in point:  It is currently documented that the maximum script length in current builds is 8K.  However, my script is a bit less than 4K, and it is crashing my S2 IS.  I have reordered the subroutines at the end of my script, and regardless of subroutine order, when the subroutine that is last in my script is called, my camera crashes, and my script file is physically overwritten, and I need to restore it.  (This could certainly be the result of some entirely different bug, but the point is that, until I (we) know what the problem is, and we know that it's been fixed, this is certainly something to watch out for.)

I started writing these scripts 1), so I could prove to myself that I understood how a statement or function worked, 2), to show that the statement or function did indeed work as documented (and right now, for example, at least in Allbest's build, it seems that the print_screen function does not work as documented, or I simply don't understand the documentation and I'm doing something wrong, which, again, goes back to point number 1), and 3), to show that the statement or function was actually implemented in the current build, and for the particular camera.

I quickly realized that these scripts could be generally useful, to quickly show the user which features were implemented in a build, and which ones were not.  Additionally, for those who don't program computers for a living, the scripts may be useful examples of correct program syntax generally, and of calls to the functions that have currently been implemented in the language.

If, after this explanation, you still don't see the value of what I'm doing, perhaps you will when I publish the scripts and you are able to run them yourself.

One last thing:  If, instead of putting in a REM statement saying what build # (and camera) your script was written for, you instead listed the features that the script takes advantage of, then someone running my "Features" script(s) can simply compare the features you list with the output of my script, which will tell the user which features are implemented in the build that he/she is running.  If my script tells them that all the features in your script are implemented in the current build (and for that camera), then the script should run.


« Last Edit: 07 / January / 2008, 16:32:54 by sneakernet »
Tom Friend
-- -----------
Nikon Coolpix 990, Olympus C-8080WZ, Nikon D1, Canon S2 IS, Canon SD700


Related Topics