User talk:Thundergnat

From Rosetta Code

Hi. Nice job on the Perl6 version of Write language name in 3D ASCII !  :-) --Grondilu 19:36, 14 November 2012 (UTC)

Hi Thundergnat.

Regarding the Perl 6 solution of the checking Machin Style formulas. The problem is that the Perl 6 solution uses floating point numbers. The task requires one to use exact computations.

For example:

  is  tan(atan(1/2)+atan(1/3)), 1;

Here atan(1/2) and atan(1/3) produces floating point values.

--Soegaard (talk) 15:31, 1 June 2013 (UTC)

Spam redirect[edit]

(Posted this on Paddy's page a while back but he doesn't seem to be around atm, maybe you'd like to have a look at it.)

Just found the following redirect. It seems to refer to a software company. Fwend (talk) 19:00, 26 February 2016 (UTC)

Not spam exactly. More confusion on the part of a new user. As far I as I can determine, CalmoSoft is a person, not a company. That was Calmosofts first contribution to the site, (the first of many) and an overly specific page description was entered. While it wasn't well planned, I don't think it was malicious. That being said, you are probably right, that page probably should be removed at this point. --Thundergnat (talk) 20:50, 19 March 2016 (UTC)

massive changes to Heronian triangles[edit]

Many many thanks for reverting the massive (and damaging) changes to the Rosetta Code task:   Heronian triangles.

I didn't want to start an editing war on the task's preamble, but I couldn't let the damaging and negatory changes to the two REXX language's entries, as well as their prologues and epilogues.

As an aside, it was nice to get the Ring programming entry back from the graveyard after being eighty-sixed.

I did, however, sent a rather lengthy thingy to Paddy   (user Paddy3118, the original author of the task);   you should be able to read Paddy's discussion page for what I did, and I tried to explain some of my reasons for my complaint.

The revert you did of the massive changes didn't revert my latest trivial changes.   I guess Rosetta Code's (or Wiki's) reversion process works better than we hoped.

From now on, I'm going to have to keep a copy of my (REXX'es) prologues and/or epilogues.   I always keep a backup copy of each of the REXX programs, but I don't bother with the extraneous text(s).   I had never thought that people would be butchering my comments of my REXX programs,   ... but there ya have it.

Again, many thanks for your actions.   -- Gerard Schildberger (talk) 23:42, 8 July 2016 (UTC)

I really doubt that the change was malicious, and certainly not targeted at the REXX entry. It looked to me like he (I assume he) was looking at an earlier version of the page, made some edits to it and saved it without realizing the implications. It wasn't only the REXX and Ring entries affected; The ALGOL 68, ALGOL W, AutoHotkey, CoffeeScript, EchoLisp, Elixir, Fortran, FreeBASIC, Go, JavaScript ES5, Julia, Kotlin, Lua, Pascal, Phix, R, REXX 2nd version, Ring, Scala, Sidef and Tcl entries were deleted completely and several other implementation had edits rolled back.

I hope you don't think that I implied it was malicious, just damaging   (which required a bit of work to re-instate essential "by hand" and viewing the before and after screens, which are a royal pain in the ole neckhole for cut 'n paste). --- I didn't dare to revert such a massive change (having used up my silver bullets long ago).   I had no idea that so many others programming entries were deleted completely.   -- Gerard Schildberger (talk) 05:01, 9 July 2016 (UTC)

For what it is worth, if you notice such a large scale destructive edit in the future, don't try to fix it piecemeal, bring it to my or one of the other admins attention and we can roll back / undo the edit with one click. However, we can only easily roll back the last edit without higher permissions, so once further edits have been made to the page it becomes much more tedious. I generally try to check the recent changes page at least 4-5 times a day to catch spam and unintended edits before they get out of hand. I can't be here all the time though. Cheers --Thundergnat (talk) 00:28, 9 July 2016 (UTC)
Will do.   I didn't try to fix the massive changes, I only tried to fix the (two REXX) entries that I authored; that way, if it didn't get rolled back, at least I corrected what I could.   -- Gerard Schildberger (talk) 05:01, 9 July 2016 (UTC)
After a cursory investigation, it looks like it had been reverted to the 17:52 13 March 2015 version of the page, which tellingly is exactly the same size.--Thundergnat (talk) 00:53, 9 July 2016 (UTC)

