User:Philosopher: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
mNo edit summary
m (Switch to the {{forum link}} template for all forum links.)
 
Line 5: Line 5:
* [[User:Philosopher/Optimization findings|Optimization findings]] (from [[User:Philosopher/Nasal introspection|Nasal introspection]])
* [[User:Philosopher/Optimization findings|Optimization findings]] (from [[User:Philosopher/Nasal introspection|Nasal introspection]])


Sometimes working on improving Nasal internals and documenting them. Has the '''best''' joystick bindings (for a cheap joystick :P) at [http://flightgear.org/forums/viewtopic.php?t=17263 this topic]. Most recently working on various Canvas dialogs/frameworks.
Sometimes working on improving Nasal internals and documenting them. Has the '''best''' joystick bindings (for a cheap joystick :P) at {{forum link|t=17263|text=this topic}}. Most recently working on various Canvas dialogs/frameworks.


Likes reading through C/C++ code for fun, and understanding, documenting, and improving it – though I'm far from an expert in either and my hat is continually off to Andy, Thomas, and James (and everyone else) for their wonderful code. Oddly enough, I find Nasal code to be harder to read, probably due to the fact that C/C++ and very structured languages and Nasal is not (it almost needs DbC at times!).
Likes reading through C/C++ code for fun, and understanding, documenting, and improving it – though I'm far from an expert in either and my hat is continually off to Andy, Thomas, and James (and everyone else) for their wonderful code. Oddly enough, I find Nasal code to be harder to read, probably due to the fact that C/C++ and very structured languages and Nasal is not (it almost needs DbC at times!).
Line 32: Line 32:
Good ideas:
Good ideas:
* Expose the catapult locations to the property tree, for JSBSim 'craft and Nasal tutorials.
* Expose the catapult locations to the property tree, for JSBSim 'craft and Nasal tutorials.
* [http://flightgear.org/forums/viewtopic.php?f=18&t=19666 Changing behavior of SGPropertyNodes without tying] (something like {{issue|336}}).
* {{forum link|t=19666|text=Changing behavior of SGPropertyNodes without tying}} (something like {{issue|336}}).
* (In conjunction with Hooray) Have Nasal load itself: besides for one file (either Nasal/globals.nas or something in [[$FG_ROOT]]), ''all'' Nasal should be loaded from Nasal.  (Including <tt>--prop:/nasal/module_name/script</tt> and <tt>--prop:/nasal/module_name/file</tt>.) See [http://flightgear.org/forums/viewtopic.php?f=30&t=21083] & [http://forum.flightgear.org/viewtopic.php?f=30&t=21083] {{Progressbar|50}}.
* (In conjunction with Hooray) Have Nasal load itself: besides for one file (either Nasal/globals.nas or something in [[$FG_ROOT]]), ''all'' Nasal should be loaded from Nasal.  (Including <tt>--prop:/nasal/module_name/script</tt> and <tt>--prop:/nasal/module_name/file</tt>.) See {{forum link|t=21083}} & {{forum link|t=21083}} {{Progressbar|50}}.


Nasal thoughts area:
Nasal thoughts area:

Latest revision as of 20:04, 9 June 2019

Sub-pages: (mostly stubs ATM)

Sometimes working on improving Nasal internals and documenting them. Has the best joystick bindings (for a cheap joystick :P) at this topic This is a link to the FlightGear forum.. Most recently working on various Canvas dialogs/frameworks.

Likes reading through C/C++ code for fun, and understanding, documenting, and improving it – though I'm far from an expert in either and my hat is continually off to Andy, Thomas, and James (and everyone else) for their wonderful code. Oddly enough, I find Nasal code to be harder to read, probably due to the fact that C/C++ and very structured languages and Nasal is not (it almost needs DbC at times!).

Favorite languages:

  • Nasal (of course)
  • Python (was my first language; I like most things about it except its duck typing – which works well until I actually need typing)
  • C & C++ (different beasts; I like C++'s classes and ::iterators in particular)
  • Languages yet to be discovered: I hope to find more that I like!

Things to be doing:

  • Improving the Joystick GUI: porting to Canvas, tweaking things, and integration with back-end when ready.
  • Nasal bootstrapping: get started again, commit in a useable state, but needs design and implementation first.
  • Joystick-Philosopher (bindings for Cyborg-X): improve the control_function library.
  • Nasal improvement for whatever release (LaTeX document, making patches and applying patches to SimGear), making sure it doesn't crash.
  • Canvas Map: working on MapStructure.nas, to replace old map.nas &c.
  • Consolidating gen library, hopefully committing once bootstrapping is also committed. Make sure it doesn't crash the interpreter or reinstall Linux!
  • Fixing bugs, tweaking small things :-).

Projects on the wiki:

Good ideas:

  • Expose the catapult locations to the property tree, for JSBSim 'craft and Nasal tutorials.
  • Changing behavior of SGPropertyNodes without tying This is a link to the FlightGear forum. (something like ticket #336).
  • (In conjunction with Hooray) Have Nasal load itself: besides for one file (either Nasal/globals.nas or something in $FG_ROOT), all Nasal should be loaded from Nasal. (Including --prop:/nasal/module_name/script and --prop:/nasal/module_name/file.) See [1] This is a link to the FlightGear forum. & [2] This is a link to the FlightGear forum. 50}% completed.

Nasal thoughts area:

  • I would like to include small improvements that enhance my quality of life in SimGear: string slicing, hash iteration using foreach/forindex, save/restore aka stash? (latter to be discussed)
  • Hooray and I talk about more extension functions to allow looking into internals; I need to review all of these, gather them up, add to them, etc., and hope they can be included somewhere (Hooray was saying maybe just the standalone Nasal in SimGear, not FlightGear's runtime).
    • Sub-idea: if we only include the extensions in standalone and we have optimizer/post-compiler scripts ready, then make a script to be run with standalone that optimizes any or all Nasal files and outputs an optimized version (*.nas.optimized) or even just the bytecode (*.nas.opcode, textual file ofc) and have that be the preferred loading method (if the text is older than the optimized version).