• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

Personal Repo Cleanup and Call for SW Archaeologists

Leitz

SOC-14 1K
Admin Award
Baron
y'allcon,
/* That's a military salutation with a southern US accent. :) */

I'm going to clean up several of my Makhidkarun and other repositories over the next few weeks. Mostly because I started something and didn't get very far; there's a lot of clutter. Most of my PHP and probably Ruby stuff will get pulled down. If you are using it, or want to, holler and I'll leave it up. May need to re-organize but I don't mind sharing stuff if folks want it.

On a different note Makhidkarun has a few projects that are there but not being given any tender loving care. One of the C programs I pulled down didn't compile due to cut and paste errors. If any of you are interested in taking ownership and stewarding the projects, let us know.

On another different note have any of you thought about being short term code mentors? A couple years ago I ran a "90 Day Wonder" learning event using IRC and Zed Shaw's "Learn C the Hard Way". My notes are in a repo, feel free to help improve things.
 
Added d66 to go_tools. Takes a -n <number> option (default 1) and gives you a d66 type roll.
 
My wife loves me!

I told my wife a little of what I was doing this evening; her comment was "You're such a geek!"

I'm in love....

I needed a board of directors so I used the Ruby "chargen" code in the Makhidkarun/rb_tools repo. It provides a character sort of like this:

Code:
Keitha Alexander F Age: 26 84857A Citizen: 2 
Frizzed medium green short hair, silver skin 
Temperament: Protector   Plot: Overcoming the monster (4) 
Traits: Responsible, Inhibited
Electronics-1 Blade-1 
Cash: 8967 Middle Passage (1)

An easy start; how they look, how they think, and what's going on for them. Then I needed a set of rolls for each person. Say about 6-8 2d6 rolls to gauge their opinion on something. Used go_tools/status_report. It gives something like this:

Code:
Marco Domici 4 9 12 7
Tala Domici 5 8 9 10
Ian Domici 5 10 6 4
Akil Domici 9 7 10 9
Karista Domici 10 5 10 10
Gothan Domici 12 10 9 6
Janice Howell 4 6 6 5
Maggie Patterson 9 6 3 11

Then I was stuck! I wanted to generate some NPCs from a random encounter chart but it's later in the evening for me. Not enough time to type in the whole thing and do rolls. Did the natural thing; turned back go Go and wrote something that generated d66 numbers. Sort of like this:

Code:
66
52
46
26
12
44

To make life easy the numbers were treated as pairs. The first was the d66 roll and the second was treated as two d6 and I added them.

There are several board members and I now know what they think about certain topics and who their allies (and enemies!) are. The NPC relationships and temperaments guide descriptions of what is going on and help set the scene for a power struggle that will change a planet.

Fun times!

If you've been thinking about code and want to jump in; now is a great time! We have C, Python, Java, PHP, Ruby, and Go just waiting for you to use.
 
Anyone want to update makhidkarun's "t5" and "t5concordnace" python requirements, and test things? I got a security alert for the benotic/gunicon requirement so the version required needs to be updated to the latest and the code tested.

If you've been wanting to build your Python chops, this might be a good chance.
 
Anyone Java-savvy who can take care of the "makhidkarun / Argushiigi" repo's security update? The security monitoring error is:

Code:
Dependency commons-collections:commons-collections 	Version < 3.2.2 	Upgrade to ~> 3.2.2
Defined in pom.xml
Vulnerabilities  CVE-2015-6420 High severity

Dependency junit:junit 	Version >= 4.7 < 4.13.1 	Upgrade to ~> 4.13.1
Defined in pom.xml
Vulnerabilities  CVE-2020-15250 Low severity

I don't know enough Java to test the updates properly.
 
So, I found this on github, downloaded it, fixed those dependencies and the URL to the repository it was using for the rest of it.

Now what? Can you merge PRs for this? Is it yours? The code base is 7 years old.

And what, precisely, does this thing do?

"An ontology for Traveller 5, as well as a linked open data source for Traveller concepts."

I see words like "ontology" and my eyes glaze over.

Code:
ontology | änˈtäləjē |

noun

    1 the branch of metaphysics dealing with the nature of being.

    2 a set of concepts and categories in a subject area or domain that shows 
      their properties and the relations between them: what's new about our 
      ontology is that it is created automatically from large datasets | we're 
      using ontologies to capture and analyze some of the knowledge 
      in our department.


