Tech Support > Computers & Technology > Programming > Looking for programming examples in any programming language
Looking for programming examples in any programming language
Posted by Michael Mol on September 12th, 2007


I run a website called Rosetta Code, where the goal is to enable
comparison and learning of programming languages by seeing how a
programming task is implemented in multiple languages.

I started it back in January as a MediaWiki setup, hoping it would grow
into an encyclopedia of programming knowledge. It never became an
encyclopedia, but it *did* accumulate a hefty amount of code, with 94
tasks solved using 64 programming languages. (Mind you, not all tasks
are solved in all programming languages.)

I've been particularly pleased to see experimental and rare programming
languages like D, E, Seed7 and Toka included, along with contemporary
languages like C, C++, PHP and Ruby, as well as the esoteric Haskell,
LISP (Common and otherwise), Perl and Scheme.

Come by and graze, if you like, but I thirst for more...

Posted by CBFalconer on September 12th, 2007


Michael Mol wrote:
This can be made feasible by supplying the URL involved.

--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>


--
Posted via a free Usenet account from http://www.teranews.com


Posted by jimmaureenrogers@worldnet.att.net on September 12th, 2007


On Sep 11, 8:33 pm, CBFalconer <cbfalco...@yahoo.com> wrote:
http://www.rosettacode.org/wiki/Main_Page

Jim Rogers


Posted by Robert Maas, see http://tinyurl.com/uh3t on September 17th, 2007


I started something like that too, sticking strictly to
applications that can be run on Web servers, using CGI or
equivalent method for submitting encoded form contents to
applications and getting back the next Web page with results and
next form to submit.
<http://www.rawbw.com/~rem/HelloPlus/hellos.html>
<http://www.rawbw.com/~rem/HelloPlus/CookBook/CookTop.html>

My collection demonstrates full form-contents decoding (to a "map",
which is called an "association list" or "associative array" in the
jargon of various programming languages) in six languages:
PHP Perl Lisp C C++ Java
Have you been able to accomplish the same in any of the other 58
languages you cover? Have you succeeded in setting up CGI or other
WebServer applications for any of the 94 tasks you cover?
Would you be willing to convert your many examples to online
CGI-etc. executable examples, so that I can link them from my index?

I don't see where you posted the URL.
A Google search turned up:
<http://www.rosettacode.org/wiki/Main_Page>
Is that the right place?
This site looks familiar. Did I comment on it already a few months ago?

I have a general comment: When writing "how to" examples, I think
input of data from external format should be distinguished from
processing of data after it's already inside the program. Input can
be from each of several kinds of sources (HTML form, GUI form,
stdio, flat-text file, binary file of records, spreadsheet or other
specialized representation, XML file, table in RDBS, etc.), and
there are different methods for input of exactly the same data in
each of those cases. Conflating the input method with the internal
processing method is not good, because either you beg the question
how to input from all but one input means, or you must give N * M
examples showing how to do M tasks using input from each of N input
forms (and all of that for *each* of 64 different programming
language). It's bad enough that you need 94 tasks solved using 64
programming languages, a total of 6016 separate examples, but when
conflated with ten different input methodologies you now need over
60 thousand examples instead of just 6 thousand.

So my suggestion is to clearly separate the data input phase from
the computational phase of each example, and generalize the data
input phase across multiple tasks to avoid duplication of that part
of the examples. For example, how to enter integers/reals/etc. via
html/gui/stdio/spreadsheet/xml/etc. would be covered just once for
each language at the top, then all the task examples would just
assume the data has already been input somehow.

If you really feel the need for "complete" executable applications
for each example, you could write a CGI application to create on
the fly, from some abstract specification, the input procedure for
any desired pattern of input via any desired input methodology in
any particular programming language.
Select language: [menu of 64 items]
Select input methodology: [menu of 10 items]
Task already selected: [Which integer is bigger?]
Abstract data for that task: [N1[integer], N2[integer]]

But even then, in the auto-generated code the input part and the
task part should be clearly separated, making it easy for readers
interested only in the task to simply skip past and ignore the
input part of the code.

