Wikibooks:Reading room/Proposals/2013/November

Towards a PlanetMath Books Exchange
Please lend your support to this Individual Engagement Grant meta:Grants:IEG/PlanetMath_Books_Project I've put together with PlanetMath contributor Raymond Puzio. Inspired by the PlanetMath Exchange project, our aim with this proposal is to improve the PlanetMath platform and make it easy to produce mathematics textbooks -- for export to places like Wikibooks. Your endorsement of the grant proposal would mean a lot! And any comments prior to the Sept. 30, 2013 deadline will help us improve the proposal. --Arided (discuss • contribs) 22:33, 27 September 2013 (UTC) I revived this thread with the corrected link. --Whym (discuss • contribs) 07:13, 3 November 2013 (UTC)

SubpageWatchlist
This is an experimental wiki extension just created, with lots of unanswered questions, and steps between here and any hope of deployment on (for example) Wikibooks. It's not as flexible as what I was talking about a few days ago in this discussion at the Technical assistance reading room. Clearly it'd not be trivially easy to pursue. My first question, therefore, is,


 * Would it be of interest to Wikibooks to pursue this?

--Pi zero (discuss • contribs) 20:47, 1 November 2013 (UTC)


 * I think that the Known issues (double dip) needs to be resolved first. One thing that doesn't get mentioned is talk pages and there is where I think it would benefit our project. The lack of visibility is one of the things I dislike on wikimedia as applied to wikibooks and the structure that permits all sub-pages to have independent talk pages reducing the visibility of discussions to those that aren't monitoring all pages of a Wikibook (unless you are the main editor and create most pages, this impairs pretty much everyone in our communal projects). --Panic (discuss • contribs) 23:22, 1 November 2013 (UTC)


 * Perhaps I'm missing something. Would the proposal not solve the talk-page problem?  --Pi zero (discuss • contribs) 03:31, 2 November 2013 (UTC)


 * The watchlist tracks changes to talk pages automatically, so I believe this particular issue would be covered (at least to the extent the talk pages would be watched, though not on a separate list). Duplode (discuss • contribs) 17:26, 2 November 2013 (UTC)


 * In principle, that extension seems helpful. Things to ponder over:
 * The issues mentioned by the author (the open questions about performance; the duplication bug).
 * The all-or-nothing nature of the feature (either you track changes to subpages everywhere or you do it nowhere). Here in Wikibooks often it would not be a problem (as it is reasonable to think of entry pages as shorthand for the entire book); however, I wonder if e.g. vandalism patrollers wanting to watch the entry page on its own would end up with clutter in their watchlists.
 * I assume that subpages at arbitrary depth would be handled as expected, given mw:Help:Subpages.
 * A seemingly less obvious question is whether new subpages would be automatically tracked as well.
 * We would also want to contrast the extension with other approaches. For instance, the page of the extension links to mw:Extension:WatchSubpages which, for better or for worse, is less automatic (it definitely can't handle new subpages, though). I also wonder about the pros and cons of (hypothetical) automated public watchlists when compared to the usual watchlist mechanics. Duplode (discuss • contribs) 17:48, 2 November 2013 (UTC)
 * hi folks. in regards to your bulleted questions: the duplicate issue could probably be dealt with. Performance concerns are a big open question (would need to be brought up with some of the devs who are very familar with how db performance works). To the second point - it is done in a way that users who don't want would be able to disable it. If it really becomes clear that people need a more fine grained approach, that's probably doable (assuming the original performance issue is not one) but at the expense of being quite a bit more complex. To third question, yes. If foo is on your watchlist, it would look for any page starting with the text foo/. To the fourth, yes. All new subpages would be included. The watchlist gets stored exactly as before, it just changes the criteria for an edit to show up on the watchlist. (One consequence of this is that you only "watch" the base page, so the subpages wouldn't have that little blue star filled in when you view the page, and the subpages might still show up on special:unwatchedpages ). Cheers. Bawolff (discuss • contribs) 21:59, 2 November 2013 (UTC)
 * Thank you for the clarifications, Bawolff. In particular, I had not inferred the fourth point behaviour, i.e. the subpages are not first-class members of the watchlist. I guess that is the only sensible way to track new pages, and so the cost in granularity when compared to e.g. mw:Extension:WatchSubpages would be worth paying (not to mention that the stored watchlist would look quite unsightly after having hundreds of subpages indiscriminately dropped into it!) --Duplode (discuss • contribs) 05:32, 4 November 2013 (UTC)
 * A similar tool/change for the page review would also be interesting (and a chance to let reviewers opt out of being asked to review some project name-spaces). --Panic (discuss • contribs) 21:35, 4 November 2013 (UTC)

Wikifiction (In-universe encyclopedia)
Hello. You may be interested in this project proposal; It's been suggested that I mention it here on Wikibooks. --Jakob (Scream about the things I've broken) 17:25, 5 November 2013 (UTC)
 * Quoting one of the critics of your proposal: "This may sound a bit silly but this sounds like a project for wikibooks. You can write all kind of fan guides, including character discriptions there". That is, at minimum, a hasty conclusion. I believe subprojects in the vein of Memory Alpha would fall outside of the Wikibooks scope, not necessarily due to content but certainly due to form. Relevant commentary on the issue:
 * WB:NOTWP ("Wikibooks is not an in-depth encyclopedia on a specific topic nor are pages encyclopedia-formatted articles");
 * The second RfD of Muggles' Guide to Harry Potter (while that is by now an established book, it is not a counter-example - though there is an intersection between your proposal and Wikibooks, it is rather small, as the RfD discussion illustrates).
 * --Duplode (discuss • contribs) 03:37, 6 November 2013 (UTC)
 * It seems worth considering what form might render the idea acceptable, though. We also have Cookbook here; and the precise boundaries of Wikibooks evolve over time.  That nom of the Muggles' Guide was following a shift in policy.  Granted, it's important to avoid poaching on our sister project Wikipedia's territory; hence a need for caution, but, as I say, it's surely worth some careful consideration of how one might avoid poaching, and satisfy our notion of a coherent book.  (I recall someone suggesting, a few years ago, that Wikipedia should really be a book under Wikibooks, like Cookbook; I foresee problems due to policy incompatibilities, such as our lack of AGF, ArbCom, or pervasive wikilinks to Wikipedia, but it's a refreshing alternative to the extreme Wikipedia-centric mindset.)  --Pi zero (discuss • contribs) 04:43, 6 November 2013 (UTC)
 * Indeed, my comment came out as a little too harsh, so I will try to temper it with your reply into something more constructive. I think we agree that fictional universes are, in principle, valid subjects (old guidelines referring to "accredited institutions" and "course materials" are not an issue); and that being part of Wikibooks should impose some restrictions of form to any project. Two questions, then, promptly arise:
 * What exactly should the restrictions be? (A general answer is not necessary; a clarification specific to books about fictional universes should suffice. The Cookbook counter-example is actually quite appropriate here.)
 * Will Jakob and the other supporters of the Wikifiction proposal regard Wikibooks as a good fit for their project, given the restrictions? (Obviously there is no sensible answer to that until we figure out what the restrictions are, and so there is certainly margin for negotiation and evolution.)
 * --Duplode (discuss • contribs) 04:27, 7 November 2013 (UTC)
 * I think that the first step is to clear out the "if it will best fit in any other wikimedia project". I'm not a Wikipedian but for what I've read it seems that even with the mentioned limitations most encyclopedic content seems to fit there, the exceptions is any "textbook material" (that goes beyond educational material) shouldn't be simply enable an aggregation of encyclopedic content. --Panic (discuss • contribs) 04:55, 7 November 2013 (UTC)
 * I gather that the main problem with Wikipedia for the proponents is that w:WP:INUNIVERSE and w:WP:PLOT limit the depth of the coverage of fictional universes. That is reflected in this peculiar declaration of support for the project: "If this project is approved, it could ease the current pressure on Wikipedia with in-universe articles and excessive plot summaries". --Duplode (discuss • contribs) 07:05, 7 November 2013 (UTC)


 * The example of Muggles' Guide to Harry Potter seems to me to clearly illustrate what works. The material is given an overall form, rather than being a disorganized collection of individual pseudo-encylopedic articles, and the result is, in fact, far more useful than a mere collection of articles would be.  Replicate that with any fictional universe, and you're good to go.  --Pi zero (discuss • contribs) 16:55, 7 November 2013 (UTC)
 * This is a very good idea. I would have gone straight to Wikibooks once taking Wikifiction there was proposed, but I was concerned that thousands of books on fictional universes would kind of flood Wikibooks, which only has books. --Jakob (Scream about the things I've broken) 22:45, 7 November 2013 (UTC)
 * Where does the figure thousands come from? Books aren't easy to write.  --Pi zero (discuss • contribs) 02:45, 8 November 2013 (UTC)
 * Yes, but eventually there will be thousands, especially if numerous contributors work on this. --Jakob (Scream about the things I've broken) 12:30, 8 November 2013 (UTC)
 * Sufficient unto the day is the, er, wikitext thereof. --Pi zero (discuss • contribs) 16:09, 8 November 2013 (UTC)

Vertical margin in source code blocks
Under the vanilla Firefox CSS,  blocks have 1em vertical margin (I assume it is set by the browser, as I could not find such a rule in the MediaWiki stylesheets). I propose we add such a margin to GeSHi code blocks as well, as it improves readability quite a bit, specially when there are many short code blocks in quick succession. You can check the effect by comparing the two samples below, adapted from C Programming/Arrays:

If we want an array of six integers (or numbers), we write in C:

For a SIX character array called letters,

and so on.

If we wish to initialize as we declare, we write:

Though when the array is initialized as in this case, the array dimension may be omitted, and the array will be automatically sized to hold the initial data: This is very useful in that the size of the array can be controlled by simply adding or removing initializer elements from the definition without the need to adjust the dimension.

If the dimension is specified, but not all elements in the array are initialized, the remaining elements will contain a value of 0. This is very useful, especially when we have very large arrays.

The above example sets the first value of the array to 245, and the rest to 0.

If we want to access a variable stored in an array, for example with the above declaration, the following code will store a 1 in the variable x

Arrays in C are indexed starting at 0, as opposed to starting at 1. The first element of the array above is point[0]. The index to the last value in the array is the array size minus one. In the example above the subscripts run from 0 through 5. C does not guarantee bounds checking on array accesses. The compiler may not complain about the following (though the best compilers do):

During program execution, an out of bounds array access does not always cause a run time error. Your program may happily continue after retrieving a value from point[-1]. To alleviate indexing problems, the sizeof expression is commonly used when coding loops that process arrays.

Notice in the above example, the size of the array was not explicitly specified. The compiler knows to size it at 5 because of the five values in the initializer list. Adding an additional value to the list will cause it to be sized to six, and because of the sizeof expression in the for loop, the code automatically adjusts to this change. Good programming practice is to declare a variable size , and store the number of elements in the array in it.

If we want an array of six integers (or numbers), we write in C:

For a SIX character array called letters,

and so on.

If we wish to initialize as we declare, we write:

Though when the array is initialized as in this case, the array dimension may be omitted, and the array will be automatically sized to hold the initial data: This is very useful in that the size of the array can be controlled by simply adding or removing initializer elements from the definition without the need to adjust the dimension.

If the dimension is specified, but not all elements in the array are initialized, the remaining elements will contain a value of 0. This is very useful, especially when we have very large arrays.

The above example sets the first value of the array to 245, and the rest to 0.

If we want to access a variable stored in an array, for example with the above declaration, the following code will store a 1 in the variable x

Arrays in C are indexed starting at 0, as opposed to starting at 1. The first element of the array above is point[0]. The index to the last value in the array is the array size minus one. In the example above the subscripts run from 0 through 5. C does not guarantee bounds checking on array accesses. The compiler may not complain about the following (though the best compilers do):

During program execution, an out of bounds array access does not always cause a run time error. Your program may happily continue after retrieving a value from point[-1]. To alleviate indexing problems, the sizeof expression is commonly used when coding loops that process arrays.

Notice in the above example, the size of the array was not explicitly specified. The compiler knows to size it at 5 because of the five values in the initializer list. Adding an additional value to the list will cause it to be sized to six, and because of the sizeof expression in the for loop, the code automatically adjusts to this change. Good programming practice is to declare a variable size , and store the number of elements in the array in it.

Do you find it an improvement? Should we worry about breaking the layout of any existing books or templates? --Duplode (discuss • contribs) 06:46, 17 November 2013 (UTC)


 * imho, fwiw: The above example works better for me without the added margin, because the added margin prevents the inter-paragraph breaks from showing up.  In the first version, the inter-paragraph breaks leap out at me, which I like.  --Pi zero (discuss • contribs) 15:33, 17 November 2013 (UTC)


 * Fair objection. I don't tend to parse code-heavy stretches of text like that; anyway, you have a point. --Duplode (discuss • contribs) 08:01, 19 November 2013 (UTC)

Shouldn’t we borrow wikt:Template:term, wikt:Template:l?
In order to ensure linking and consistent markup for all the linguistics-related textbooks already available (check Category:Languages of Europe, for instance), shouldn’t we borrow the Wiktionary’s and  templates, along with the links Lua module they rely upon? (And possibly also some parts of the languages module.)

My guess is that the only change to the module would be to generate word section  links, instead of the Wiktionary-local  word section  ones.

— Ivan Shmakov (d ▞ c) 07:25, 20 November 2013 (UTC)