I honestly don't quite know how this is applied to T5. Even reading up on RDF, Triple Store, Semantic Web, etc. etc., and I never quite grokked "ontology" (and those folks love that word...).

3 formatting tests don't pass. I delved in to one and ... no, I'm not taking that on. But these failed before the updates were made.
 
I can merge PRs, and I had no idea what an ontology was until you quoted it. I'm still kinda iffy...

Okay, give me some Java wisdom. I dislike keeping code with known vulnerabilities around, and I dislike the inability to test fixes. If you think this can be fixed, then I'd say go for it. I can bring you into the Organization and you can do what you like.

If you feel the level of effort exceeds the value, we can pull the repo. I'm fine either way.
 
If you feel the level of effort exceeds the value, we can pull the repo. I'm fine either way.

The tests that are failing are formatting tests.

What this thing seems to be is a way to classify data. The original author used a data modeling tool to create these "ontologies". And what they are is ways to relate data to each other.

For example, relating "atmosphere type" to "planet". (i.e. "planet" "has a" "atmosphere type").

Now, the code is just a nest of stuff navigating these relationships.

The first test that's failing, DisplaySorterTest.testFormat1, is complaining because it's trying to format the "C4-1" resource, and is expecting:

0020.5:8/05/14

Instead it is getting:

0020.5:8/5/14

(note the missing 0 before the 5)

Now, it took me about 10 minutes to hunt down what C4-1 even is. It's a bit of data:

Code:
  <owl:NamedIndividual rdf:about="http://data.travellerrpg.com/ontology/argushiigi/test1/c4-1">
    <test1:d3 rdf:datatype="http://www.w3.org/2001/XMLSchema#date"
    >2014-05-08</test1:d3>
    <test1:d1 rdf:datatype="http://www.w3.org/2001/XMLSchema#double"
    >20.5</test1:d1>
    <rdf:type rdf:resource="http://data.travellerrpg.com/ontology/argushiigi/test1/C4"/>
  </owl:NamedIndividual>

What's clear from this is that the 8/05/14 is a date. This, obviously, is not clear from the test.

Why isn't the 0 showing up? Is that because of the AU in the Locale? Heck, if they're expecting 05, why not 08? Heck if I know.

And digging in to the mire of where the format is coming from, that's a black hole. Is this an Australian thing? A JDK provided format?

That's one of the problems with tests. There's still a bunch of ingrained knowledge used by the test writer that's not manifest in the test itself.

Great joke.

The water mill used by the town was not working, and no one could figure it out. So, the called up the old caretaker of the mill, who had retired.

He walks in, grabs a big wrench, knocks in one place. Waits a second. Knocks in another. Waits another second. Finally, he knocks a third time, and the mill fires up and everyone is excited.

He presented his bill of $3000 to the town council.

"This is outrageous" they exclaimed. We want a detailed invoice of the work.

Code:
     Water Mill Invoice

     Knock one                $    1
     Knock two                $    1
     Knock three              $    1
     Knowing where to knock   $ 2997

     Total                    $ 3000

So, anyway, this thing is quite byzantine with a LOT of metadata (manifest as RDF and OWL data in XML files).

I don't know if there's real value in fixing these tests, especially since I'm still not actually sure what this system does!

So, right now, there's a lot of "knowing where to knock" in this thing.

It's also curious that even the original author didn't fix these things. You'd think they'd be simple, considering all of the other work that was put in to this, to fix these three. But, for some reason, they didn't.

Perhaps the black hole is darker and deeper than I may think.
 
Okay, I took the easy way out. There's now an "Issue" on the repo, with your notes, in case someone decides to look at the code or wonders why the tests are failing.

Please add anything you feel relevant.
 
Cool. Yea, as annoying as it is, let someone impacted by the failing test log an issue in how it's impacting them, then maybe it would be easier to diagnose.

For all we know, the test is just flat wrong, I just assume it's as that would have been a trivial (ideally) fix.
 
Back in the day, "ontology" was referring to a being's goal or purpose. (From the Greek word for "end," as in the end goal.) Don't know if that's how these jokers are using it, though. It doesn't seem to fit.
 
Back
Top