I'm working on modernizing Rosetta Code's infrastructure. Starting with communications. Please accept this time-limited open invite to RC's Slack.. --Michael Mol (talk) 20:59, 30 May 2020 (UTC)

User:Gerard Schildberger

From Rosetta Code

Gerard Schildberger can be reached at e-mail:     [email protected]


computer programming languages I know   ───   or think I know


Language Proficiency
ACP now decrepit
ALGOL 68 rusted shut
APL wrote two programs, but I can't read them
BASIC good
BASIC (other flavors) so so
BPL (a PL/I subset) one of the authors
C middling
C# less then C
C++ even less then C#
COBOL ok   (I never let anybody know, lest I'd get roped into coding)
DOS batch so-so
Easytrieve meh
EXEC proficient
EXEC2 proficient
FOCUS poor
FORTRAN productive, those were the days
Fortran was good, now rusty
GML pretty good, wrote several CMS tomes in it
GPSS ok, but mostly forgotten
HPL (a PL/I subset) one of the early authors
HTML mostly, monkey see, monkey do
IBM assembler and macros (360, 370) was proficient, now just good
IBM 407 plugboard good enough to get a job when 407s come back
IRAP author
Java poor, but dangerous (gun, foot)
JavaScript see the program below
JCL good
JOVIAL used it thrice
KEXX proficient
Kingston FORTRAN II proficient
Lisp was so-so, but now, not so much
Modula-2 very rusty
MUMPS used in '69, forgot everything
NOMAD poor
PARS now decrepit
Pascal beginner
PL/I good to gooder
QBE defunct, but I liked the concept
REXX proficient
RPG less than ok
SAS ok
Script pretty good
Script/370 good
Script/VS good
Snobol was ok, but non-functional
SQL not so good anymore
Viatron FORTRAN IV was one of the authors


ACP and PARS   ─── I was part of the team that first implemented the Passenger Airline Reservation System for a hotel/motel business   ─── a motel room is just a huge seat (chair) with a bed, alarm clock, TV (color!), ice bucket, and a personal bathroom (tub & shower) with soap, shampoo, and towels,   ···   but doesn't fly anywhere.


APL   ─── still bemuses me.       I once read in "The IBM Journal" on an article on APL that the article's author wrote a 2-line APL program that validated chess moves (except for queening and castling).   He said he could condense the 2-liner into a 1-liner,   but then it would be harder to read.     Funniest thing I ever read in an "IBM Journal" article.


BPL   ─── (Basic Programming Language)   was a Honeywell subset of the PL/I language   (I was one of a dozen or so programmers/authors).


HPL   ─── (Honeywell Programming Language)   was a subset of PL/I   (similar to above)   and was to be used for Honeywell's new computer   (code name unknown)   ───   it was never built, but from what I could glean from the specs, it would have used HPL as it's native [machine] language and seemed to have some of the characteristics of IBM's FS system   (and apparently, suffered the same fate).


IBM 407 plugboard   ─── can't be many of us plugboard programmers left.


Kingston FORTRAN II   ─── (locally called FORTRAN 2.5)   was for the IBM 1620 with a lot of FORTRAN IV capability.   It supported floating point arithmetic even if the (optional) hardware feature for floating point wasn't installed.


Viatron FORTRAN IV   ─── was the FORTRAN compiler for the Viatron home computer (I was one of the CUC authors of the compiler and libraries; CUC was the Computer Usage Company, at that time, the oldest software company in the USA)   and had it's fingers in writing some of the routines for IBM's TSS, which enabled CUC to write the first non─IBM book on writhing/coding assembler for the IBM/360.


I also update the   (English) Wikipedia page for   Rosetta Code   from time to time.




A JavaScript program to present a toggle switch (on a bar) for syntax highlighting:

This will allow you to turn on/off syntax highlighting for any computer programming language entry   (that uses a   <lang xxx>)   on a case by case basis.

The default is   off.

A wide solid bar   (64 characters)   is also presented to make the text   «toggle syntax highlighting»   part of the toggle bar appear at the right of your screen window.

This wide solid bar also makes each computer programming example more clearly separated (differentiated).


Clicking on the text within the     « »     (guillemet) characters toggles the syntax highlighting   on   and   off.


It also appears to render the (complete) Rosetta Code task page faster as it bypasses the syntax highlighting for all computer programming entries.

(function(){
  	    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;
			                                               pre.innerHTML=pre._alt_html;
			                                               pre._alt_html=z;
                                                                      }
	                                   }

 	    function show_toggle() {                                        // the bar below has  64  'db'x  characters.
                                    var xdb = '█████████████████████████████████████████████████████████████████████████'; 
                                    var bar = xdb.concat(' «toggle syntax highlighting»');
		                    var codes = get_code_pres();
		                    for(var i=0;i<codes.length;i++) {
		                                                     var a=document.createElement('a');
		                                                     a.textContent  = bar;
 		                                                     a.style.cursor = 'pointer';
 		                                                        (function(e) {a.addEventListener('click', function() 
                                                                                           { toggle_highlight(e); 
                                                                                           }, false);
		                                                                      e.parentNode.insertBefore(a, e);
		    	                                                             }
                                                                         )   (codes[i]);
 	         	                                             toggle_highlight(codes[i]);
		                                                    }
	                           }
 	    show_toggle();
         }
) 
  ();

(I didn't write the above program,   but I modified the heck out of it.)


To update your preferences,   go to:

 Preferences                                               (tab  which is after your   userName   at the top right of the screen)
   Appearance                                              (tab)
     Skin                                                  (section) 
       Shared CSS/JavaScript for all skins:                (section)
          Custom JavaScript                                (tab)
             Edit                                          (tab)
               (paste the JavaScript program here)
                  Save page                                (tab)
                    (read the notes at the top of the page) 
                                                            
                                                            
                                                               
 Then go to some Rosetta Code task and view the results.
                                                            
 You may have to refresh the cache as per the notes.