As for output of the result of the task, likewise that should be
separate. But that may be easier said than done, for example where
the output is a decision rather than a value. Maybe the best way to
handle this is via an "output callback". You decide at the outset
what to call the various kinds of possible output, as function
names, then the *task* needs to decide which output function to
call. For example, back to that "which number is larger" task:
Input data: [N1[integer], N2[integer]]
Output callbacks: [N1bigger(), N2bigger(), N1N2same()]
Then the *task* for example might be:
Lisp: (cond ((< n1 n2) (n2bigger))
((< n2 n1) (n1bigger))
(t (n1n2same)))
C/java: if (n1 < n2) n2bigger();
else if (n2 < n1) n1bigger();
else n1n2same();

By the way, my "cookbook" project is more concerned with really
primitive tasks, at least at first until those are all finished.
More complicated tasks such as tower of hanoi would come much later
after all the basic stuff is done. See for example how I cover
operations that deal with numbers and booleans, such as comparing
two numbers to produce a boolean:
<http://www.rawbw.com/~rem/HelloPlus/CookBook/Matrix.html#NumBool>

Posted by Michael Mol on September 18th, 2007


Robert Maas, see http://tinyurl.com/uh3t wrote:
Cool. I added them to the list:
http://rosettacode.org/wiki/Help:Similar_Sites

All the code on Rosetta Code is licensed under the GNU Free
Documentation License. I didn't write most of it, and I don't have time
to do much more than maintain the site. (If that...I finally started
having time to look at it again a few weeks ago. There's been a flurry
of activity since then.)

Feel free to do what you want with the code, as long as you respect the
license. :-)

I didn't...I was trying to convince myself I wasn't spamming. But, yes,
rosettacode.org is the correct site.

I've got Google Alerts set up to let me know when the site is mentioned,
and I don't think it's been mentioned on newsgroups. (Outside of when
the URL was in my signature over in comp.os.linux.) It's been mentioned
on a variety of blogs, and I keep getting alerts pointing to a growing
thread over at Perl Monks.

http://perlmonks.org/index.pl?node_id=632023

Early on, I wanted to include something I'd seen on O'Reilly's Books
Online. When I had their Programming Perl book in my bookshelf, there
was an excellent in-page applet that allowed you to test the code. I
can't possibly think of a better way to help someone understand the code
they're learning about than to have it in an in-page applet.

However, I didn't think it was possible to do that for such a broad
range of languages. You've got an excellent approach there, but I'd
have to be careful not to tax my shared hosting account in the case that
someone built bad code. A virtualized solution might work, though. I
wonder if the folks behind the Perl Parrot interpreter have made enough
progress that code could be compiled with Parrot as its target.

It's somewhat ironic that this would be somewhat easier for the esoteric
languages than the popular ones; The people who add and update pages
typically do it because they love their language, or love the challenge.
I expect that this becomes more true with rare languages like E or
Seed7. (The actual creater and maintainer of the Seed7 language adds
code to RC as, I suspect, a way to advocate the language. (Though I
invited him to...) I can't ask for a better endorsement than *that*. :-) )

I don't know that I would want to involve functions in every code
example, but I like the idea of listing input and output variables in
the snippet header.

If you like, go ahead and modify the CookBook link I added to Rosetta
Code. (See above for the URL.) I noticed someone created a page
describing PLEAC. Feel free to do the same. While it tickles me to see
high traffic on my site, I get no advertising revenue from it. I've no
problem with people adding pointers to other educational programming sites.

When I created Rosetta Code, I had a very narrow mental picture of what
I thought it would become. I created it as a wiki, because there was no
way I would have the time, the knowledge, or even the continual interest
to build it up on my own. That, and I really wanted to pick other
peoples' brains.

As the wiki grew, it became clear to me that there were a lot of
ambiguities in my vision. Eventually, the site structure stabilized
into the form it has today. Most of the tasks assume that data being
operated on is already in the local scope. There is at least one task
(User Input) that addresses how to obtain the data from the user.

While I've long known that Rosetta Code's tasks need better
categorization, I've lacked the knowledge to be able to do that while
simultaneously respecting the strengths of all of the languages represented.

...Gah. I can't remember if I had a point in there somewhere. Ah well,
take what you can from my post. :-)

Posted by Robert Maas, see http://tinyurl.com/uh3t on September 19th, 2007


