[racket] What about an Racket Artifacts thread?

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue Apr 24 20:57:32 EDT 2012

Historical info and a concern...

There used to be a Scheme Cookbook wiki, which was an effort to build 
something like a Perl cookbook of the time.

It was a good idea in principle, but two of the problems were:

(1) Most cookbook entries should have been "use library package X, the 
introductory documentation of which gives an example that is an exact 
solution to this cookbook item title, and we'll copy&paste that example 
into the cookbook here, so you feel like the cookbook is giving you 
something that you can't get elsewhere even though you can".  (This was 
a little before PLaneT, but people already distributed non-PLaneT ".plt" 
files and individual source code files.)  I think that cookbooks are 
mostly for code patterns that cannot or should not be made reusable 
components, which is a lot more common with a sketchy language like Perl 
(e.g., dirty regex tricks that are not easily made components) than with 
Racket.  Also, general linguistic idioms (e.g., general use for "cond" 
"=>"), while not suitable for reusable components, arguably belongs in 
documentation of core language instruction, not in a cookbook.  That 
doesn't leave much for a cookbook, except to be redundant or inappropriate.

(2) IIRC, at one point, there were some low-quality contributions to the 
cookbook, due to things like someone making a school project of everyone 
having to add something to the cookbook.  The wiki software was annoying 
to use, plus correcting can be socially awkward, and trying to correct 
bad advice was harder than giving better advice in the first place.

A separate consideration to keep in mind when creating any new centers 
of Racket information: we already have Racket information in many 
places, and it's already getting hard to find because of this 
(especially annoying is all the sites mirroring copies of Racket email 
lists, so Googling becomes harder, because of duplicates).  Racket 
documentation set, PLaneT package documentation, documentation not in 
the normal Racket documentation set like draft htdp2e, Racket email 
lists, info on racket-lang.org that's not in the documentation, official 
Racket blogs, Git files that people have started for purposes like lists 
of suggested contributions, misc. blogs (including mine), IRC logs, 
Hacker News, StackOverflow, 2-3 separate categories Reddit, a wealth of 
old stuff on Usenet, potential discussions on social media sites with 
Racket groups like LinkedIn, academic papers...

You already need good Web search to manage this scattered info (see 
aforementioned problem with all these sites archiving our list), and the 
problem simply grows every time someone elects to put Racket information 
in yet another place.  IMHO, Racket is not yet used widely enough to 
explain all this information sprawl as a natural consequence; I think 
some of the sprawl might be fragmenting things unnecessarily.

Sometimes this fragmentation might be because the new place for 
information is meeting a need not yet met.  Sometimes by a desire to go 
to the proprietary venues where pockets of users or potential users 
might be, rather than welcoming them to come to us.  Sometimes to try to 
accommodate everyone's preferences/practices, which might indeed be 
fringe, and we can say, "Hey, look, we mirror this same information 
through all these different channels, so just pick your favorite (just 
don't try a Google search, since most of these duplicates go back to the 
Web at some point)."  Sometimes perhaps not thinking through whether 
putting information in such-and-such particular new place makes it very 
accessible to all the people to whom we want it accessible.  I assume 
that there are other categories.  There may be good reasons for all of 
these, although I assume some are more defensible than others, and that 
we don't know all the pros and cons.

Aside on one factor in fragmentation... Keep in mind the context of 
proprietary sites, many of which essentially are in the business of 
owning slices of community interaction.  They would prefer 100% 
ownership, but if they can't have that, there's fragmentation when they 
grab and hold onto what they can.  This ownership is demonstrably valued 
at billions or trillions of dollars, and so attempts at it are going to 
happen.  We have to remember when we're playing the game with someone 
who wants to own a part of us, and accept the costs of fragmentation 
when we do.

(I'll catch up on reading people's further comments in the next day or 
so.  I had to type this out really fast, since I'm just "on break" from 
a work crunch.)

Neil V.


Posted on the users mailing list.