Executive Summary
As a software developer and user, I'd like to see programmers here collaborating loosely. I suspect that forums are too informal for technical collaboration, unless there are some simple and explicit contracts for simple or atomic Traveller-related programming tasks. So, my latest thought is on producing small utilities.
What do you mean by Utility?
A utility is a small software component that does one thing (='atomic'), and has two interfaces:
</font>
I can imagine a large number of utilities that could encourage software development, as well as provide strategic tools to whoever needs it. The nice thing is that most of these concepts have already been coded by many of us in the past; therefore the solution space is well known, and conversion into utilities is theoretically easy.
</font>
Target Languages
My preference is to see Java, Perl, and Python versions of utilities, and some Ruby wouldn't hurt, either. JavaScript can be handy in some cases, too.
The fun begins when one starts to think about how the same utility written in a different language should produce the same output. But that's best resolved informally, since there is no authority vested in a loose confederation, and a political body to handle this would surely kill the project before it even begins.
Why all the Fuss?
Well there's not a big need for a portable dice roller, but some of the other utilities would really be nice to be already done and available, since many of us are reinventing the wheel when we write code. In addition, it may make it easier for us to write more complex Traveller programs -- the concept is related to Bottom-Up Programming:
http://www.paulgraham.com/progbot.html
Thoughts?
As a software developer and user, I'd like to see programmers here collaborating loosely. I suspect that forums are too informal for technical collaboration, unless there are some simple and explicit contracts for simple or atomic Traveller-related programming tasks. So, my latest thought is on producing small utilities.
What do you mean by Utility?
A utility is a small software component that does one thing (='atomic'), and has two interfaces:
</font>
- A package, which is a modular chunk of code that other programs can directly use.</font>
- A tool, which is a minimal wrapper around the package, so users can run it or other programs can call it indirectly. The output would default to plain text, or XML with an -xml option, YAML with a -yaml option, and maybe even HTML with an -html option.</font>
I can imagine a large number of utilities that could encourage software development, as well as provide strategic tools to whoever needs it. The nice thing is that most of these concepts have already been coded by many of us in the past; therefore the solution space is well known, and conversion into utilities is theoretically easy.
</font>
- A distance-time-acceleration utility (done - robject).</font>
- A simple interstellar distance calc utility (done - robject).</font>
- An inter-sector distance util (note that this tool can actually use the simpler interstellar distance cal utility).</font>
- A dice roller (done - robject).</font>
- A converter from decimal to "Traveller Decimal" and back (done - robject).</font>
- A Revised Stellar Gen UWP utility.</font>
- A Book3 world gen utility. (started - FlightCommanderSolidute).</font>
- A task utility.</font>
- An animal encounter table gen utility.</font>
- A basic career gen term roller (all but skills?) (started - robject).-</font>
- A random skill picker (?)</font>
- A benefits picker.</font>
- A basic random character generator. (started - robject)</font>
- A starship weapon attack utility.</font>
- A starship damage utility.</font>
- An alien race gen utility.</font>
- A world orbit renderer.</font>
- A star renderer.</font>
- A subsector map renderer.</font>
- A 'fixed' random number gen utility *.</font>
Target Languages
My preference is to see Java, Perl, and Python versions of utilities, and some Ruby wouldn't hurt, either. JavaScript can be handy in some cases, too.
The fun begins when one starts to think about how the same utility written in a different language should produce the same output. But that's best resolved informally, since there is no authority vested in a loose confederation, and a political body to handle this would surely kill the project before it even begins.
Why all the Fuss?
Well there's not a big need for a portable dice roller, but some of the other utilities would really be nice to be already done and available, since many of us are reinventing the wheel when we write code. In addition, it may make it easier for us to write more complex Traveller programs -- the concept is related to Bottom-Up Programming:
http://www.paulgraham.com/progbot.html
Thoughts?