Just a tiny suggestion: Since these are two stages within a single
effort, rather than two independent efforts, it might be better to
include them as a single <li> instead of two separate <li>s. I.e.
currently they display (in lynx, brackets added by me around links):
* [Beyond Hello World]
* [CookBook]
and it'd probably better to show as:
* [Beyond Hello World] including the [CookBook]
The proposed HTML would be (indented more than necessary here):
<li> <a href="http://www.rawbw.com/~rem/HelloPlus/hellos.html"
class="external text"
title="http://www.rawbw.com/~rem/HelloPlus/hellos.html"
rel="nofollow">Beyond Hello World</a> including the
<a href="http://www.rawbw.com/~rem/HelloPlus/CookBook/CookTop.html"
class="external text"
title="http://www.rawbw.com/~rem/HelloPlus/CookBook/CookTop.html"
rel="nofollow">CookBook</a>
</li>

Hmm, I'm curious how that works. I'm thinking of setting up my own
prioritized Web-based alert system and I wonder whether it'd be
possible to feed Google Alerts into my system.
<http://www.google.com/alerts>
Google Alerts are email updates of the latest relevant Google results
(web, news, etc.) based on your choice of query or topic.
Sigh, the only way to interface would be to poll my e-mail on a
regular basis to detect new e-mail from Google Alerts, and *then*
generate an alert via my system. Oh well, for this purpose polling
once or twice per day should be fast enough service. But I wonder,
if my Web site got very popular, how quickly the flood of Google
Alerts would fill up my 1gb Yahoo! Mail account.
Hmm, I did a Google search just now, and neither URL produced even
one match. Do you know how to search for a URL via Google?

Hmm, I thought Java was the only language supported for applets in
the standard Web browsers (Mozilla Firefox, MicroSoft Internet
Explorer, NetScape Navigator/Communicator). Do you know of a sample
applet using Perl that I could try? But note even Java applets
don't work in most places. When I took a course in distributed Java
at De Anza College, only one of the three Web browsers supported
Java applets in the lab, and none of them worked in the
instructor's office so I had to get the instructor to come into the
lab and specifically use the one working browser to demo my
homework assignment. Here in my current apartment complex, Java
applets don't work at all in either of the two browsers available
(Firefox and IE).

I have the same problem here (single user among several hundred on
a Unix shell account). I have to be almost paranoid to avoid "using
too many CPU cycles" in anything I write. So-far the admin hasn't
complained about any of my CGI applications, so I seem to have been
sufficiently cautious.

Can you post a URL that describes this method?

I totally don't believe it'd be possible for Parrot to properly
implement the full semantics of various programming languages
(Common Lisp and Java for example; because of EVAL called from
runtime code, and explicit Class objects, respectively).
IMO You really need to run the code in an actual proper runtime for
the language being demonstrated.

I find it sad that nobody has contributed any code for decoding
HTML form contents except in C and C++. My guess is that none of
those esoteric languages are even capable of accessing Unix shell
variables (to get QUERY_STRING for the GET method, or
CONTENT_LENGTH for the POST method).
Or maybe nobody likes my site, they only like your site,
so they refuse to contribute to mine, sob.

I agree. I only suggested output-callback functions in cases where
the primary output was not a value but a *decision*, a change of
flow. The callback would present some I/O-dependent way of "tracing"
the decision, such as printf("Yes decision"); or printf("No decision");
For cases where the result is a value rather than change of control
flow, of course the piece of code would simply assign a variable,
which is then passed to the I/O-dependent display, such as text in
Web page or text to stdio etc.