For what it's worth department:

Perusing around some odd and dusty corners of the ole Google-net, ... er, I mean internet,   I came across several negative comments about the various tasks (and formats) concerning the Rosetta Code website;   some of the negatory statements were complaining about the loosey-goosey task definitions (and the various flavors on how the tasks/problems are presented --- that is, not having a more strict format, or even not having a common format),   and also that the task requirements are   "all over the place"   and most requirements aren't rigorous enough, and/or some such words to that effect,   and other minor complaints.   That's why I argue about people using   number   instead of   integer   and the like.   I don't believe I've ever won any of those changes   (some task author defend their original wording as if their first born's life depended on it).

To that end, I've been making minor changes   (I assume you or others may have noticed)   to some   (well, OK, OK, a not small number of)   Rosetta Code task's preambles,   mostly in the manner of:

  •   trying to have each task contain a   ;Task:   section header --- this is more dangerous than ya think
  •   changing   ;C.f.:   to   ;Related tasks:   whenever noticed
  •   changing   See also   to   ;See also:   section headers
  •   using a larger font for most mathematical formulae,   especially when:
  •   Greek symbols are used
  •   sub- and/or superscripts are used
  •   when other hard-to-read glyphs are used
  •   removing pronouns from the preamble:   ... Your task is to ...
  •   removing superfluous wording:   ... The purpose of this task is to ...
  •   more use of highlighted numbers and variable names instead of:   ... where "x" is equal to b or c and ...
  •   more use of bullet points (either plain or numbered) instead of long comma-separated continuous lists
  •   separating all the multiple   [[xxx]]   and   {{yyy}}   thingys into distinct lines
  •   adding whitespace for visual fidelity
  •   adding whitespace where it makes the reading of the text easier, and adds fluidity to your perusing
  •   adding whitespace before the first text, this ensures that the (above) stuff won't be abutted with the task preamble
  •   adding whitespace before the TOC (table-of-contents)

... Regarding this last bullet, this has become a concern   (in my mind)   ever since the last major Wiki's upgrade.   Previously, the TOC (on my screen, using FireFox, FireFox Aurora, and/or Microsoft's Internet Explorer),   the list in the TOC was always a very light blue.   Now the TOC list is white,   with nothing distinguishing it from the regular (the background, so to speak)   Rosetta Code task preamble.

It was this "sameness" that prompted me to add more whitespace before most TOC's to make it easier to find the TOC when scrolling.   The best of all worlds would be to have the "old" very light blue color reinstated somehow.   I have no idea where to change the TOC list color, but I'm sure it's possible.
By the way, that very light blue is the same color as the "box" for the   <lang xxx>   thingy.

