User talk:Gerard Schildberger: Difference between revisions
Content added Content deleted
(→Too much text on a page: A picture tells a thousand words, and can reduce a page in size by 100kB) |
(→Request for dialogue: Email response response.) |
||
Line 34: | Line 34: | ||
- Paddy3118.</lang> |
- Paddy3118.</lang> |
||
===My email, and response=== |
|||
Sorry Paddy; at the point where people start sending open letters, I figure it's time I finally take a look. |
|||
<lang email>On Tue, Dec 7, 2010 at 6:21 PM, Gerard Schildberger <GerardS@rrt.net> wrote: |
|||
Michael Mol: |
|||
----- Original Message ----- |
|||
From: "Michael Mol" <mikemol@gmail.com> |
|||
To: "Gerard Schildberger" <GerardS@rrt.net> |
|||
Sent: Tuesday, December 07, 2010 08:53 |
|||
Subject: Rosetta Code, edits and communications |
|||
| Hey, it's me, Short Circuit.[1] |
|||
| |
|||
| I've been the recipient of some rumbles (not just from Paddy) about |
|||
| folks wanting to have a dialog with you in your user talk page[2]. I |
|||
| don't know your reasons for not communicating there, and I usually try |
|||
| to leave the community alone when it comes to on-site activity, but |
|||
| one of my responsibilities is to step in and try to resolve things |
|||
| before they becomes major issues in the community. |
|||
I had tried to use the talk page, but found that it didn't work, so I |
|||
just continued added programs to solve various tasks. It's not |
|||
intuitive why (to me, anyway) why there needs to be a talk page |
|||
when a simple E-mail would suffice. |
|||
Understood. Originally, I think, the "talk" pages were a simple hack by the original MediaWiki/Wikipedia devs to |
|||
provide a public discourse option. (They use the same formatting syntax and logic as any other page.) Primarily |
|||
they get used on pages in the 'Main' namespace, but I suspect it was deemed simpler to enable them across all |
|||
namespaces. I think they generally get used for "front-channel" (where email might be thought of as "back- |
|||
channel"), open communication. |
|||
Personally, I think the Talk namespaces' behavior is a hack, and I'd rather see an NNTP back-end, or at least a |
|||
decently-designed threaded forum. Unfortunately, the more I write and/or add, the more I have to maintain, |
|||
Rosetta Code isn't my bread and butter, and so I work with what I can. |
|||
After all, E-mail gets to me |
|||
directly, and I don't get on the Rosetta Code site that often. Also, |
|||
some people don't interact well in forums, |
|||
Understood. Truth by told, I have two primary ways I keep up with the site. The first is email (the site emails |
|||
me whenever a page on my "Watchlist" is edited. The second is the RSS feed found on the "recent changes" page. |
|||
... if you're a student of newsgroups, then you know of what I speak. Not all discourse |
|||
is benificial. |
|||
Believe me, I understand. I haven't been on newsgroups myself in a while, but some email lists have their problems, too. |
|||
As the founder and owner of the site, I have three primary roles. The first is to make sure the site stays online |
|||
and functioning. (Pay for the hardware, maintain the software). The second is to watch the forum behavior on the |
|||
site, identify trouble spots, and attempt to interpret, moderate and intervene before things flare up and I wind |
|||
up with a community schism on my hands. The third is to keep the site fluid and beneficial to a large cross- |
|||
section of users and audience. |
|||
| To that end, I'd like to offer some advice. |
|||
| |
|||
| First, you should check your user account preferences[3], and supply |
|||
| the server software with your email address. It will happily email you |
|||
| whenever someone wants to talk to you through the wiki software. |
|||
| |
|||
| Second, you should probably reply to messages left in your talk page. |
|||
| I don't know if you've seen them or not (it doesn't seem you provided |
|||
| the server software with your email address, so it's plausible you |
|||
| haven't), but people have left notes in good nature offering ways for |
|||
| you to interact more cleanly with the site structure and software. |
|||
Yes, if fact, that is exactly what happened. I didn't know that I had |
|||
to provide an E-mail address to RC. I have since done that. I didn't |
|||
even know that I had stuff there to read, yet another place to check |
|||
to see if there are messages. |
|||
Completely understood. As far as system configuration, I could require an email address to proceed with sign-up, |
|||
but many folks have privacy concerns about giving their email address out, and wouldn't supply it anyway. It |
|||
happens, and we figure things out as we need to. |
|||
Since I'm writing to you in the same good faith as you are, I would |
|||
like to converse (somehow) about the general nature of quite a few |
|||
of the tasks. |
|||
By all means! I appreciate the interaction. Before I continue reading, however, I'll note that every time I've |
|||
tried to place restriction on the tasks, I discover people find exceptions and ways that make the tasks I've |
|||
written problematic in some fashion. Also, I'm trying to take an explanatory and speculative position, not an |
|||
apologist one; we've got all kinds of room for improvement, and I'm always looking for ways to get the site and |
|||
community functioning more comfortably and smoothly. (See my third role I noted above.) |
|||
Almost all of them assume an ASCII environment (which shouldn't |
|||
automatically be assumed), and many many of the tasks are very |
|||
loosely written and can be interpreted in too many (wrong) ways. |
|||
Understood. It's very difficult to write a task description that speaks to the intent of what the task writer |
|||
wants to expose and explore in the code examples. For tasks I've written, I've found that most hit one of three |
|||
failure cases: |
|||
1) Solutions solve the exact letter of the task without hitting the concept I wanted to explore. |
|||
2) Solutions aren't written because the letter of the task makes incorrect assumptions unnecessary to the concept |
|||
I wanted to explore. |
|||
3) Solutions aren't written because the task is too vague, and people don't know what to do. |
|||
The sequence I've observed to work the best, as far as creation of successful tasks: |
|||
1) Someone creates a task, and uses {{draft task}} instead of {{task}}, to invite people to critique it and add |
|||
some trial solutions. |
|||
2) As people add trial solutions, they'll hit on bugs in the spec |
|||
3) The 'talk' page for the task, and folks get together (usually) in good faith to figure out the best way to |
|||
describe the task to meet the original writer's desires. |
|||
4) The task is refined, and we jump back to step 2. |
|||
5) Eventually people don't see a need to refine the task farther, and the task gets switched from {{draft task}} |
|||
to {{task}}. If I have time, I'll throw a note out to RC's Twitter and Facebook pages announcing the new task. |
|||
Sometimes step 1 is skipped, and the author uses {{task}} instead of {{draft task}}. When that happens, steps 2 |
|||
and onward still occur; it just gets a little rougher. |
|||
Because of this, lots of examples are wrong (but I surely don't want |
|||
to throw a monkey wrench in the works, and slight someone's code, just |
|||
because the problem (task) wasn't stated clearly or even, correctly. |
|||
Understood completely. Not all of the tasks are well-written. Not all of the examples are well-written. |
|||
We have some templates (we call them ENA templates, short for 'examples needing attention') that allow people to |
|||
mark code examples as erroneous or faulty in some fashion. When those templates are used correctly, they |
|||
examples in question get listed on that language's "Unimplemented in X" page under "examples needing attention". |
|||
The templates we have aren't necessarily ideal in their coverage and description. That's another work-in- |
|||
progress, of course. |
|||
While writing this email, though, I had an idea for a flag which could be used to handle potentially incorrect |
|||
code without necessarily carrying a connotation that could be insulting to the original code's author. I'll have |
|||
to give that some more thought. |
|||
A petty case in point, The Amb task. The wording suggests the Amb |
|||
operator takes some number of expressions, and the task is to give |
|||
an example. Quite a few programs assume exactly (only) four sets |
|||
of words, while the intent (I believe) is to code a general Amb operator |
|||
that works on SOME (should say ANY) number of expressions. |
|||
A small but profound difference in the wording. |
|||
The task also assumes that there is only one answer, while in fact, |
|||
the general case may have no or many answers. The task stated to |
|||
find THE answer, and didn't say anything about the posibility of showing |
|||
other answers (if there were any). ... And so it goes. It didn't mention |
|||
if "the" would match up to "Einstein" for example (caseless compariosns), |
|||
or what to do about punctuation (the obvious thing to do would be to ignore |
|||
'em). Yes, yes, I know, there weren't any of those pesky critters... |
|||
I'd encourage you to bring this up on the talk page. It's possible we can deprecate the task and offer a better |
|||
one. Or correct the existing one. When that task was created, I tried (and failed) to understand what Amb was |
|||
about. I'm not that high in math...I've only got an associate's degree, and only got as far as Calc 2. I suspect |
|||
most of what I know about math (beyond Calc 2, anyway), I've absorbed from watching Rosetta Code's community |
|||
provide readable implementations of Wikipedia pages. |
|||
There are so many of these types of loosy-goosy type of definitions/rules that |
|||
caused quite a few examples to not fulfill the requirements, at least, not the |
|||
intent, and since I haven't got a dog in the fight, I feel better if I wouldn't |
|||
throw stones (as least, not in a public forum). Hardly anything comes of |
|||
those fights/discussions, as some people have quite a bit of emotion |
|||
vested in the status quo or already-posted solutions. |
|||
And that's two parts of what I try to be there for. One, to see problems with the status quo and work toward |
|||
fixing them. RC doesn't do anyone any good if it gets stale and crusty, internally or out. Two, to try to keep |
|||
the Rosetta Code wiki community genial and inclusive--we're very domain-focused, Rosetta code is a sort of tower |
|||
of Babel, and there aren't very many people with the skill and interest needed to put the kinds of content on |
|||
the site that it can potentially absorb. It can't afford to be hostile, as a community. Community management is, |
|||
again, one of my two fundamental roles on the site. |
|||
I have plenty of |
|||
other bliss projects that I'm working on at the moment. Bliss projects are |
|||
those that give joy ... |
|||
Understood. Rosetta Code is something of a bliss project for me; I get a warm fuzzy every time I find that it |
|||
contributed some way to the improvement of a language, and every time I find people enjoy using it to improve |
|||
their own skills and understanding. It makes me feel like I'm contributing to the field somehow. |
|||
Since this is Christmas time, I would just wish for some simple, clear, and |
|||
consise difinitions (rules) of the tasks. |
|||
We do what we can. Perhaps some point soon we can come up with some good guidelines for how to build tasks, and |
|||
can go back and verify tasks against those guidelines. |
|||
That, and world peace. .... and |
|||
enough money to pay for the heat ... but I digress. |
|||
I got lucky on that last; dress warm and keep the computers running. :) |
|||
As the old saw goes, be careful of what you ask. Anywhoooose.... |
|||
If I included a "fix this example" thingy in every case like that, well, it |
|||
would be pitchforks and torches time --- and I don't want my castle |
|||
burned down.. |
|||
Understood. |
|||
I've worked in programming for quite a few decades, |
|||
and the number of times I've seen a correctly stated requirement (task) |
|||
can be counted on one hand. Oooooooh, if you had a few more |
|||
hours of reading time... |
|||
You might find a GraphJam I created yesterday to be amusing: |
|||
http://cheezburger.com/shortcircuit6453/lolz/View/4236897280 |
|||
I wish a lot of the tasks wouldn't be so ego-centric. That is a problem |
|||
that should be address, in my humble opinion. Well, maybe next |
|||
Christmas then ... |
|||
| Thanks for all your contributions on the site!Yuppers, I'll continue for a few more examples, unless it |
|||
becomes a royal pain in the neck-hole to continue. So far, the stuff that I've coded is mostly Micky Mouse |
|||
stuff. I'm doing the simple ones that I can bang out in a few minutes. I spend quite a bit of time |
|||
re-working the example to properly present the data (to wit, reading the dataonce, finding the "widest" value, |
|||
and then making the output in a neat columnar format for instance. Another is adding commas for the human |
|||
bean's eyeballs. |
|||
The language that I'm using is REXX, and it doesn't have any of the common trigonometric, geometric, |
|||
statistical, and other higher math functions at all, so I have to write them. That's not a problem, but |
|||
when I want to show a simple solution to something, I have to drag all that other baggage along, and that |
|||
makes some examples a bit ... well, verbose, and hides (if not completely overshadowing) the intent behind |
|||
the example. "C" kinda has the same problem, but it hides it with the INCLUDE statement, so people |
|||
don't see the baggage, but it's there, of course. One problem with REXX (as it's an interpreted |
|||
language), everything is out in the open and you can't hide the dirty linen and soiled clothes. |
|||
Later, 'gator. |
|||
Gerard Schildberger |
|||
Do you mind if I post this email on the wiki in your Talk namespace? It'd be handy for clarifying things (I think |
|||
a few people are annoyed with you), and (on reading it) it should help set a calming tone. It's also the first |
|||
chance I've had in a while for distilling into words my presence on the site. ;) |
|||
-- |
|||
:wq</lang> |
|||
(I got permission to post the reply.) --[[User:Short Circuit|Michael Mol]] 04:11, 8 December 2010 (UTC) |