For example, the example of telling which number is larger is
actualy two separate actions:
- Comparing the two numbers, to produce a boolean result.
(For 3-way comparison < = > it's a 3-valued result or two booleans.)
- Using that/those boolean(s) to effect flow control to print
different messages in the 2 or 3 cases.
For a standalone complete demo, you seem to prefer conflating those
two operations, and in fact also conflating parsing input and
formatting output too, to make a self-contained demo that does all
of input->compare->controFlow->appropriateOutput. But like I said,
such a demo works only in one of several I/O environments (for
example stdio but not CGI nor GUI nor RDBS nor RMI nor RPC nor
...). If you're going to separate the specific I/O environment from
the innerds of the demo, then IMO you might as well go all the way
and separate the comparison from the flow-control. Any decent
programmer wishing to learn five new languages in a weekend already
understands how a complete program includes all/most elements of
input & calculation & comparison & flowControl & output, hence
would be more interested in "how do I compare two numbers in this
language" rather than "show me a complete program that does more
than I really want and doesn't even work from inside RMI and let me
figure out which tiny part is relevant to my actual needs".

Of course in addition to examples of how to do each single task
within a program, at some point the newbie needs to see a complete
program. For that purpose a simple Hello World plus decoding of
input (CGI or RDBS or stdio or RMI etc.) would suffice, just once
for each language/IO combination, not separately for each task
demo.

Summarizing: For each language/IO combination we need Hello plus
input decoding and output formatting. I've done that for CGI for
six languages and would like help extending that to other
languages.
Others would do likewise for stdio and GUI and RPC and RMI and SQL/RDBC etc.
Then for each language/primitiveTask combination we need examples
of the form:
- List/description of input variables given
- List/description of output variables to be computed
- Code that sets the output variables (usually just a single line of code)
For flow of control tasks, instead have:
- List/description of input variables
- List/description of callbacks to demonstrate which control path was followed
- Code that calls one of output callbacks (usually just a single line of code)
For specialized input-parsing tasks, instead we have:
- Description of input syntax
- List/description of input variables
- Code that sets the input variables
For specialized output-formatting tasks, instead we have:
- List/description of output variables
- Description of output syntax
- Code that generates the output syntax (usually just a single line of code)

I'm a bit shy about modifying somebody else's Web site, except
where I see a clear mistake that I'm sure I can correct quickly,
and even then most of the time I'm too shy to correct the mistake
unless it's egregious.

Also I understand Wiki sites don't allow direct HTML editing, they
use special tokens to implicitly represent HREFs, and I'm not
expert at doing that right, usually trash it horribly whenever I
try to include my own links in my own new Wiki sections, hence
would not at all be comfortable modifying somebody else's Wiki links.

Which pretty much makes it infeasible to include any live demos on
your server, due to very likely chance of somebody deliberately
including malicious code.

I'll have to take a more complete look through your site someday,
in particular to see whether input is indeed usually already in
local scope (and post a complaint whenever it isn't), and to see
how output is handled (whether you implicitly assume that stdio is
always available, which wouldn't be the case in a GUI or RMI
environment, and is always in plain text not HTML or XML format,
which wouldn't be the case in a CGI or SOAP environment), and to
see whether you clearly separate the main task from the
stdio-specific output printing, and to see whether your
input-parsing section deals *only* with plain stdio or includes
other environments such as CGI and GUI and SOAP etc.

If everything is broken down into fundamental pieces, keeping input
collection+parsing separated from calculations separated from tests
separated from control flow separated from output
formatting+presentation, it should in theory be relatively easy to
categorize the micro-tasks. But if several different micro-tasks
are conflated into a full demo application, categorizing may be
impossible to do with logical concistency.
For example, sorting an array, and outputting the resultant array,
are clearly in two clean categories, but a demo that includes doing
the two together, is that more computation or is that more
formatting output? What if sorting is two lines of code, or a
single call to a built-in library routine, but formatting output is
three lines of code or twenty lines of XML?

Back to the problem with Wiki not supporting live demos: In my
Hello Plus site I've solicited people with access to unusual
languages to set up live demos on their own CGI site and provide me
with URLs for live demo itself and display of source code of live
demo, but so-far nobody has contributed even one such example. But
your site seems to be more popular, so maybe if you make a similar
solicitation there, using my site as examples of the kinds of
live-demos and show-source-scripts we'd like, somebody might set up
a demo+source for your site. Or not. Shot in dark, right?

Posted by Michael Mol on September 27th, 2007


Sorry for the extremely late reply...I've been away from a computer
for most of the last week.

On Sep 19, 1:28 pm, rem6...@yahoo.com (Robert Maas, see http://tinyurl.com/uh3t)
wrote:
Change made.

As far as I know, you can't search by URL. Typing in a full URL
actually induces GoogleBot to index the site. Instead, I have an
alert set for the site name.

However, if you wanted to have alerts pumped into your system, you
might consider setting up a box running Sendmail that redirects emails
to a particular address into a shell script. But that's more a
question for another newsgroup.

O'Reilly's site had a Java applet that interpreted and ran Perl code
through what looked like a simulated terminal.

I find it strange that Java doesn't work for you. It's a minor hassle
for me, as I run Ubuntu Linux, and needed to install Sun's (or IBM's )
Java runtime to get it to work. But I haven't had a Windows box give
me real Java headaches since Win95 OSR2.

Drop me an email and I'll see if I can help you through it.

I was Slashdotted early on, and the results weren't pretty. (The
server at Dreamhost crashed twice under the strain, and had a peak
load average of over 160.) If I were to add in-browser code testing
ability, my site popularity would probably go way, way up again.

Just something I thought of. Taking a common virtual machine (like
Java) and using it as a target for multiple languages, as well as as a
target for other virtual machines (like Parrot) that can already run a
large number of languages. I need not point out that a virtual
machine within a virtual machine would be terrifically wasteful;
However, PCs are continually growing faster, and increasingly complex
apps are already being targeted for virtual machines. (.NET, Java,
Flash...)
There's nothing preventing such a runtime from being written in an
interpreted language. Again, that's likely to be slow. More
difficult, though, would be compilers that could run from within the
browser, and hand execution over to to the compiled code. However, if
someone actually wrote it, I'd use it. :-)

Those would be environment variables, which are supported under a
large number of languages. Certainly Java, Perl, PHP and Python, in
addition to C++. And, of course, any decent UNIX shell. E, which, as
I understand it, is built on top of Java, should be able to do it.

Like I said, the stuff on Rosetta Code is under the GNU FDL. Anyone
should be able to use it.

I started a thread at our Village Pump to discuss it and potentially
organize efforts at changing the code snippets across the site.
Though I may have been a bit brief: http://villagepump.rosettacode.org/index.php?topic=3.0

So do it anonymously; Rosetta Code doesn't require people to log in
anymore. (Not since I added CAPTCHAs to ward off bots, anyway.) If
there's something wrong with your changes, someone else will be quick
to fix it, while keeping the spirit of the change.

It's not that they don't allow it. The code (usually) remains intact,
and works like it normally would. Wiki-format code is preferred, as
it makes editing easier for the folks who don't know HTML. But if
someone uses plain HTML, it's no biggie. Someone else could easily go
in and change it to wiki code. If not, no harm done.

However, the format for an external link is fairly simple: [http://url
Text of the link] ... Everything after the URL becomes the text of the
link.

If run on the server, this is very true. I'm still hopeful for a
client-side solution, though.

There are discussion pages tacked on to all of the pages, and people
occasionally post such complaints, or go in and fix them. It works
out over time; The nice thing about a wiki system is that anyone can
come in and fix things up.

It feels like the difference between a demonstration problem and a
homework assignment. Since RC's focus has been towards demonstration,
more complicated tasks are probably best left off. Or thrown in a
"Challenge" category or some such.

I'll have to look into it.


Posted by Robert Maas, see http://tinyurl.com/uh3t on September 30th, 2007


That's what I'd do if I had any money. I don't. Nobody wants to
hire me to write computer software, so I'm unemployed and deep in
debt just for basic living expenses. Basically I can't afford to
even be alive. If you know somebody willing to hire me, please let
me know. See my tiny url for my resume and for info how to send
e-mail that doesn't get mixed with spam.

Ah, mystery resolved.

If you want, you can contact the person in charge of the computer
room to see if she wants Java applets to work or not, and if so
whether she's willing to let you come here and try to diagnose why
they don't work here.

I don't know your e-mail address, and even if you tell me your
address I have no way to know it's really your address. I don't
want to e-mail an innocent third party just because you claim that
person's address is yours. With spammers forging addresses right
and left, and ISP admins paranoid about their users sending
unwanted e-mail to innocent third parties, I can't risk a mistake.

If you're willing to take a chance that the instructions in my Web
site are correct, that I'm ot trying to trick *you* into sending
unwanted e-mail to an innocent third party, you can try contacting
me first.

I don't know what that means, the verb "Slashdot". I'll check
Google to see if anything turns up.
<http://en.wikipedia.org/wiki/Slashdot_effect>
The Slashdot effect is the term given to the phenomenon of a popular
website linking to a smaller site, causing the smaller site to slow
down or even temporarily close due to the increased traffic. The name
stems from the huge influx of web traffic that results from the
technology news site Slashdot linking to underpowered websites. ...
Sites such as Slashdot, Digg, and Fark consist of brief submitted
stories and a self-moderated discussion on each story. The typical
submission introduces a news item or website of interest by linking to
it. In response, large masses of readers tend to simultaneously rush
to view the referenced sites. ...

Let's see if I understand this correctly. There's this large
"standing group" of Slashdot members (like a "standing army",
already assembled and ready for action on a moment's notice), each
checking the Slashdot site on a regular basis to see what the
latest topic is, and whenever a new topic appears everyone who sees
it immediately retrieves the topic of discussion (from another Web
site not affiliated with Slashdot) then posts comments about it
back on the Slashdot site. Is that correct? So the surge of hits on
the referenced site is only temporary from when that site is first
listed on Slashdot until most of the members have already seen the
site and are no longer still requesting pages from it, but still
that temporary surge of accesses is an inconvenience for the
regular users of the referenced site, right?

I suppose it isn't possible for Slashdot to "mirror" the referenced
site, and direct members to view the mirror copy rather than the
original, for example if the referenced site is not just a static
Web page but an active service such as CGI or PHP/MySQL?

Slashdot does not mirror the sites it links to on its own servers, nor
does it endorse a third party solution. Mirroring of content may
constitute a breach of copyright and, in many cases, cause ad revenue
to be lost for the targeted site. The questionable legality of the
practice is one of the primary reasons that Slashdot has not
implemented mirroring.

Aha, my question answered! Ain't WikiPedia wonderful!

But if a site is getting ad revenue from clicks, wouldn't it
benefit from being flooded with accesses? Even if the site is
overloaded to the shut down point, wouldn't the flood of ad revenue
be tens of times more than normal revenue which is more than the
revenue lost when the site goes down, net benefit in profits? Or to
the advertisers have a maximum limit on hourly revenue for clicks,
whereby the start of the surge during the first hour doesn't
generate enough revenue to offset loss of revenue during subsequent
down hour? Or does the surge hit so quickly that there isn't any
time to collect much click-revenue before the server crashes?

On the other hand, anybody who tries to collect money from
advertisers, on a site that can't handle a major load, almost is
asking to be shut down. Like if you want the income, you should
invest in infrastructure to support what it takes handle the
income-maker. Don't expect to get income if you aren't willing to
invest in whatever you need for it.

Meta remark: We learn something new every day on the InterNet.
(Somebody was asking me about that just the other day.)

Do you literally mean IN browser, i.e. client-side scripts such as
applets? Or do you really mean server-side scripts such as CGI? Or
is your remark ambiguous in that regard, either would greatly raise
your site's popularity? I've had server-side scripts on my site for
years and my admin has never once complained that my CGI scripts
are putting too much load on the system, and I don't know whether
it's that almost nobody likes my site, or what.

Can either Java or Parrot fully emulate Common Lisp? (I'm not
asking whether Java or Parrot is Turing complete. I'm asking
whether anybody has actually accomplished writing a Common Lisp
emulator in Java or Parrot. "Can" in the sense of "Can it *today*".)

Yes, I already have all of those except Python in my hello-plus stuff.
% whereis python
python: /usr/local/bin/python /usr/local/man/man1/python.1.gz
OK, so Python *is* available here, so if you know how to do it in
Python then I could include that as a seventh language in my
hello-plus system. Hmm, I just checked, I already have Python
listed up to hello plus one step (non-static output)
<http://www.rawbw.com/~rem/HelloPlus/hellos.html#python1>
which includes a call to os.environ['REMOTE_ADDR'], but don't yet
have hello plus two steps (responsive to user input, i.e. form
content or query string or both). So indeed you are correct,
environment variables *are* easily accessible. I just haven't had
the energy to research how to read standard input (for POST method)
and parse into an associative array (for both GET and POST
methods). Do you know of existing code that already does that, or a
built-in feature like PHP has for pre-loading GET and POST and
COOKIE data into associative arrays before the application-script
even starts? Checking the various online info, I see parse_qs seems
to be the key function I need for the parse itself. Someday maybe
I'll figure out all the other info I need to know to use it.

% man python
python - an interpreted, interactive, object-oriented pro-
gramming language
On the other hand, if it's *only* interpreted, never compiled, then
it can never be as efficient as Common Lisp. Or is the man page
misleading on that point?

<http://villagepump.rosettacode.org/index.php?topic=3.0>
There has been some discussion of snippet structure in a threat on
comp.programming.
Perhaps you mean "thread" instead of "threat"? (blush?)

My only access from home is VT100 dialup into Unix shell, then Lynx
from there, so I have no images, no javascript, etc. Most CAPTCHAs
require images, so I can't see them. What kind of CAPTCHAs do you
use? See my signature below for an example of a plain-text CAPTCHA.


--
Nobody in their right mind likes spammers, nor their automated assistants.
To open an account here, you must demonstrate you're not one of them.
Please spend a few seconds to try to read the text-picture in this box:

/----------------------------------------------------------------------\
| . . . , . . |
| |\/| _.._.*| .._ ._. _ ._ _.*._. __ -+-|_ _ __ _ _.;_/ |
| | |(_][ ||\_|[ ) [ (/,[_)(_]|[ _) | [ )(/, _) (_)(_.| \ * |
| ._| | |
\-----(Rendered by means of <http://www.schnoggo.com/figlet.html>)-----/
\------(original text copy^H^H^H^Hcrappyright 2007 by HipCrime)------/

Then enter your best guess of the text (20-30 chars) into this TextField:
+------------------------------+
| |
+------------------------------+

Posted by Robert Maas, see http://tinyurl.com/uh3t on September 30th, 2007


AFAIK there's no client-side scripting available in lynx via VT100
dialup. And given that different versions of JavaScript are
incompatible, and that Java applets don't work most places, I don't
see any general solution even for people who can afford regular
non-lynx access.

Well it's one thing to fix a definite error, but it's quite another
matter to override the preferences of the owner of the Web site to
convert it to do something completely different from the owner's
wishes. It's likely that my proposed changes would be a drastic
reorganization of the entire site, which I would be reluctant to do
for multiple reasons. And while I might post a comment (complaint)
about some specific place where you violate your own stated goal, I
would be reluctant to massively post complaints all over the place
about every little thing that I would prefer done differently if I
were in charge. I'm willing to offer suggestions to you over the
newsgroup of possible massive changes in organization, but not to
just jump in and start re-doing all your stuff myself.

I take the same attitude with my hello-plus/cookbook site, except I
take a more extreme version of that. I feel the need to demonstrate
every tiny primitive of software in parallel across multiple
languages, and only if that task is all done *then* even begin
anything more advanced such as nontrivial algorithms. Of course
what's nontrivial varies with language. Common Lisp has hash tables
and association lists built-in. Java has all sorts of maps/sets
using hash or tree methods built-in. My tentative plan (on hold due
to lack of energy to do any work at all) is to include every
primitive of every language, including those "advanced" features of
Common Lisp and Java, and to simply state that it'd take
significant code to do these same tasks in the other languages, and
only if somebody volunteers how to do the task in another language
would I link to their example in parallel with my
trivial-to-do-in-Lisp/Java info.


--
Nobody in their right mind likes spammers, nor their automated assistants.
To open an account here, you must demonstrate you're not one of them.
Please spend a few seconds to try to read the text-picture in this box:

/---------------------------------------------------------------------\
| . . , . . . |
| |_/ _ _ ._ . .._ -+-|_ _ _ _ _ _| . , _ ._.;_/ |
| | \(/,(/,[_) (_|[_) | [ )(/, (_](_)(_)(_] \/\/ (_)[ | \ * |
| | | ._| |
\-----(Rendered by means of <http://www.schnoggo.com/figlet.html>)----/

Then enter your best guess of the text (20-30 chars) into this TextField:
+------------------------------+
| |
+------------------------------+


Similar Posts