I would like to add much more thingys   (er, I mean   Related tasks)   for a lot of Rosetta Code tasks, but that's 'nother kettle of fish.   (I used to do this kind of documentation for a living for quite a few years --- and most programmers get quite territorial about "their" wording (documentation) and don't take lightly to improvements and/or changes --- no-siree bob).   Some tasks already have a template, but I don't think I have the proper authority or permission to update those templates, and even add one, for that matter.   Primes are one such "category".   There are many others.   It helps curious people to find other   birds-of-a-feather,   especially if they don't know the wording to use to perform searches for (maybe) obscure (or hard to define) algorithms or procedures.

There has been some kickback here and there (reverts, but mostly deletions), and when it happens, I don't push it further, as I've said, I've used up my silver bullets earlier.   I also like to add appropriate JPEGs to a task's preamble,   but several have been deleted by one person, even though those images on the right-side of the preamble don't use up real estate on the preamble part of the Rosetta Code task.   Ya can lead a horse to water, but ya can't push a rope.   One guy (same as above) is reverting more than a few of my preamble changes, so if it gets worse, I'll probably just fade away from further changes.   No sense in wasting time if I try to make improvements to some task's preambles if it ruffles his feathers   (or steps on his toes).   Sometimes it feels like pushing a chain uphill. -- Gerard Schildberger (talk) 05:01, 9 July 2016 (UTC)

Heronian triangles[edit]

Thank you for finding and correcting my edit on Heronian triangles! I have no idea what happened, but I certainly didn't mean to delete half the page. (I only happened across it just now.)

CRGreathouse (talk) 15:05, 26 August 2016 (UTC)

No long term harm done. It wasn't too difficult to recover. Cheers. --Thundergnat (talk) 19:00, 26 August 2016 (UTC)

Uploading photos[edit]

Is there a trick to uploading photos? The photo shows in the preview and all seems okay until I try to upload and get the following warning:

Upload warning Could not read or write file "mwstore://local-backend/local-public/a/a7/Futurebasic_logo.jpg" due to insufficient permissions or missing directories/containers. Could not store file "/tmp/phpwWtwYV" at "mwstore://local-backend/local-public/a/a7/Futurebasic_logo.jpg". Could not delete lock file for "mwstore://local-backend/local-public/archive/a/a7". Could not delete lock file for "mwstore://local-backend/local-public/a/a7". Could not delete lock file for "mwstore://local-backend/local-public/archive/a/a7/20160829132005!Futurebasic_logo.jpg".

Still finding my way around here, and am not even sure this is the correct way to ask for assistance, so please bear with me.

--KenS (talk) 01:25, 29 August 2016 (UTC)

It appears that image uploads have been blocked since late May ~ early June 2016, not just for you, for everyone. I really don't have much more information about it than that. I believe the block to be intentional, I seem to remember Short Circuit saying something about problems with malicious image uploads (though I can't find where that might have been) and I haven't heard any time-frame of when they may be re-enabled.
Really, despite being an "admin", I have little more little more control over or knowledge of the inner workings of the site than you. A more appropriate title for me might be "janitor". ;-) I have the power to remove messes, but that's about it. Sorry. --Thundergnat (talk) 15:21, 29 August 2016 (UTC)

using of intermediate variables[edit]

Concerning the Rosetta Code task   Sorting three variables,   in the last comment of the section header for Perl 6, you noted:

 Note that this example is awkward and verbose to comply with the task requirement to use a bunch of intermediate variables.

Where did you see a task requirement   to use a bunch of intermediate variables?

The (one) algorithm shown in the task s preamble notes that it   could be   used and wasn't suggesting that it should be used.

If your assertion is correct, do you have a remedy (or improvement) for better wording in the task's requirements?
-- Gerard Schildberger (talk) 19:59, 30 April 2017 (UTC)

Quote:|Sort (the values of) three variables (X, Y, and Z)| Seems to me that says use three variables. For something like this, in Perl 6 normally I'd just assign three values to an anonymous array and sort that, E.G. say [9 7.7444e4 -12].sort. The task could just say "sort three numeric values by magnitude and three string values in some lexical order" without really delving into how the values are stored or accessed. Once it specifies variables and especially numbers of variables, it is adding constraints that in this case have little to do with the main task.--Thundergnat (talk) 20:55, 30 April 2017 (UTC)
Yes, your first statement (above) is dead on, use three variables X, Y, and Z.   I intentional didn't specify (just) three values.   However, those aren't intermediate variables, they are the primary variables   (that contain the original defined values).   The original question is where did you see the mention of   intermediate variables   in the task's requirements?
As an aside, I don't recall seeing the phrase   sort numeric values by magnitude   in any other Rosetta Code sorting task, I assumed that that's what sorting does (when sorting numbers).
As for delving into how the values are stored, some computer language store numbers in different formats/methods, depending on what format (or kind of) the number is, so I tried to make allowances for those languages in the wording of the task.   I was trying to be generic (and inclusive) as possible.
In addressing the main task itself, the specific mention of sorting three variables is crucial to the task;   it is an old and well-known programming topic of discussion elsewhere.   Knowing that some programming languages don't care what is stored in a variable, and other language have very particular syntactic rules (casting or typing?) about their construct (that is, how the data is stored --- floating point vs. integer for instance),   I tried not to exclude some (well, probably most) programming languages via the task's wording.   -- Gerard Schildberger (talk) 21:35, 30 April 2017 (UTC)

moving of REXX routines[edit]

Are you checking to see if all the pages that refer to those REXX routines (links) are still working?   -- Gerard Schildberger (talk) 00:00, 7 September 2017 (UTC)

