Return to Project-GC

Welcome to Project-GC Q&A. Ask questions and get answers from other Project-GC users.

If you get a good answer, click the checkbox on the left to select it as the best answer.

Upvote answers or questions that have helped you.

If you don't get clear answers, edit your question to make it clearer.

0 votes
854 views
At the moment I reached the limit of the config lines.

Question. Can they be increased or shall I skip these challenges and provide no checkers
in Support and help by vogelbird (Expert) (56.5k points)
I've also hit the config limit with some of my problems for some checkers. For me this time I managed to find a way to compress the config down to make it fit but that's not always a sensible solution. Of course the other option is to duplicate the script and hard code the config but that also isn't ideal...

1 Answer

+1 vote
I have seen mole125's configs, and though it's pretty cool, it's not really the intended way to write scripts. I wonder how it will be to maintain. I know lillfilurens generic checker is something he regrets, and that he rather had several short and easy to understand scripts.

Regardless, What kind of case requires such big config? Of course the config can be increased, it's not a huge amount of work, but may be a few places to change it in. But the idea is that the configs should be fairly short so that they are readable as well.

They will then of course be less readable if keywords like type and size becomes t and s (and so on) to reduce the size. But in my mind, in the cases I have thought about, 4 kB is quite a lot of config data.
by magma1447 (Admin) (241k points)
So far its proving fairly straight forward to maintain and even more straightforward to tag a wide range of challenges very quickly - far quicker than if I was creating scripts from scratch each time (or trying to locate which simple one can be reused from a long list of scripts). Its not suitable for everything and will never be suitable for everything (for instance D/T line challenges), even those things that it is suitable for a custom script has the potential for being faster and more optimized - but more work to make.

Mostly however I'm exploring ways to make script config more readable and understandable by none programmers. The approach I'm experimenting with is that actually a longer config using a natural language syntax is potentially easier to understand than trying to understand (potentially) cryptic config tags that vary widely from script to script. I don't know if I'm proving that or not but I am having fun writing a natural language parser and seeing what boundaries I can push.
Ganja , have a look at checker GC4WJ08 - Challenge: Tradi Grid #2 for

Tradi#3 and #4 I'm running out of config. I think the only way is to make a script for this. I have come across this way of using the Fizzy grid in Germany and the States.
I thought I'd give #4 a try. With my generic script the config is:
{"challenge": ["with name 'D1' find 9 caches with unique terrain where type == 'Traditional Cache' and difficulty == '1.0'.",
"with name 'D5' find 9 caches with unique terrain where type == 'Traditional Cache' and difficulty == '5.0'.",
"with name 'T1.5' find 9 caches with unique difficulty where type == 'Traditional Cache' and terrain == '1.5'.",
"with name 'T2.5' find 9 caches with unique difficulty where type == 'Traditional Cache' and terrain == '2.5'.",
"with name 'T3.5' find 9 caches with unique difficulty where type == 'Traditional Cache' and terrain == '4.5'.",
"with name 'T4.5' find 9 caches with unique difficulty where type == 'Traditional Cache' and terrain == '4.5'.",
"output groups including empty with totals.",
"output table gccode, cache_name as 'Name', difficulty, terrain." ]}

Though I admit that the output doesn't make it easy to see which ones you still need to get (you could get that by listing each combination individually:
{"challenge": [
"with name '5/1' find a cache where type == 'Traditional Cache' and difficulty == '5.0' and terrain == "1.0".",
...
]}

But that would end up being 5Kb.
I don't know what others think. I agree that it's possible to use Targets generic script. But personally, I would think that I had made a new script for this series which had a config more made for the purpose. For example:
{
numberOfEach: 1
type: "Traditional cache",
DTs: [ [1,1], [1,1.5] .. ]
}

I don't know what others think though. But personally I think that would be more useful and understandable.
The big downside is the more specialized new scripts there are the harder it becomes to find a script to do precisely what you need and so the more scripts you end up having making it even harder next time. Though I do agree in this case either a new script, or a tweak to targets script to accept that style of input would probably be the best solution.
I like what you are suggesting Ganja. I'm not a scipt writer but this way I can tag any Fizzy related configuration.
Both yes and no, since the new script would have a simpler config, which would make it easier to see if it fits the challenge one wants to tag.

But yes, in the long run it will be a lot of scripts, and definitely hard to find which to tag with. But I think this is another problem, which I don't know how to tackle yet. For those active tagging, I think they will fairly fast know about most of the generic useful scripts. And a question is, how long time is it until all "normal" challenges has been tagged, and all the rest actually requires new code?
You are more than welcome to start writing scripts if you want to vogelbird, but I don't know you, maybe it seems too hard. I must admit that it's not super easy if one isn't a experienced programmer. It's a new language for most, and the feedback from errors isn't always the best. It's not an ideal environment to develop in. But it has proven itself to work. (I actually thought you had access)
I'm listing the useful scripts seperately so no problem to keep trac of it.

No Ganja I have no access to this
I think the answer is those active tagging will have a number of favourite generic scripts which each provide sufficient flexibility without too much complexity. A list of genuinely useful scripts on the forums maintained by someone would be a great help.

As for how long all the normal challenges take to tag I don't know, though I am (optimistically) trying to get 25% of the UK challenges done over the next week or so.

My experience is that the lua language isn't too bad in the areas it covers and I've seen far worse feedback in other systems - although at times it does make me scratch my head as well.
@vogelbird

Now you have. Wasn't sure if you wanted, but it's not really any harm if you do. It may take some minutes until the added permissions takes effect. I think most documentation can be found on the Tools/Challenges page when the permissions are in effect.
Thanks Ganja
@mole125

Me and lillfiluren did quite a lot of Sweden in a week or so if I remember correct. Though we had a bit of a head start, some challenges was already covered by an older system. Then Target. joined in and did a lot as well. I am not sure about Sweden right now, but around 75% I think. And I would assume that it's hard to get above 80% currently. With some planned methods, maybe 85-90%.

Some history...
First off, we had PHP-checkers that only used the site framework.
Then we added a PHP checker-framework, used only be me and one other.
Then we developed this lua system, version 1, which did not have an online editor, and was far worse in many aspects.
Then we made version 2 (this version), which actually is quite nice. Future versions will mostly cover related things that aren't affecting the development very much.
By the way, there are also technical reasons to why I am a bit restrictive with the config. It may be that we at some point switch part of the database to MySQL Cluseter. Then we want each DB row to be <= 8 kB, and the config is only a part of that row. There is still room to increase it a bit without ruining our chance. But if 4 kB isn't enough, I assume 6 kB won't be enough in the long-run either.
So what you are saying is that I need to set my target higher :D
To be fair we do have 40% more than you so it might take me a little longer!
3 vs 1, so you only need 25% :)

We actually held a "Creating PGC checkers"-workshop at a Mega event in November. Do you think such thing would be attractive to have in UK? I do have some contact with UK Mega Essex 2015, but I haven't asked them. I don't really know the culture around events in UK (also I haven't had the time to actually discuss it).
I've been to a couple in the UK and they do normally have various talks and the like as side events so a creating PGC checkers would likely to be of interest. I'm planning to be there and would be more than happy to give you any help you need at it.
It was actually lillfiluren that held the one in Sweden, after me asking him. I was there assisting though. If we do one in the UK, I will ask him again. He has already pointed out that he wouldn't mind a weekend of geocaching. :) We will see if I get around to it, but I'll tell you if something will happen. Would be nice to meet at the very least.
...