Nope. I am not changing the location just the classification. If you go to the REXX page and look under subcategories you'll see the link for Category:REXX_library_routines. Now they are all identified as to what they are so they are not as likely to be deleted as 'orphaned' or 'unused' and have a centralized link index for easy access, but are still at the same address so previous links still work the same. --Thundergnat (talk) 00:12, 7 September 2017 (UTC)
Thanks for all your time and work.   I checked a few of the Rosetta Code pages that used the links, and they all work.   I'm not sure which one of my REXX entries that previously failed, but I will try to hunt that one down and check it out.   Also, I think the wording you added was very succinct and perfectly stated   (about why the REXX routines where stored this way and such).   -- Gerard Schildberger (talk) 00:19, 7 September 2017 (UTC)
Followup.   I found that rogue page that previously has a failing link to   $T.REX.
It now works as advertized.   Thanks again for whatever ya did to make the link work again.   -- Gerard Schildberger (talk) 00:26, 7 September 2017 (UTC)

problems with Rosetta Code CAPTCHA and/or "Shared CSS/JavaScript for all skins"[edit]

Today, around 1630 my time, all of my viewing of every (or any) Rosetta Code tasks (of any flavor) no longer honors my JS (Java script) for all skins (I was, of course, logged in):

Username  (Gerard Schildberger)
Chameleon  (or Vector, both aren't working) 
Shared CSS/JavaScript for all skins
Custom JavaScript

that I had previously entered (it allowed me to toggle the highlighting [ON or OFF, with the default of OFF].   I tweaked the JavaScript (that was created by some JavaScript expert and posted here [somewhere] on Rosetta Code a few years back) such that a long (solid) bar is pre-pended to the toggle so that is makes a handy-dandy eyeball fence, allowing more visual fidelity and creates a good eye-catcher.

The failing (of the JavaScript) came out of the blue, I hadn't changed anything in my "Preferences" for quite some time.

When I went to re-save it (thinking that may do the trick), I got the message (in red):

To protect the wiki against automated page creation, we kindly ask you to solve the following CAPTCHA: 

BUT ... no CAPTCHA appeared, and I was then in some manner of limbo --- no way to save it (successfully).   If I tried to save it again, I just got the same (red) message, but CAPTCHA (usually it used to be something of the sort like "I am not a robot").   I could (and did) leave the page un-saved by closing the window (and at another time, just navigated to another Rosetta Code page).   I have re-booted in an attempt to flush all the buffers and what-not, but the same thing happens.

Is something happening to Rosetta Code, and will time fix this problem on its own?

Next question, are you a/the person to ask, or should I ask someone else?   -- Gerard Schildberger (talk) 22:15, 12 September 2017 (UTC)

For what it is worth, it seemed like there was a problem with javascript on the site for me earlier too. I took the view of "Meh, I can live without javascript for right now, see if it's still a problem later." And at this point it seems to be working again for me. As to what went wrong, why, and what may have changed to fix it; your guess is as good (possibly better) than mine. --Thundergnat (talk) 01:09, 13 September 2017 (UTC)
Well, the JavaScript "toggle highlighting" thingy is again working.   As you said (or inferred), it's working now, so I guess we'll never know what the hiccup was.   That CAPTCHA thing was also weird.   But, all's well that ends well.   I certainly thought that there was something seriously amiss in Rosetta Code land.   -- Gerard Schildberger (talk) 02:56, 13 September 2017 (UTC)

In case you can't see it or have trouble getting to it, here is the code:

function get_code_pres() {
var pres = document.getElementsByTagName('pre');
var codes = [];
for(var i=0;i<pres.length;i++)
if(pres[i].className.match(/\bhighlighted_source\b/)) codes.push(pres[i]);
return codes;
function toggle_highlight(pre) {
if(pre._alt_html == null) {
pre._alt_html = pre.innerHTML;
var spans = pre.getElementsByTagName('span');
for(var i=0;i<spans.length;i++) spans[i].className = '';
else {var z=pre.innerHTML;
function show_toggle() { // the bar below has 61 'db'x characters.
var xdb = '███████████████████████████████████████████████████████████████████████';
var bar = xdb.concat(' «toggle highlighting»');
var codes = get_code_pres();
for(var i=0;i<codes.length;i++) {
var a=document.createElement('a');
a.textContent = bar; = 'pointer';
(function(e) {a.addEventListener('click', function() { toggle_highlight(e); }, false);
e.parentNode.insertBefore(a, e);
} ) (codes[i]);
} ) ();

I tried to align (with indentations) what I could understand so I could follow the logic better.   I also re-named some function names.

For what it's worth, the solid bar shows up as blue on Rosetta Code task/draft pages.   -- Gerard Schildberger (talk) 22:15, 12 September 2017 (UTC)

erasing an erroneously created Rosetta Code task[edit]

The deletion of the just recently "deletion" of an erroneously created Rosetta Code task did not, in fact, delete it.
The erroneous (or bad URL link to it in the Rosetta Code task   Eertree)   now shows up as a "good" (valid) URL (link), and nobody will now see the error that I originally saw in the   Eertree   task.

It needs to be completely (if that is what I mean) deleted, ... that is, with no stub left behind.   Either that, or somebody should fix the original error   (a bad URL in the 2nd sentence of the   Eertree   Rosetta Code task's preamble.
-- Gerard Schildberger (talk) 23:02, 13 October 2017 (UTC)

I... uh... can't parse that first sentence at all.
When I clicked on that bad URL, it still got me to the deleted page.   It no longer does. &nbsp -- Gerard Schildberger (talk) 03:35, 14 October 2017 (UTC)
"or somebody should fix the original error"
Don't forget, you're somebody too! Those were probably intended to be wikipedia links. I'll seize the initiative and make them so. --Thundergnat (talk) 23:27, 13 October 2017 (UTC)
When I clicked on that bad URL, it still got me to the deleted page.   It no longer does.   -- Gerard Schildberger (talk) 03:35, 14 October 2017 (UTC)
As to the phrase,   I'm somebody too,   ... yes, I am, but I didn't know that it was meant to refer to a Wikipedia page, not a Rosetta Code page   (as it was for the other link in the same sentence).   If I knew where the error was, I would've fixed it myself.   But, at least I raised attention to the error rather than just ignoring it, and the problem (bad URL) got fixed.   (albeit that inadvertently created a new task instead of a new discussion entry). -- Gerard Schildberger (talk) 03:35, 14 October 2017 (UTC)

entering language stubs[edit]

I noticed that you are adding computer programming language stubs for various languages.   Perhaps you've noticed, there's been some new additions for the language(s):


It looks like an attempt to use/specifiy three versions of nroff, TROFF, and ROFF (or roff).   I'm not quite sure of the various capitalizations.

There've been quite a few entries, but so far, there is no programming language stub.   I don't know what the official names of those (three?) languages (dialects?) are, but it would be a good thing to agree how to have a name for these (three?) computer programming languages, or agree to have a generic/common name for the three.   -- Gerard Schildberger (talk) 12:32, 4 December 2017 (UTC)

Rosetta Code spelling of the Déjà Vu programming language[edit]

Also, you may want to read the discussion (last entry on my user page) concerning the universal misspelling of the   Déjà Vu   programming language on Rosetta Code.   All of the misspellings (over 100 total) have the language as:   Déjá Vu.   Is this issue worthy of being addressed and/or corrected?   -- Gerard Schildberger (talk) 12:32, 4 December 2017 (UTC)

About some page deletion on march 8th[edit]


This one seems to have escaped the deletion: Widr. Should be in userland I guess. Eoraptor (talk) 21:38, 10 March 2018 (UTC)

Ah. Right. On it. Thanks. --Thundergnat (talk) 22:17, 10 March 2018 (UTC)

Problem with GPL code inserted in RC and translated in other languages[edit]


In case you have any idea of what to do with this mess: Talk:P-value correction#License problem.

The problem comes from this: the task creator inserted R source code from the official distribution, which as can be checked in the actual file (R-3.4.3/src/library/stats/R/p.adjust.R in the tarball), has GPL license. Most other language in this task are translation of this R code, or translations of translations. Thus, they are ALL covered by GPL. It's a bit annoying since the GFDL and GPL are incompatible, and RC contributors are supposed to distribute code under GFDL.

Eoraptor (talk) 11:23, 14 March 2018 (UTC)

Ugh. What a can of worms. At this point, the changes you made (notices of GPL licensed code) is probably our best option other than removing the task. Sorry I don't have a more concrete answer; I'm basically just a janitor.--Thundergnat (talk) 22:10, 15 March 2018 (UTC)
Thanks, and no problem. At least I'm happy we agree on the solution. Eoraptor (talk) 07:28, 16 March 2018 (UTC)

Perl 6 code review[edit]

I think it's great that you're doing a thorough review of the Perl 6 code. Anyone looking at Perl 6 for the first time is bound find broken code discouraging/annoying, so best-foot-forward is important. In particular, I think making it easy to copy/paste whole examples with runnable code is valuable, to encourage experimentation. This is why I first came to Rosetta Code (but upon discovering bit-rot, I decided that debugging code would be a good way to learn). Ultimately, I stumbled into a project that complements what you're doing. Off and on since late 2015 I've been building up a local copy of Perl 6 tasks from Rosetta Code, instrumented for regression testing (which I run daily for MoarVM, for JVM occasionally). Tracking all revisions to the Perl 6 code as well. The pace of your recent edits is not doing my RSI any favors, but I'm trying to keep up...

The manglement I end up doing makes the code unsuitable for displaying directly on RC (though I do update the site with any functional revisions). It's not "done", but it's pretty far along. Real Soon Now I'm going to push it all onto github, come up with some sort of decent front-end for the summary. For now, here's the current status of my test suite, in its full ASCII glory: task status

Hi SqrtNegInf, Thanks for YOUR efforts too. Sorry about the gigantic dump of minor changes over the past week. I've been working on implementing a Perl 6 Rosetta Code/Run examples implementation and have been battling it for a week or so. I've gotten to the point where it will download every/any implemented task, pull out the code inside <lang perl6></lang> sections and run it. The code runner has a configurable 'skip' function to skip trying to run blocks I know are going to fail: code fragments, code trying to do things not allowed, whatever. After this past week, I have made a full pass through the implemented tasks. I've unified the <lang *> markup to the official version (<lang perl6>), combined blocks to make runnable code wherever possible and included referenced code to make runnable code blocks. As I've found broken tasks, I've either fixed them, or at least marked them as broken until I have a little more time / energy. It still doesn't check for correctness, but it's a start.
I still want to implement a "resource" folder to supply needed resources for various tasks. "unixdict.txt" for Anagrams, Deranged/Anagrams/Textonyms/etc., the various text files for the Text Processing tasks, whatever needs a resource file. At some point, I want to look into automatically detecting and installing needed modules, and capture output and compare it to output in the {{out}} blocks to see if they are returning the expected output.
It still isn't ready for prime time but if you want to take a peek at it, I could put a copy up on github or somewhere.--Thundergnat (talk) 22:29, 10 April 2018 (UTC)
Very interesting (and ambitious!). Yes, if not a lot of trouble, I am curious to see your code, particularly the source filtering. Anything that would enable more efficient processing of tasks would be welcome (especially if I extend my scope to include Perl 5). Likewise, I will make my setup public; might be helpful to you when you get to the "correctness" phase of your project. --SqrtNegInf (talk) 17:56, 12 April 2018 (UTC)
Keep in mind that this is still early stages. RC-run.tar.bz2 Extract this somewhere where you can run perl6. This has the script, a folder "./rc" and a folder inside that, "./rc/resources". Run it from the directory the script is located in. Each task will have a directory made under ./rc and the perl6 entry and code blocks will be put in that directory. If files are required, they will automatically be loaded from the .rc/resources directory (if available), then each code block will be run depending on the options in the resources hash. Note that there is still quite a bit of configuration to do in the resource hash yet. I probably only have 40-50% of the options I eventually want implemented. --Thundergnat (talk) 22:21, 12 April 2018 (UTC)
The task example is up and the files are now available in their own repository: rc-run --Thundergnat (talk) 23:23, 15 April 2018 (UTC)
Was just having a look at it, and so far everything works fine for me (this is on Mac OS X). Among other benefits: I can use this to verify my own RC updates; recently I've seen tasks where you've had to fix editing mistakes I've made... --SqrtNegInf (talk) 23:46, 15 April 2018 (UTC)