Wikibooks enwikibooks https://en.wikibooks.org/wiki/Main_Page MediaWiki 1.44.0-wmf.2 first-letter Media Special Talk User User talk Wikibooks Wikibooks talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Cookbook Cookbook talk Transwiki Transwiki talk Wikijunior Wikijunior talk Subject Subject talk TimedText TimedText talk Module Module talk Wikibooks:Requests for deletion 4 385 4444301 4444270 2024-11-10T15:56:34Z Виктор Пинчук 3291001 /* Several pages in Hobo tourism and Hobo travel journalism */ 4444301 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{Requests for deletion/Archives}} {{Requests for deletion/Using Template:Icon}} {{clear}} = Undeletion = {{shortcut|WB:RFU}} {{Requests for deletion/New undeletion}} {{Requests for deletion/Undeletion intro}} ==[[City Of Heroes]]== {{closed|Was undeleted —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:39, 17 August 2024 (UTC)}} A book that was deleted when strategy guides were not allowed. See discussion -<span style="background:yellow;>User:Slava Ukraini Heroyam Slava 123 <span style="color:blue span> 17:13, 12 November 2022 (UTC)</span></span> :This book was deleted about 16 years ago and only one page had a significant amount of content. It could all be undeleted but would probably be better re-made from scratch.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 01:34, 11 August 2023 (UTC) ::'''Undeleted it''' with many first-level subpages. Yet [[City Of Heroes/Archetypes]], [[City Of Heroes/Powers]], [[City Of Heroes/General Help]], [[City Of Heroes/Enhancements]], [[City Of Heroes/Binds]] and [[City Of Heroes/Badges]] have even more subpages to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:50, 19 August 2023 (UTC) :::'''Undeleted''' many subpages of the above subpages, less obviously useless versions. Yet any administrators are hereby advised to check [[Special:Undelete]] for more to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 21:52, 21 August 2023 (UTC) :Remaking this content from scratch might be difficult - the game shut down in 2012. There's a small community of users running private servers based on leaked source code (!), but far fewer than when the game was active. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:55, 26 August 2023 (UTC) {{end closed}} == [[Mass undeletion of books that were deleted when strategy guides were not allowed.]]== {{closed|Not done —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:40, 17 August 2024 (UTC)}} Couldn't we just mass undelete these books? [[User:Garfieldcat1978|Garfieldcat1978]] ([[User talk:Garfieldcat1978|discuss]] • [[Special:Contributions/Garfieldcat1978|contribs]]) 18:25, 20 February 2023 (UTC) Letting bot archive as needed. :Listing which works would be much better.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:51, 19 August 2023 (UTC) {{end closed}} = Deletion = {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} {{clear}} <!-- New nominations go at the bottom of page --> == [[Dynamical Systems]] == This seems to be abandoned book, the only content is largly vacuous. I don't believe it is likely to be extended or worked on because it is both a technical topic, and represents to original author's goals for such a book (graduate level vs undergraduate). [[User:Thenub314|Thenub]][[Special:Contributions/Thenub314|314]] ([[User talk:Thenub314|talk]]) 20:46, 23 February 2023 (UTC) :It does seem abandoned; the single existing page hasn't been updated since 2018 and the main book page hasn't been updated since 2019. Unless someone quickly decides to pick up on it, I can't really see it staying here at Wikibooks :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 24 February 2023 (UTC) ::Hello there, ::currently I'm working over at the German page, because I have begun to work with a new, more intuitive terminology. My current plan is to first finish the German version and then possibly to translate it. To finish the German version will take at least until the end of this year. Until then, you shouldn't expect any progress. Afterwards, I may feel inclined to pick up the project, depending on my human rights situation. --[[User:Mathmensch|Mathmensch]] ([[User talk:Mathmensch|discuss]] • [[Special:Contributions/Mathmensch|contribs]]) 09:26, 8 April 2023 (UTC) * '''Delete'''. While this is a stub and we should not deleted them the content present is extremely limited and by the reply above it is duplicated in another language project with the intention of migration here later. Since it also occupies a topic space name it also becomes a blocker to other similar works. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:26, 7 November 2024 (UTC) == Files from [[Illustrated Guide to the world of Spira (FFX and FFX-2)]] == {{closed|1=Deleted for lack of a valid NFCC. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:34, 24 October 2024 (UTC)}} Used for decorative, not educational, purposes: [[:File:Float 13.jpg]], [[:File:Grabbed Frame 15.jpg]], [[:File:Gandof.jpg]], [[:File:Ohalland.jpg]], [[:File:Braskascan1.jpg]], [[:File:Tidus FFX.png]] ([[WB:NFCC]]#8). — Ирука<sup>[[user:Iruka13|13]]</sup> 13:54, 17 July 2023 (UTC) :Sure, I think I can agree on the removal of these [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 12:24, 22 July 2023 (UTC) {{end closed}} == Various pages in [[Basics of fine-art photography]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:38, 24 October 2024 (UTC)}} The following pages in [[Basics of fine-art photography]] seem out of scope because they consist entirely of personal promotion/advertisement for the author's photography: * [[Basics of fine-art photography/Egypt and Egyptians II]] * [[Basics of fine-art photography/Lights of Moscow]] * [[Basics of fine-art photography/Ethiopia through the eyes of traveler]] * [[Basics of fine-art photography/On the roads of India]] * [[Basics of fine-art photography/14 days in Mongolia]] * [[Basics of fine-art photography/Egypt and Egyptians III]] * [[Basics of fine-art photography/Hitchhiking across Sudan]] * [[Basics of fine-art photography/January in Japan]] * [[Basics of fine-art photography/Uganda: tribes and civilization]] * [[Basics of fine-art photography/Tribes of Kenya]] * [[Basics of fine-art photography/Afghanistan, 2008]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:13, 25 February 2024 (UTC) :Frankly, the entire book appears to be a vehicle for the author to promote his own photography. The few sentences of instructional content on pages like [[Basics of fine-art photography/Creating works in macro photography]] are practically useless; that one amounts to "to take macro photos, set your camera to macro mode and hold it close to the subject, or read another book for more information". Other pages like [[Basics of fine-art photography/Interior photography in hobo tours]] or [[Basics of fine-art photography/Taking pictures of homeless people]] provide essentially no information on photography technique at all, and seem to mostly be intended as jumping-off points to showcase more of the author's photos. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:40, 11 March 2024 (UTC) {{end closed}} == [[History of Grand-Popo]] == {{closed|Deleted. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 08:11, 22 September 2024 (UTC)}} Suited for enWP not WB, appears to be a simple import with no likely development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:28, 1 April 2024 (UTC) {{end closed}} == [[Selected Essays]] == {{closed|1=Deleted}} Seems completely out of WB scope; it's just a collection of unrelated personal essays. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 1 April 2024 (UTC) :{{vd}} Agreed, personal essays and not ones that can easily be used, at that. [[User:Icandostuff|<span style="color:Red">I</span> <span style="color:Yellow">can</span> <span style="color:Lime">do</span> <span style="color:#00ffff">stuff</span><span style="color:Blue">!</span> ]] ([[User talk:Icandostuff|talk]]) 12:52, 11 June 2024 (UTC) {{end closed}} == [[Remembering the Templars]] == Seems to be pretty much an encyclopedic article about the Knights Templar, which makes it out of scope; enormous amount of links to enWP and may even just be an import. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:59, 1 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:53, 5 April 2024 (UTC) *'''Keep'''. This is one of [[User:Panic2k4|Panic2k4's]] books, not a WP import. They remain an active, if sporadic, contributor and may well return to this in the future. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:41, 24 October 2024 (UTC) *:I just realized they were never notified about the nom, so I'll go ahead and do so on their talk page for posterity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:10, 24 October 2024 (UTC) *'''Keep''' I urge you to consider that your view of what a encyclopedic article is may be too ample. Please avert proposing deletions simply on those grounds, especially when real content is present, if a direct import can be matched give it more time if someone has gone to the work of requesting and performing an import from Wikipedia they (or others) may us it to extend the content into a book... I understand that you may be busy but you need to dedicate more time when content is present. A simple examination of the proposed work would make the structural effort obvious even if not the creative content added. :I think deletion of imports from Wikipedia was already discussed somewhere else, probably on the deletion policy talks and some consensus was formed around it that no real lost or gain comes from performing them directly (considering the necessary steps some time should be granted if not blocking a specific namespace) and that simple non imported (without the edit history) duplication of Wikipedia content should not have the same consideration falling a bit above nonsense contributions (depending on the editor's history). :There is ample discussion regarding project stubs, that they should be preserved simply if having structural value... :I often dedicated time to salvage abandoned imports (I have or had import rights and did some of the import request). I can not remember how I started this project but along with an historic and curiosity on the subject, I did do some imports to it, I'm aware that some I left unfinished (and that the foot notes are indeed a eye sore at the end of the book structure) due to lack of time to continue on a single project and due to the issues around the C++ Programming book that made my reconsider my priorities... :If some other content was deleted simply due to be an "encyclopedic article" I would ask for anyone with time to examine those deletions. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:14, 7 November 2024 (UTC) ::Hi @[[User:Panic2k4|Panic2k4]]! I definitely appreciate your perspective. My main concern regarding things like this is the needs of the community and the project right now. I understand the logic behind keeping books and pages that have potential, but our project seems to have hemorrhaged editors over the last several years, and activity is fairly low. I worry that keeping too many pages just because they have some potential makes the project overly cluttered and makes it harder to access the content that is higher quality—I feel like we have an unfortunate reputation in this respect. There are stubs that have previously been kept because they had the potential for improvement but that have not been substantially improved in over twenty years. I just don't want to see the project get bogged down today under the weight of imagined future improvement. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:48, 7 November 2024 (UTC) :::Additionally, regarding issues like encyclopedic content pages, I do think it's important to consider what makes us different from our sister projects like Wikipedia. I suppose for [[Remembering the Templars]] specifically, I just don't see what makes it significantly different from [[w:Knights Templar]], [[w:History of the Knights Templar]], etc. When you combine this with the issues that I've described above and the fact that this page has had issues of structure and dewikification for over a decade, that is what led me to nominate it for deletion. I hope this explains my thought process a bit better! Cheers again —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:00, 7 November 2024 (UTC) ::::Try to bring Wikipedias here to extend stubs into textbooks if you see pure encyclopedic content pages (they can also request an import there if there is valid content). I did that when I imported pages, or covered similar content (did the same in other languages Wikibooks). The issue with the loss of contributors is not linked with this type of content (in fact I find it a inspiration to contribute) its is often easier to extend than to initiate and commit to a project from 0 (just like contributing to Open Source projects). ::::The reason we lose contributors in my view is due to heckle (especially from non contributors) and technological / bureaucratic complexity. Its a hard commitment to engage in a project a lot harder than with a simpler encyclopedic article. More solitary (unless it is a class project) and required more focus (people often do not want to get involved with the general community or dragged into political discussions around outside their own project) and hard to coordinate (a book has a larger vision and is structural dependent, has to have a flow and logic). This is why even a stub with a simple structural approach to a subject has some value here. If not for anything more than demonstrate that someone else was interested in the subject. If you notice the deletions discussions you can see these forces represented... ::::I had relied in another user running a script bot to do the dewikifications (from wikipedia) that was a reason for me to halt the work there at that time, I like to preserve wikilinks as much as possible to similar content exist here (bookshelves or local content get linked first). At the same time, and to give an pertinent example or how people get tired, I got reverted by a sysop by doing the same on my own contributions on another work (on wikijunior, on the ground of esthetics, inter project consistency or whatever, this is an example of the problem). Now in an age overwhelming content. where people expect immediacy more than quality, that publishing or duplicating the edit capabilities of Wikimedia locally is easier any barrier will push people away... ::::Regarding your inability to distinguish the content apart, it seems you have more a problem with Wikipedia than my "article" then. A Wikipedic article should be a reduction to the topic it covers and split in distinct interlinked articles when its grows too much, this is a problem with many wikipedia articles (and I understand why, the need to source and maintain cohesion is better done in a monolithic view of the subject). In any case a History Wikibook can not go much further than an aggregation of facts (and I did include my own speculation, that is a historic minority view point) in relation to the Cathars in linking all to the pope's geopolitical view of the world (and grab for power) and providing a contextual view of the subject matter (you do not see that on the wikipedian articles) not a link to the free masons :) that is mere hypothetical if tentatively logic or made logic by co-adoption. :::: Remember also that we consider an aggregation of Wikepedian articles and Encyclopedia and if the scope and intention is to educate it falls under a textbook definition, we have books like that here, some have survived deletion many time... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 05:07, 8 November 2024 (UTC) == [[Half-Life Computation]] == Doesn't seem in-scope as a book—just seems like a single page on how to do a specific calculation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:06, 5 April 2024 (UTC) * Keep -You have to consider also that projects can be merged (I have not checked if there is a possible match) in any case consider it a stub with valid content. It is a stub (November 2018) there is the problem of a namespace collision since it identifies as a specific topic (but as you identified is a very limited scope). Had I the time I would create a structure around it and contribute to it in the subject of Entropy or how our non-existing reality, is also "evaporating" into nothing... : Stubs are promoters to growth, like particles to rain... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:40, 7 November 2024 (UTC) == [[God and Religious Toleration]] == {{closed|1=clear consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:45, 24 October 2024 (UTC)}} This book was [[Wikibooks:Requests for deletion/God and Religious Toleration|previously nominated for deletion in 2011]], but kept largely because of its theoretical potential for improvement. It's now over a decade later, and no real improvement has been made. The book has the following issues: * A lack of clearly defined educational/instructional scope, structure, or aims overall * A lack of structure in each existing chapter * Significant NPOV and lack-of-evidence/citations I've gone through the book to try to improve it somewhat, but it largely feels like a disorganized dumping ground for a variety of abstract thoughts, many of which are heavily biased. At this point, given the amount of time it has had for improvement and the lack thereof, I don't think it has a place at Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:06, 20 April 2024 (UTC) :This book is very important in this day and age. Tolerance between religions is important for world peace. Without tolerance, chaos breaks out in the world. We should promote tolerance between religions. If the good guys keep quiet, the bad guys win. Is that what you want? A better way is to simply add a chapter of yours to the book and contribute your suggestions to world peace and the strengthening of love in the world. @[[User:Kittycataclysm|Kittycataclysm]] [[User:Nobody60|Nobody60]] ([[User talk:Nobody60|discuss]] • [[Special:Contributions/Nobody60|contribs]]) 08:46, 21 April 2024 (UTC) :Support deleting as per issues pointed out in nom. @[[User:Nobody60|Nobody60]], there are kilometers between deleting a bad, biased book and supporting religious intolerance or whatever it is you're accusing the nom of doing. Wikibooks is a project with a definite, reachable and concrete goal, which this book doesn't meet, never met and probably would never meet. --[[User:YuriNikolai|YuriNikolai]] ([[User talk:YuriNikolai|discuss]] • [[Special:Contributions/YuriNikolai|contribs]]) 02:10, 27 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:44, 27 April 2024 (UTC) :{{vd}}. Not only is this material not presented from a neutral point of view, it's not even a mainstream religious POV. Much like [[Developing A Universal Religion]] (also up for deletion), the goal of this text appears to be to create and promote a new syncretic religious movement, complete with its own new beliefs and practices; this is very much outside the scope of Wikibooks. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:24, 3 August 2024 (UTC) :{{vd}} as per [[WB:NOR]]: I am all for religious tolerance but all against religious acquiescence. [[User:Jeaucques Quœure|Jeaucques Quœure]] ([[User talk:Jeaucques Quœure|discuss]] • [[Special:Contributions/Jeaucques Quœure|contribs]]) 07:30, 26 September 2024 (UTC) {{end closed}} == [[Kashubian Dictionary]] == [[WB:DICT|Out of scope]] here; material should be hosted at Wiktionary (I've [[Wiktionary:Wiktionary:Information desk/2024/May|suggested it there]]). —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:39, 28 May 2024 (UTC) :Any content in this dictionary should be already be at [[wiktionary:Wiktionary:Requested entries (Kashubian)/Kashubian Dictionary]], where we will be able to slowly make entries for these. [[User:Vininn126|Vininn126]] ([[User talk:Vininn126|discuss]] • [[Special:Contributions/Vininn126|contribs]]) 21:51, 7 June 2024 (UTC) == [[Biblioþeke]] == Out of scope; seems to be an incomplete translation of the bible into a conlang. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:16, 29 May 2024 (UTC) == [[Wikis for Retail Store Managers]] == Abandoned, unclear scope, little content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:30, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:10, 17 October 2024 (UTC) == [[Human Geography]] == Abandoned for two decades without any development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:50, 8 June 2024 (UTC) * {{del}} per nom. The page has a list of chapters/sections, but these are not linked. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:56, 17 October 2024 (UTC) * {{del}} as I just tagged rfd.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:29, 2 November 2024 (UTC) == [[Neuro Linguistic Programming]] == Abandoned, very little meaningful content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:55, 17 October 2024 (UTC) == [[Scrapebook Linguistics]] == Abandoned, little to no meaningful content, unclear scope or potential for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:05, 8 June 2024 (UTC) :{{vd}} - an earlier version of this page was imported to Wikiversity as [[:v:Special:Permalink/15674|Portal:Linguistics]] (and subsequently edited into oblivion). The followup edits here aren't needed at WV. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:22, 25 July 2024 (UTC) == [[How to Be a Good Camp Counselor]] == Book is un/under-developed and abandoned, and the scope/potential for development is somewhat unclear to me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:07, 19 June 2024 (UTC) == [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989/Manual for Obtention of Driving licence: Signals and Lights]] == {{closed|1=Deleted--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:39, 2 November 2024 (UTC)}} Abandoned with non-English. Not belonging under [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989]], that Taiwanese administrative regulation since 1989 would not contain such a manual.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 16:55, 4 July 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per above —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 5 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:54, 17 October 2024 (UTC) {{end closed}} == [[Australian Property Law]] == Has only one page (introduction) with little content. It has been abandoned now for almost 20 years with no development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 10 July 2024 (UTC) * {{del}} per nom. Subpages are redlinks except for [[Australian Property Law/Introduction]], which does not save the material. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:09, 17 October 2024 (UTC) == [[Chinese Checkers]] == Extremely minimal content and abandoned for almost 20 years. Was previously nominated for deletion in 2006 but kept on the grounds that it could be expanded—clearly this has not happened. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:56, 11 July 2024 (UTC) == [[Niw Englisch]] == Fiction / original research - a conlang being (very slowly) created by the author of the book. The following books are closely related to that project and should be deleted as well: * [[NiwEnglisc]] * [[Þat englisce Alphabet]] * [[Lernung þer Stafræwe]] * [[Þe ettbære Garden]] as well as [[Biblioþeke]], which has already been nominated for deletion. :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' all per the above. I can find no evidence of the conlang outside Wikibooks and this sole author. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 14 July 2024 (UTC) == [[Mac OS X Leopard]] == Yet another abandoned, underdeveloped book on an obsolete operating system. (Mac OS X Leopard was released in 2007, and has been unsupported since 2011.) If there were more content in this book, it could possibly be refactored into a version-independent book about macOS, but there's effectively nothing here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 14 July 2024 (UTC) :{{vd}}. If it were more fleshed out, it could be kept as archival. However, there's so little there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:47, 24 July 2024 (UTC) == [[Advanced Calculus]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:29, 8 November 2024 (UTC)}} Abandoned for many years; consists of only one page for one theorem; no introduction or scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:32, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) {{end closed}} == [[Algebra and Number Theory]] == Abandoned >1 decade; consists of one page with very little content; no introduction or scope —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 20 July 2024 (UTC) * {{del}} per nom. Has a list of redlinks for subpages; there is one subpage: [[Algebra and Number Theory/Elementary Number Theory]]. This is not useful and has been abandoned for too long. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:05, 17 October 2024 (UTC) == [[Basic Ancient Greek]] == Abandoned for many years; very little actual content; only real contributor was an IP whose last edit was in 2015. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:37, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:06, 17 October 2024 (UTC) == [[Blender Game Engine for Morons]] == Abandoned for at least a decade; consists of main page only; almost no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:41, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[BOINC]] == Abandoned >1 decade; consists of main page only; almost no meaningful content; unclear scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:43, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[HP Open View NNM Exam Guide]] == One page only; abandoned >1 decade; little to no meaningful content; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:40, 21 July 2024 (UTC) :{{vd}}. [[w:HP OpenView|HP OpenView]] no longer exists as a product (and its successor HP Network Management Center has been discontinued as well!); neither does HP's certification exam for it. There's certainly no purpose in writing a new guide for a nonexistent exam for a obsolete product. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:54, 23 July 2024 (UTC) == [[Games]] == Abandoned for ~1 decade; little to no meaningful content; one paragraph in entire book; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:43, 21 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) == [[Biochemistry/The Cell]] == <div style="padding:0.5em;">[[File:Ambox warning yellow.svg|36px|link=]] The following discussion has concluded. Please open a new discussion for any further comments.</div> <div class="collapsible boilerplate metadata" style="background-color:#E3E9EE; margin:0em; padding:10px; border:1px solid #999999;"> <div class="title" style="background-color:#E3E9EE; padding:0px; text-align:left; vertical-align:middle;"><span style="vertical-align:middle;"> abandoned and undeveloped and per comments below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:47, 14 October 2024 (UTC)</span></div> <div class="body" style="text-align:left"> <hr /> Not particularly in scope for the book as it is; content is not particularly meaningful, educational, helpful, or well-developed (e.g. what does it mean for red blood cells to "helps in structure of the body"?) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 22 July 2024 (UTC) :{{vd}}. Even if the strange or outright wrong statements were removed (like describing a cell as "a small particle or organism", or implying that red and white blood cells are the only types of cell!), this sort of very basic explanation would be more at home in an introductory text on biology, not a text on biochemistry which assumes familiarity with these topics. (And indeed, there are much better explanations in books like [[Biology, Answering the Big Questions of Life/Cells]].) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 31 July 2024 (UTC) </div></div> == [[Folktales from the Mon People of Koh Kred]] == Seems to be out of scope, since Wikibooks does not host fiction. –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 28 July 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:11, 10 October 2024 (UTC) == [[High performance computing]] == Abandoned >1 decade; only contains main page with little content; scope not well-defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 28 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:52, 17 October 2024 (UTC) == [[Doom Modding]] == Abandoned >1 decade; main page only; very little content; unclear scope/path to completion —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 July 2024 (UTC) == [[Global Illumination and HDRI Maps in 3D Studio Max]] == Abandoned >1 decade; one chapter only, which contains only a handful of sentences. Not enough content and no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 28 July 2024 (UTC) *{{del}} per nom. The only subpage is this: [[Global Illumination and HDRI Maps in 3D Studio Max/HDRI Maps]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:51, 17 October 2024 (UTC) == Pages in [[Security+ Certification]] == Both [[Security+ Certification/Threats and Vulnerabilities]] and [[Security+ Certification/Network Security]] seem to be deprecated per @[[User:Tule-hog|Tule-hog]]'s recent overhaul; moreover, the pages in question seem to consist entirely of outlinks to Wikipedia. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:32, 3 August 2024 (UTC) == Obsolete Microsoft certification guides == * [[MCSE Server 2003 Certification Core Exams]] (exam 70-290 retired July 2013) * [[Microsoft Certified IT Professional]] (exam 70-444 retired June 2011; exam 70-450 retired July 2015) * [[Microsoft Certified Professional Developer]] (exams 70-526, 70-528, 70-529, 70-547, 70-548 retired June 2011; exams 70-290, 70-536 retired July 2013) These books all correspond to Microsoft certification exams which were retired in 2011-2015, and consist almost entirely of lists of course objectives copied from official course materials. There's almost no original educational content in any of these three books, and it's highly unlikely that they're going to be improved, since the certification exams they correspond to are no longer offered. (Reference for the exam retirement dates is: https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:27, 4 August 2024 (UTC) :{{vd}} per the above; additionally, some of these have very little content at all. Some pages may be candidates for speedy deletion. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 4 August 2024 (UTC) == [[GNU Autoconf]] == Little to no meaningful content, abandoned >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:42, 4 August 2024 (UTC) *{{vd}} per nom. Nothing particularly salvageable from this. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:07, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:50, 17 October 2024 (UTC) == [[IB Textbook Reviews]] == Very little meaningful educational content; seems like opinion at most? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:45, 4 August 2024 (UTC) == [[Kurdish]] == Very little content at all, no outline or potential for development; abandoned for years. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:46, 4 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:49, 17 October 2024 (UTC) == [[English-Arabic dictionary]] == Out of scope at Wikibooks since this is already completely covered by Wiktionary. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:49, 4 August 2024 (UTC) :{{comment}} [[English-Arabic dictionary/Colors in Arabic]] gets a nontrivial amount of traffic (~50 views/day). It'd be nice if we could at least preserve this as a redirect to an equivalent resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:38, 4 August 2024 (UTC) * '''Keep''': a book selecting vocabulary into introductory groups is very different from a lexical database such as Wiktionary. In Wiktionary, one does not know where to start learning the vocabulary. Admittedly, the title gives excessively broad scope, so something should probably be done. (The argument with 50 views/day has some force.) --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:48, 17 October 2024 (UTC) == [[Audacity]] == Abandoned 17 years; consists only of paltry introduction. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:43, 17 August 2024 (UTC) :{{vd}} - Audacity already has high-quality, freely licensed documentation at https://manual.audacityteam.org/ (and it's even a wiki!). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:57, 3 October 2024 (UTC) == [[Java Logging]] == Abandoned >1 decade; main page only; little to no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 17 August 2024 (UTC) * {{del}} per nom. All indicated subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:27, 17 October 2024 (UTC) == [[Mercury Programming]] == Abandoned >1 decade; undeveloped (single page only); no scope or plan for expansion/future development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:46, 17 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Mercury Programming/Types]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:26, 17 October 2024 (UTC) == [[Server+ Certification]] == Abandoned >1 decade; main page only; little to no meaningful content; mostly a few section headers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:48, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[NetBeans]] == No meaningful content; chapter list only; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 17 August 2024 (UTC) * {{del}} per nom. No subpages; all listed subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[Valgrind]] == Abandoned >1 decade; main page only; very little content; unclear scope; no path forward for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:52, 17 August 2024 (UTC) :{{vd}} - readers would be much better off with [https://valgrind.org/docs/manual/quick-start.html Valgrind's own quick start guide] (which is even freely licensed). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:32, 18 August 2024 (UTC) == [[Open Religion]] == Original research/soapbox/NPOV; abandoned >1 decade; main page only —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:40, 24 August 2024 (UTC) :{{vd}} - out of scope religious/philosophical content similar to [[#Developing a Universal Religion]], but less developed. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:58, 25 August 2024 (UTC) * {{del}}. For the record, the page starts: "This project is to create an Open Source religion and philosophy, transparent and accessible to all, directed to interest all without discrimination." By the way, I would not mind instead quasi-deleting by moving to userspace of the main author so that anyone can review later what kind of material is being deleted. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:03, 17 October 2024 (UTC) == [[Programming for the consultant]] == Abandoned >1 decade; little to no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:42, 24 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Programming for the consultant/Approaching A New Code Base]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:24, 17 October 2024 (UTC) == [[Metroid]] == Abandoned; main page only; no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:44, 24 August 2024 (UTC) * {{del}} per nom; could be speedy. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:00, 17 October 2024 (UTC) == [[Radiata Stories]] == Abandoned; little to no meaningful content; one page only with little content; no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 24 August 2024 (UTC) * {{del}} per nom. The one existing subpage is [[Radiata Stories/Character Recruitment]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:23, 17 October 2024 (UTC) == [[Dialect]] == Scope unclear; abandoned with no plan for development; little to no meaningful content; most pages qualify for speedy anyway. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 5 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:21, 17 October 2024 (UTC) == [[Programming Text Adventures In Basic]] == Main page only; abandoned >1 decade; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:17, 7 September 2024 (UTC) * {{del}} per nom, but I think a change of [[Wikibooks:Deletion policy]] is needed so that we can delete useless stubs abandoned for a long time. The nominated page cannot be of any use as is. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:59, 17 October 2024 (UTC) == [[UNIX Basics]] == Abandoned >1 decade; little to no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 7 September 2024 (UTC) * {{del}}: no meaningful content. A bit of meaningful content is in [[Guide to Unix]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:53, 17 October 2024 (UTC) == [[How to Write a Compiler]] == Abandoned >1 decade; main page only; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:24, 7 September 2024 (UTC) * {{del}} per nom: almost no meaningful content. No further reading. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:54, 17 October 2024 (UTC) == [[Script Languages Synopsis]] == Abandoned >1 decade; little content; unclear path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:26, 7 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:55, 17 October 2024 (UTC) == [[Epicurus]] == {{closed|Deleted. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 13:33, 6 October 2024 (UTC)}} Merging with the other Epicurus page. {{unsigned|TheoYalur}} {{end closed}} === [[Epicurus/On Matter - β (Περὶ φύσεως)]] === Merging with the other Epicurus page. [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' I'm leaning towards this whole book being deleted. The scope and structure of this book as an educational textbook are unclear and the whole thing seems potentially like original research or an essay. Unless I've missed something, the main editor seems unresponsive to querying and is repeatedly removing the query flags. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:13, 25 September 2024 (UTC) =={{anchor|Network+ Certification}}{{anchor|Security+ Certification}}{{anchor|A+ Certification}} CompTIA Certifications == [[Network+ Certification]] moved and updated at [[:v:Network+|Wikiversity]]. [[Security+ Certification]] moved and updated at [[:v:Security+ Certification|Wikiversity]]. [[A+ Certification]] moved and updated at [[:v:A+ Certification|Wikiversity]]. De-duplicating work across Wikimedia. Subpages should all be deleted as well. Might be worth leaving a redirect to WV for future users. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:02, 15 September 2024 (UTC) :I centralized at Wikiversity since the projects (as of now) are compendiums of links and resources based on the listed objectives of each exam, sometimes with explicitly suggested 'activities'. Very little in the way of 'book'-like exposition. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:06, 15 September 2024 (UTC) :Thought about leaving a {{tlx|MovedToWikiversity}} but that template has been deleted in the past. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 02:52, 3 October 2024 (UTC) == Wikiversal generated pages == * [[Wiki Assistant]] * [[User Page Builder]] *: Inexplicably, the links on the main page of this book all point to pages under [[:w:User:Hazel45onnie/User Page Builder]] '''on the English Wikipedia'''. I'm nominating those pages for deletion on enwiki as a separate process ([[:w:Wikipedia:Miscellany for deletion/Wikiversuite pages|here]]). * [[WikiverSuite/Wikiversant/Gunport Builder Demo 1]] * [[Wiki Tutorial]] *: Some of the internal links in this book are written as if the book is named [[Tutorial]] instead of [[Wiki Tutorial]]. You may have to use [[Special:Prefixindex/Wiki Tutorial]] to read through the whole thing. These books were all generated using Wikiversal, a third-party wiki editing tool written by [[User:Planotse]] which is no longer downloadable. Many of them contain broken internal links or other outdated content (like references to Wikiversity being a subproject of Wikibooks), and the HTML-heavy markup generated by Wikiversal makes them unreasonably difficult to edit. (As as aside, the markup used for these "presentations" is completely broken on the mobile site, e.g. [https://en.m.wikibooks.org/wiki/User_Page_Builder]. For some reason, the forward/back buttons are invisible, making it impossible to navigate from page to page.) The first three books are all instructions on how to use Wikiversal itself. Since it's no longer available, they are of no use. The fourth, while described as a "Wiki tutorial", primarily instructs users to use Wikiversal to build pages on the wiki; its main page should probably be redirected to [[Using Wikibooks]] as a much more comprehensive resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:44, 20 September 2024 (UTC) ::It isn't inexplicable that these pages and links are on the English Wikipedia. The spammers who developed these pages were primarily trying to peddle software for use on the English Wikipedia. Their pages on the English Wikipedia are also pending deletion as misusing Wikipedia for web hosting. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC) :::Based on the name and some of the user's (now deleted) activity on Wikiversity, I think the software was actually intended primarily for use on Wikibooks and/or Wikiversity. Why they decided to host some of its documentation on Wikipedia is a mystery. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:52, 22 September 2024 (UTC) ::::It isn't worth trying to explain the behavior of spammers. Sometimes the explanation is stupidity and greed. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:05, 22 September 2024 (UTC) ::<del>I haven't yet looked at the deletion request here. I am primarily an English Wikipedia editor, just as [[User:Omphalographer]] is primarily a Commons editor. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC)</del> *'''Delete All''' - Spam. These books were created twelve years ago to peddle software to new users. This was an abuse of Wikimedia for commercial purposes. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:51, 22 September 2024 (UTC) == [[PlanoTse Handbook for Job Search Automation]] == Much like the Wikiversal pages nominated above, this book is documentation for a piece of self-authored software by [[User:Planotse]] which is no longer available for download. I can't find any substantial references to this software anywhere online outside of this book itself, so it seems highly unlikely to be useful to anyone. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per the above. If the software is not currently available and was never widely available or notable previously, I don't see why keeping it is useful, even for historicity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 20 September 2024 (UTC) *'''Delete''' - This is more spam by a spammer. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:17, 22 September 2024 (UTC) == [[Roblox WF Wars]] == No textual content at all, just a couple of tables of data. I can't find any other information online about this game; for all we know, it may not even exist. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:30, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' as stated above. The content is so minimal, and the scope is not defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 20 September 2024 (UTC) == [[Salute, Jonathan!]] and its translations == : [[Alo, Jonathan!]] : [[Bune Ğonatan!]] : [[Dag, Jonathan!]] : [[Glidis, o Jonathan!]] : [[Hai, Jon!]] : [[Hallo, Jonathan!]] : [[Haloo, Jonatan!]] : [[Hay, Jonathan!]] : [[Hej, Jonathan! (Germanisch)]] : [[Hej, Jonathan!]] : [[Hela, Jonathan!]] : [[Holo, Jonathan!]] : [[Oila, Jonatan!]] : [[Salam, Jonathan!]] : [[Salom, Jonatan!]] : [[Salu, Jon!]] : [[Salut Jonathan!]] : [[Salute, Jonathan!]] : [[Salut, Jonathan! (Interocidental)]] : [[Salut, Jonathan!]] : [[Salut, ionatano!]] : [[Salute, Jonathan! (Novlingue)]] : [[Salute, Jonathan! (Romanica)]] : [[Saluto, Jonathan! (Ido)]] : [[Saluto, Jonathan!]] : [[Sesan Jon!]] : [[Simi, Jonathan!]] : [[Sin Chao, Jonathan!]] : [[Terve, Jonathan!]] : [[Toki a, jan Jonatan!]] : [[Àlŏ, Jonathan!]] : [[Òla, Ionatà!]] There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) :I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) :Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. :[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) :Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine :How easy would it be to migrate the entirety of Salute Jonathan to there? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) ::Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) :::Hi! :::Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. :::So the idea is the following: :::1 Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::2 The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::3 For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::4 The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. :::Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. :::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) ::::Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. ::::Cheers! –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) :::::Hello again, :::::It's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::[[Salute, Jonathan!/Capitul 1 - with notes]] :::::[[Salute, Jonathan!/Capitul 2 - with notes]] :::::[[Salute, Jonathan!/Capitul 3 - with notes]] :::::[[Salute, Jonathan!/Capitul 4 - with notes]] :::::[[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::::[[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) :::::::Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. :::::::The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. :::::::(I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) :::::::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) ::::::::Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) :::::::::Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. :::::::::For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) ::Keep. Content of educational value that helps learn languages. I think more translations to natural languages should be produced. -[[User:Bronto Rex|Bronto Rex]] ([[User talk:Bronto Rex|discuss]] • [[Special:Contributions/Bronto Rex|contribs]]) 14:02, 11 October 2024 (UTC) == [[Wooden Boats: Building and Repair]] == Abandoned almost 2 decades; a few pages, but each has only a few lines of text. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 7 October 2024 (UTC) == [[Stellar Scintillation]] == Extremely narrow scope that I don't think is quite book-worthy, especially given the low amount of content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:48, 7 October 2024 (UTC) == [[Future Teachers Meet Wiki]] == Abandoned; scope doesn't seem right for Wikibooks; underdeveloped. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 7 October 2024 (UTC) :{{vd}} - this feels like it was an attempt to use Wikibooks to organize a university project and collect student writings; even if it had made more progress, it's not clear that the outcome would have been a textbook. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 18 October 2024 (UTC) == [[IB Spanish]] == Abandoned 2 decades; seems like an idea for a book that was never actually implemented (minimal meaningful content) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:55, 7 October 2024 (UTC) == [[Luxembourgish]] == Abandoned; only non-main page is a list of movies—otherwise no meaningful content [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 7 October 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 07:25, 17 October 2024 (UTC) == [[Data Recovery]] == Seems out of scope for an educational book; a couple paragraphs at most with no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:58, 7 October 2024 (UTC) :{{vd}} - this is a worthy topic, but what's written here meanders between being vague and being actively bad advice. (The <code>strings</code> command is not an appropriate data recovery tool.) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 7 October 2024 (UTC) == [[Competitive Programming]] == Survived deletion previously on the justification that it could potentially be expanded, but it's since been over a decade with no improvement; extremely minimal educational content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:03, 7 October 2024 (UTC) == Pages by [[User:TheoYalur]] == * [[Henri Poincaré Reader]] * [[The Sight and Sound of the Greek Genocide Around the Kültürpark in Izmir]] * [[God Disorder]] These pages all appear to be personal essays, not educational texts. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 03:53, 14 October 2024 (UTC) :They are all original research. The editor asked to be unblocked so they could move to Wikiversity where OR is permitted. As they have now returned to creating these dubious pages, I have blocked them again and deleted the most recent creation as out of scope original research. The "reader" might be acceptable. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:37, 14 October 2024 (UTC) ::Thanks @[[User:MarcGarver|MarcGarver]]! I'm not sure about [[Henri Poincaré Reader]] since it has NPOV issues and it reads like a self-published essay piece with personal hypothesizing/opinion/research, no references, etc. Its educational scope is still somewhat unclear, as is the structure—it does not seem textbook-like in form or style. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:43, 14 October 2024 (UTC) :::You spent more time reading it than me I suspect. I only skimmed it, but I am sure you are right that it has the same issues as the other creations and should be deleted. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:14, 14 October 2024 (UTC) ::::With regard to the "Reader", at best it's a collection of loosely translated excerpts of texts which, for the most part, already have quality translations available on Wikisource. For instance, the section [[Henri Poincaré Reader#The Measure of Time (1898)]] is already translated as [[:s:The Foundations of Science/The Value of Science/Chapter 2]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 20:39, 14 October 2024 (UTC) == [[User:גני טווילרי]] == Please delete a redirection page of the former user page, which was not active in the En Wikibooks. Thank you. [[User:לובר|לובר]] ([[User talk:לובר|discuss]] • [[Special:Contributions/לובר|contribs]]) 02:15, 16 October 2024 (UTC) :{{re|לובר}} {{done}} though in the future please use {{tl|speedy}} for such deletions. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:53, 16 October 2024 (UTC) == [[Cyber Guide to ODU Career Management]] == As best I can tell, this was intended at one point to be an internal resource for employees of an ODU (Old Dominion University) career office; what little of it exists is primarily focused on minutae irrelevant to anyone outside that office, like [[Cyber Guide to ODU Career Management/Get Oriented/How we do it|who to email to schedule an information session]] or a collection of [[Cyber Guide to ODU Career Management/Get Up-to-Date/CAP Meeting|meeting notes]]. It's also all been essentially untouched since 2007. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:49, 18 October 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per stated reasoning —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:11, 18 October 2024 (UTC) == [[Golf]] == Extremely minimal content; educational/book scope is unclear; abandoned for >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 18 October 2024 (UTC) == [[Counterterror Joint Command]] == Unclear how this falls into WB scope—doesn't seem to be an educational book, and educational scope is undefined; abandoned as well —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:17, 18 October 2024 (UTC) :{{vd}} - this is perplexing; it's written like a policy proposal on behalf of an agency, not a textbook. From context I ''think'' it's about the [[:w:National Police Agency (Taiwan)]], but it's entirely unclear whether this was intended as an official report or some sort of weird fan fiction. Either way, it doesn't belong here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:31, 18 October 2024 (UTC) == [[Flight Attendant Manual]] == Abandoned almost 2 decades; consists only of a list of country codes and the phonetic alphabet. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:19, 18 October 2024 (UTC) == [[History of the ODU Art Department]] == A collection of fragmentary biographies and interviews of members of the ODU (Old Dominion University) art department. Some of these are individually interesting, I guess, but they don't really add up to a history of the department, let alone to an instructional text. Most editing activity appears to have been around 2008-09; there's almost no activity since then. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:22, 18 October 2024 (UTC) == [[Making Neon Signs]] == {{closed|1=Deleted. Was imported from WP (as the nominator suspected) and is still just a WP article, not a textbook. Out of scope and abandoned. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:31, 24 October 2024 (UTC)}} Seems just like an imported WP article; educational book scope unclear; abandoned for years —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:22, 18 October 2024 (UTC) {{end closed}} == [[Understanding the National Certificate of Educational Achievement]] == Scope unclear; very little content; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:30, 18 October 2024 (UTC) == [[Release Management]] == Abandoned almost 2 decades; very little content; unclear what its scope as a book is —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 18 October 2024 (UTC) == [[Management for IT Professionals]] == Minimal content; book scope unclear; abandoned almost 2 decades —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 18 October 2024 (UTC) == [[Living in Bangkok]] == Minimal content; consists of single chapter that contains likely outdated information —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:14, 18 October 2024 (UTC) == [[Limburgish]] == Abandoned; single chapter with minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:19, 18 October 2024 (UTC) :In general, I think deletion not solve anything. While the contents is minimal, it's still better than nothing at all. Rather, an invitation should be made to expand on it. --[[User:Ooswesthoesbes|Ooswesthoesbes]] ([[User talk:Ooswesthoesbes|discuss]] • [[Special:Contributions/Ooswesthoesbes|contribs]]) 06:27, 19 October 2024 (UTC) ::Hi @[[User:Ooswesthoesbes|Ooswesthoesbes]]! While I understand your perspective, I unfortunately disagree. Wikibooks has a huge number of abandoned stubs like this one, which I think results in clutter and makes the entire project less useful as a result. Due to their nature and structure, books require a greater committed investment to make than, say, WP articles, and these little scraps are rarely developed here. This book has had plenty of opportunity for expansion since you started it over a decade ago, but nobody has actually made any effort to do so. Based on the evidence from the past decade, when weighing the likelihood of the book being properly developed going forward versus the active negative impact of its continued presence in this state, I favor deletion. Moreover, in the rare case that someone came along later and wanted to revive this book specifically, it could be undeleted. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:55, 19 October 2024 (UTC) == [[Introduction to BASIC]] == Consists only of a few paragraphs and then a compilation of links —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:22, 18 October 2024 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) == [[HP Media Vault]] == Book-like scope is unclear; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:35, 18 October 2024 (UTC) :{{vd}} - how-to content isn't necessarily out of scope, but this only describes how to perform a single (fairly straightforward) task, for a product which has been off the market for ~15 years and is unlikely to be of interest to future editors. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:02, 20 October 2024 (UTC) == [[GUI Design Principles]] == Single page that was never properly integrated into a book as it should have been —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:37, 18 October 2024 (UTC) == [[Blender 3D: Game-making in Blender]] == Obsolete book with almost no content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:38, 18 October 2024 (UTC) :'''Delete''' —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:34, 3 November 2024 (UTC) :{{vd}} - as the note atop the table of contents says, "This book is obsolete. The Blender Game Engine was removed in 2018." No substantial content seems to ever have been written, and it seems unlikely that any will be. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:26, 4 November 2024 (UTC) == [[Basketball]] == Abandoned almost 2 decades; doesn't contain much beyond what you'd find in a WP article —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:41, 18 October 2024 (UTC) :I love the game, but yes, this has no real content. That said, there's little danger in keeping it and it could plausibly be improved, so I'm '''weak keep'''. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:33, 3 November 2024 (UTC) == [[Bug Free Programming]] == Unclear how exactly this constitutes an educational book; scope is unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:45, 18 October 2024 (UTC) :Wow, I didn't even remember this one. I think it's perfectly clear how this is educational and the scope couldn't be clearer, either, but I'm not going to finish it so go ahead and delete it. [[User:Főszerkesztő Úr|Főszerkesztő Úr]] ([[User talk:Főszerkesztő Úr|discuss]] • [[Special:Contributions/Főszerkesztő Úr|contribs]]) 12:35, 23 October 2024 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Citroën XM]] == Abandoned >1 decade; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:57, 18 October 2024 (UTC) == [[Happiness]] == Significant NPOV issues; not much content; abandoned for >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:58, 18 October 2024 (UTC) == [[Islamic Studies Grade 1]] == Abandoned >1 decade with very little content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:03, 19 October 2024 (UTC) :{{vd}} - the table of contents makes it clear that this book was intended to house POV religious content (e.g. a chapter titled "Allah Is The One"). This is incompatible with [[WB:NPOV]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:12, 20 October 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) == [[Austrian German]] == Abandoned almost 2 decades; scope not well outlined, main page only; minimal content insufficient for book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 24 October 2024 (UTC) :{{vd}} + comments on the page, like "[Austrian German] is much more mild, liberal and melodious unlike the German in Germany which is harsh, arrogant and even somewhat mastering", are confusing and I fail to see the need to keep such an underdeveloped "book". —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 19:47, 4 November 2024 (UTC) == Several pages in [[Hobo tourism]] and [[Hobo travel journalism]] == The following pages are entirely self-promotional content that is suitable for a blog but not WB (same contributor made the [[Wikibooks:Requests for deletion#Various pages in Basics of fine-art photography|now-deleted pages from above]]). * [[Hobo tourism/Third creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Third African trip]] * [[Hobo tourism/Visiting Death]] * [[Hobo tourism/One day in an Afghan prison]] * [[Hobo tourism/Around the world with empty pockets]] * [[Hobo tourism/Indian dreams]] * [[Hobo tourism/Two months of wandering and 14 days behind bars]] * [[Hobo tourism/Holiday of wandering mzungu]] * [[Hobo tourism/Afghan prisoner]] * [[Hobo tourism/Two hundred days in Latin America]] * [[Hobo tourism/Mongolian huyvaldagch]] * [[Hobo tourism/Six months by islands... and countries]] * [[Hobo tourism/Viktor Pinchuk's expedition to the Islands of Oceania]] * [[Hobo tourism/Viktor Pinchuk's solo expedition to Africa (2017/18)]] * [[Hobo tourism/Latin American expedition of Viktor Pinchuk]] * [[Hobo tourism/Bum tour of winter Japan]] * [[Hobo tourism/Afghan Expedition of Viktor Pinchuk]] * [[Hobo tourism/Second creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Creative trip to Mongolia]] * [[Hobo tourism/Creative trip to India]] * [[Hobo tourism/First creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Tropical fever in the bum tour (an example from practice)]] * [[Hobo tourism/African Robbery]] * [[Hobo travel journalism/With a backpack around the planet (rubric in the newspaper “Southern Capital”)]] * [[Hobo travel journalism/Returning from distant wanderings (rubric in the newspaper "Republic of Crimea")]] * [[Hobo travel journalism/Wind of wanderings (rubric in the newspaper "Crimean Time")]] * [[Hobo travel journalism/Around the World (rubric in the newspaper "Crimean Observer")]] * [[Hobo travel journalism/Travel notes (rubric in the ProX magazine)]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:01, 24 October 2024 (UTC) :{{vd}} - I would support deleting the entire book, not just these chapters. Even aside from the self-promotional content listed above, other chapters give some ''extremely questionable'' advice on sleeping arrangements, such as: :* Trespassing on private property ([[Hobo tourism/Overnight stays in long intercontinental journeys/In halls and stairwells]]; [[Hobo tourism/Overnight stays in long intercontinental journeys/On objects under construction]]) :* Sleeping inside archaeological sites ([[Hobo tourism/Overnight stays in long intercontinental journeys/In the ancient pyramid]]) :* Harassing locals if they don't let you into their house ([[Hobo tourism/Overnight stays in long intercontinental journeys/In Aboriginal dwellings]] - "independently knock on any dwelling, asking for a place under a canopy in the yard; with a negative result, repeating the action repeatedly") :[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:45, 25 October 2024 (UTC) :{{vd}} Agree with above. Delete all.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 03:38, 10 November 2024 (UTC) ::These articles have many internal links from English-language Wikinews. Removing the material would harm the news articles and the project as a whole. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 15:55, 10 November 2024 (UTC) == files from Phoenix Wright == Used for decorative, not educational, purposes ([[WB:NFCC]]#8): [[:File:AAIME Official Artwork.jpg]], [[:File:PWAAJFA episode1.png]], [[:File:PW JFA Official Artwork.jpg]], [[:File:Gyakuten Kenji 2 Official Artwork.png]], [[:File:AJ officialart.jpg]], [[:File:PW T&T Official Artwork.jpg]], [[:File:SMB2 dream staircase art.jpg]]. Galleries ([[WB:NFCC]]#3): [[:File:Moonflow 27.jpg]], [[:File:Macalania 18.jpg]], [[:File:Chauncey LM.jpg]] , [[:File:King Boo LM.jpg]], [[:File:Boolossus LM.jpg]]. — Ирука<sup>[[user:Iruka13|13]]</sup> 16:22, 30 October 2024 (UTC) :My thoughts below: :* [[:File:AAIME Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PWAAJFA episode1.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW JFA Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Gyakuten Kenji 2 Official Artwork.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:AJ officialart.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW T&T Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:SMB2 dream staircase art.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Moonflow 27.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' low resolution and seems to be illustrating something :* [[:File:Macalania 18.jpg]] Uncertain :* [[:File:Chauncey LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:King Boo LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:Boolossus LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:12, 30 October 2024 (UTC) 9daqytkk6hej6nbmsxqoedd8nc01oj7 4444304 4444301 2024-11-10T17:28:03Z Kittycataclysm 3371989 /* Several pages in Hobo tourism and Hobo travel journalism */ Reply 4444304 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{Requests for deletion/Archives}} {{Requests for deletion/Using Template:Icon}} {{clear}} = Undeletion = {{shortcut|WB:RFU}} {{Requests for deletion/New undeletion}} {{Requests for deletion/Undeletion intro}} ==[[City Of Heroes]]== {{closed|Was undeleted —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:39, 17 August 2024 (UTC)}} A book that was deleted when strategy guides were not allowed. See discussion -<span style="background:yellow;>User:Slava Ukraini Heroyam Slava 123 <span style="color:blue span> 17:13, 12 November 2022 (UTC)</span></span> :This book was deleted about 16 years ago and only one page had a significant amount of content. It could all be undeleted but would probably be better re-made from scratch.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 01:34, 11 August 2023 (UTC) ::'''Undeleted it''' with many first-level subpages. Yet [[City Of Heroes/Archetypes]], [[City Of Heroes/Powers]], [[City Of Heroes/General Help]], [[City Of Heroes/Enhancements]], [[City Of Heroes/Binds]] and [[City Of Heroes/Badges]] have even more subpages to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:50, 19 August 2023 (UTC) :::'''Undeleted''' many subpages of the above subpages, less obviously useless versions. Yet any administrators are hereby advised to check [[Special:Undelete]] for more to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 21:52, 21 August 2023 (UTC) :Remaking this content from scratch might be difficult - the game shut down in 2012. There's a small community of users running private servers based on leaked source code (!), but far fewer than when the game was active. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:55, 26 August 2023 (UTC) {{end closed}} == [[Mass undeletion of books that were deleted when strategy guides were not allowed.]]== {{closed|Not done —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:40, 17 August 2024 (UTC)}} Couldn't we just mass undelete these books? [[User:Garfieldcat1978|Garfieldcat1978]] ([[User talk:Garfieldcat1978|discuss]] • [[Special:Contributions/Garfieldcat1978|contribs]]) 18:25, 20 February 2023 (UTC) Letting bot archive as needed. :Listing which works would be much better.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:51, 19 August 2023 (UTC) {{end closed}} = Deletion = {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} {{clear}} <!-- New nominations go at the bottom of page --> == [[Dynamical Systems]] == This seems to be abandoned book, the only content is largly vacuous. I don't believe it is likely to be extended or worked on because it is both a technical topic, and represents to original author's goals for such a book (graduate level vs undergraduate). [[User:Thenub314|Thenub]][[Special:Contributions/Thenub314|314]] ([[User talk:Thenub314|talk]]) 20:46, 23 February 2023 (UTC) :It does seem abandoned; the single existing page hasn't been updated since 2018 and the main book page hasn't been updated since 2019. Unless someone quickly decides to pick up on it, I can't really see it staying here at Wikibooks :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 24 February 2023 (UTC) ::Hello there, ::currently I'm working over at the German page, because I have begun to work with a new, more intuitive terminology. My current plan is to first finish the German version and then possibly to translate it. To finish the German version will take at least until the end of this year. Until then, you shouldn't expect any progress. Afterwards, I may feel inclined to pick up the project, depending on my human rights situation. --[[User:Mathmensch|Mathmensch]] ([[User talk:Mathmensch|discuss]] • [[Special:Contributions/Mathmensch|contribs]]) 09:26, 8 April 2023 (UTC) * '''Delete'''. While this is a stub and we should not deleted them the content present is extremely limited and by the reply above it is duplicated in another language project with the intention of migration here later. Since it also occupies a topic space name it also becomes a blocker to other similar works. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:26, 7 November 2024 (UTC) == Files from [[Illustrated Guide to the world of Spira (FFX and FFX-2)]] == {{closed|1=Deleted for lack of a valid NFCC. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:34, 24 October 2024 (UTC)}} Used for decorative, not educational, purposes: [[:File:Float 13.jpg]], [[:File:Grabbed Frame 15.jpg]], [[:File:Gandof.jpg]], [[:File:Ohalland.jpg]], [[:File:Braskascan1.jpg]], [[:File:Tidus FFX.png]] ([[WB:NFCC]]#8). — Ирука<sup>[[user:Iruka13|13]]</sup> 13:54, 17 July 2023 (UTC) :Sure, I think I can agree on the removal of these [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 12:24, 22 July 2023 (UTC) {{end closed}} == Various pages in [[Basics of fine-art photography]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:38, 24 October 2024 (UTC)}} The following pages in [[Basics of fine-art photography]] seem out of scope because they consist entirely of personal promotion/advertisement for the author's photography: * [[Basics of fine-art photography/Egypt and Egyptians II]] * [[Basics of fine-art photography/Lights of Moscow]] * [[Basics of fine-art photography/Ethiopia through the eyes of traveler]] * [[Basics of fine-art photography/On the roads of India]] * [[Basics of fine-art photography/14 days in Mongolia]] * [[Basics of fine-art photography/Egypt and Egyptians III]] * [[Basics of fine-art photography/Hitchhiking across Sudan]] * [[Basics of fine-art photography/January in Japan]] * [[Basics of fine-art photography/Uganda: tribes and civilization]] * [[Basics of fine-art photography/Tribes of Kenya]] * [[Basics of fine-art photography/Afghanistan, 2008]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:13, 25 February 2024 (UTC) :Frankly, the entire book appears to be a vehicle for the author to promote his own photography. The few sentences of instructional content on pages like [[Basics of fine-art photography/Creating works in macro photography]] are practically useless; that one amounts to "to take macro photos, set your camera to macro mode and hold it close to the subject, or read another book for more information". Other pages like [[Basics of fine-art photography/Interior photography in hobo tours]] or [[Basics of fine-art photography/Taking pictures of homeless people]] provide essentially no information on photography technique at all, and seem to mostly be intended as jumping-off points to showcase more of the author's photos. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:40, 11 March 2024 (UTC) {{end closed}} == [[History of Grand-Popo]] == {{closed|Deleted. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 08:11, 22 September 2024 (UTC)}} Suited for enWP not WB, appears to be a simple import with no likely development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:28, 1 April 2024 (UTC) {{end closed}} == [[Selected Essays]] == {{closed|1=Deleted}} Seems completely out of WB scope; it's just a collection of unrelated personal essays. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 1 April 2024 (UTC) :{{vd}} Agreed, personal essays and not ones that can easily be used, at that. [[User:Icandostuff|<span style="color:Red">I</span> <span style="color:Yellow">can</span> <span style="color:Lime">do</span> <span style="color:#00ffff">stuff</span><span style="color:Blue">!</span> ]] ([[User talk:Icandostuff|talk]]) 12:52, 11 June 2024 (UTC) {{end closed}} == [[Remembering the Templars]] == Seems to be pretty much an encyclopedic article about the Knights Templar, which makes it out of scope; enormous amount of links to enWP and may even just be an import. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:59, 1 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:53, 5 April 2024 (UTC) *'''Keep'''. This is one of [[User:Panic2k4|Panic2k4's]] books, not a WP import. They remain an active, if sporadic, contributor and may well return to this in the future. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:41, 24 October 2024 (UTC) *:I just realized they were never notified about the nom, so I'll go ahead and do so on their talk page for posterity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:10, 24 October 2024 (UTC) *'''Keep''' I urge you to consider that your view of what a encyclopedic article is may be too ample. Please avert proposing deletions simply on those grounds, especially when real content is present, if a direct import can be matched give it more time if someone has gone to the work of requesting and performing an import from Wikipedia they (or others) may us it to extend the content into a book... I understand that you may be busy but you need to dedicate more time when content is present. A simple examination of the proposed work would make the structural effort obvious even if not the creative content added. :I think deletion of imports from Wikipedia was already discussed somewhere else, probably on the deletion policy talks and some consensus was formed around it that no real lost or gain comes from performing them directly (considering the necessary steps some time should be granted if not blocking a specific namespace) and that simple non imported (without the edit history) duplication of Wikipedia content should not have the same consideration falling a bit above nonsense contributions (depending on the editor's history). :There is ample discussion regarding project stubs, that they should be preserved simply if having structural value... :I often dedicated time to salvage abandoned imports (I have or had import rights and did some of the import request). I can not remember how I started this project but along with an historic and curiosity on the subject, I did do some imports to it, I'm aware that some I left unfinished (and that the foot notes are indeed a eye sore at the end of the book structure) due to lack of time to continue on a single project and due to the issues around the C++ Programming book that made my reconsider my priorities... :If some other content was deleted simply due to be an "encyclopedic article" I would ask for anyone with time to examine those deletions. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:14, 7 November 2024 (UTC) ::Hi @[[User:Panic2k4|Panic2k4]]! I definitely appreciate your perspective. My main concern regarding things like this is the needs of the community and the project right now. I understand the logic behind keeping books and pages that have potential, but our project seems to have hemorrhaged editors over the last several years, and activity is fairly low. I worry that keeping too many pages just because they have some potential makes the project overly cluttered and makes it harder to access the content that is higher quality—I feel like we have an unfortunate reputation in this respect. There are stubs that have previously been kept because they had the potential for improvement but that have not been substantially improved in over twenty years. I just don't want to see the project get bogged down today under the weight of imagined future improvement. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:48, 7 November 2024 (UTC) :::Additionally, regarding issues like encyclopedic content pages, I do think it's important to consider what makes us different from our sister projects like Wikipedia. I suppose for [[Remembering the Templars]] specifically, I just don't see what makes it significantly different from [[w:Knights Templar]], [[w:History of the Knights Templar]], etc. When you combine this with the issues that I've described above and the fact that this page has had issues of structure and dewikification for over a decade, that is what led me to nominate it for deletion. I hope this explains my thought process a bit better! Cheers again —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:00, 7 November 2024 (UTC) ::::Try to bring Wikipedias here to extend stubs into textbooks if you see pure encyclopedic content pages (they can also request an import there if there is valid content). I did that when I imported pages, or covered similar content (did the same in other languages Wikibooks). The issue with the loss of contributors is not linked with this type of content (in fact I find it a inspiration to contribute) its is often easier to extend than to initiate and commit to a project from 0 (just like contributing to Open Source projects). ::::The reason we lose contributors in my view is due to heckle (especially from non contributors) and technological / bureaucratic complexity. Its a hard commitment to engage in a project a lot harder than with a simpler encyclopedic article. More solitary (unless it is a class project) and required more focus (people often do not want to get involved with the general community or dragged into political discussions around outside their own project) and hard to coordinate (a book has a larger vision and is structural dependent, has to have a flow and logic). This is why even a stub with a simple structural approach to a subject has some value here. If not for anything more than demonstrate that someone else was interested in the subject. If you notice the deletions discussions you can see these forces represented... ::::I had relied in another user running a script bot to do the dewikifications (from wikipedia) that was a reason for me to halt the work there at that time, I like to preserve wikilinks as much as possible to similar content exist here (bookshelves or local content get linked first). At the same time, and to give an pertinent example or how people get tired, I got reverted by a sysop by doing the same on my own contributions on another work (on wikijunior, on the ground of esthetics, inter project consistency or whatever, this is an example of the problem). Now in an age overwhelming content. where people expect immediacy more than quality, that publishing or duplicating the edit capabilities of Wikimedia locally is easier any barrier will push people away... ::::Regarding your inability to distinguish the content apart, it seems you have more a problem with Wikipedia than my "article" then. A Wikipedic article should be a reduction to the topic it covers and split in distinct interlinked articles when its grows too much, this is a problem with many wikipedia articles (and I understand why, the need to source and maintain cohesion is better done in a monolithic view of the subject). In any case a History Wikibook can not go much further than an aggregation of facts (and I did include my own speculation, that is a historic minority view point) in relation to the Cathars in linking all to the pope's geopolitical view of the world (and grab for power) and providing a contextual view of the subject matter (you do not see that on the wikipedian articles) not a link to the free masons :) that is mere hypothetical if tentatively logic or made logic by co-adoption. :::: Remember also that we consider an aggregation of Wikepedian articles and Encyclopedia and if the scope and intention is to educate it falls under a textbook definition, we have books like that here, some have survived deletion many time... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 05:07, 8 November 2024 (UTC) == [[Half-Life Computation]] == Doesn't seem in-scope as a book—just seems like a single page on how to do a specific calculation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:06, 5 April 2024 (UTC) * Keep -You have to consider also that projects can be merged (I have not checked if there is a possible match) in any case consider it a stub with valid content. It is a stub (November 2018) there is the problem of a namespace collision since it identifies as a specific topic (but as you identified is a very limited scope). Had I the time I would create a structure around it and contribute to it in the subject of Entropy or how our non-existing reality, is also "evaporating" into nothing... : Stubs are promoters to growth, like particles to rain... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:40, 7 November 2024 (UTC) == [[God and Religious Toleration]] == {{closed|1=clear consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:45, 24 October 2024 (UTC)}} This book was [[Wikibooks:Requests for deletion/God and Religious Toleration|previously nominated for deletion in 2011]], but kept largely because of its theoretical potential for improvement. It's now over a decade later, and no real improvement has been made. The book has the following issues: * A lack of clearly defined educational/instructional scope, structure, or aims overall * A lack of structure in each existing chapter * Significant NPOV and lack-of-evidence/citations I've gone through the book to try to improve it somewhat, but it largely feels like a disorganized dumping ground for a variety of abstract thoughts, many of which are heavily biased. At this point, given the amount of time it has had for improvement and the lack thereof, I don't think it has a place at Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:06, 20 April 2024 (UTC) :This book is very important in this day and age. Tolerance between religions is important for world peace. Without tolerance, chaos breaks out in the world. We should promote tolerance between religions. If the good guys keep quiet, the bad guys win. Is that what you want? A better way is to simply add a chapter of yours to the book and contribute your suggestions to world peace and the strengthening of love in the world. @[[User:Kittycataclysm|Kittycataclysm]] [[User:Nobody60|Nobody60]] ([[User talk:Nobody60|discuss]] • [[Special:Contributions/Nobody60|contribs]]) 08:46, 21 April 2024 (UTC) :Support deleting as per issues pointed out in nom. @[[User:Nobody60|Nobody60]], there are kilometers between deleting a bad, biased book and supporting religious intolerance or whatever it is you're accusing the nom of doing. Wikibooks is a project with a definite, reachable and concrete goal, which this book doesn't meet, never met and probably would never meet. --[[User:YuriNikolai|YuriNikolai]] ([[User talk:YuriNikolai|discuss]] • [[Special:Contributions/YuriNikolai|contribs]]) 02:10, 27 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:44, 27 April 2024 (UTC) :{{vd}}. Not only is this material not presented from a neutral point of view, it's not even a mainstream religious POV. Much like [[Developing A Universal Religion]] (also up for deletion), the goal of this text appears to be to create and promote a new syncretic religious movement, complete with its own new beliefs and practices; this is very much outside the scope of Wikibooks. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:24, 3 August 2024 (UTC) :{{vd}} as per [[WB:NOR]]: I am all for religious tolerance but all against religious acquiescence. [[User:Jeaucques Quœure|Jeaucques Quœure]] ([[User talk:Jeaucques Quœure|discuss]] • [[Special:Contributions/Jeaucques Quœure|contribs]]) 07:30, 26 September 2024 (UTC) {{end closed}} == [[Kashubian Dictionary]] == [[WB:DICT|Out of scope]] here; material should be hosted at Wiktionary (I've [[Wiktionary:Wiktionary:Information desk/2024/May|suggested it there]]). —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:39, 28 May 2024 (UTC) :Any content in this dictionary should be already be at [[wiktionary:Wiktionary:Requested entries (Kashubian)/Kashubian Dictionary]], where we will be able to slowly make entries for these. [[User:Vininn126|Vininn126]] ([[User talk:Vininn126|discuss]] • [[Special:Contributions/Vininn126|contribs]]) 21:51, 7 June 2024 (UTC) == [[Biblioþeke]] == Out of scope; seems to be an incomplete translation of the bible into a conlang. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:16, 29 May 2024 (UTC) == [[Wikis for Retail Store Managers]] == Abandoned, unclear scope, little content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:30, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:10, 17 October 2024 (UTC) == [[Human Geography]] == Abandoned for two decades without any development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:50, 8 June 2024 (UTC) * {{del}} per nom. The page has a list of chapters/sections, but these are not linked. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:56, 17 October 2024 (UTC) * {{del}} as I just tagged rfd.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:29, 2 November 2024 (UTC) == [[Neuro Linguistic Programming]] == Abandoned, very little meaningful content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:55, 17 October 2024 (UTC) == [[Scrapebook Linguistics]] == Abandoned, little to no meaningful content, unclear scope or potential for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:05, 8 June 2024 (UTC) :{{vd}} - an earlier version of this page was imported to Wikiversity as [[:v:Special:Permalink/15674|Portal:Linguistics]] (and subsequently edited into oblivion). The followup edits here aren't needed at WV. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:22, 25 July 2024 (UTC) == [[How to Be a Good Camp Counselor]] == Book is un/under-developed and abandoned, and the scope/potential for development is somewhat unclear to me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:07, 19 June 2024 (UTC) == [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989/Manual for Obtention of Driving licence: Signals and Lights]] == {{closed|1=Deleted--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:39, 2 November 2024 (UTC)}} Abandoned with non-English. Not belonging under [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989]], that Taiwanese administrative regulation since 1989 would not contain such a manual.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 16:55, 4 July 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per above —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 5 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:54, 17 October 2024 (UTC) {{end closed}} == [[Australian Property Law]] == Has only one page (introduction) with little content. It has been abandoned now for almost 20 years with no development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 10 July 2024 (UTC) * {{del}} per nom. Subpages are redlinks except for [[Australian Property Law/Introduction]], which does not save the material. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:09, 17 October 2024 (UTC) == [[Chinese Checkers]] == Extremely minimal content and abandoned for almost 20 years. Was previously nominated for deletion in 2006 but kept on the grounds that it could be expanded—clearly this has not happened. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:56, 11 July 2024 (UTC) == [[Niw Englisch]] == Fiction / original research - a conlang being (very slowly) created by the author of the book. The following books are closely related to that project and should be deleted as well: * [[NiwEnglisc]] * [[Þat englisce Alphabet]] * [[Lernung þer Stafræwe]] * [[Þe ettbære Garden]] as well as [[Biblioþeke]], which has already been nominated for deletion. :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' all per the above. I can find no evidence of the conlang outside Wikibooks and this sole author. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 14 July 2024 (UTC) == [[Mac OS X Leopard]] == Yet another abandoned, underdeveloped book on an obsolete operating system. (Mac OS X Leopard was released in 2007, and has been unsupported since 2011.) If there were more content in this book, it could possibly be refactored into a version-independent book about macOS, but there's effectively nothing here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 14 July 2024 (UTC) :{{vd}}. If it were more fleshed out, it could be kept as archival. However, there's so little there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:47, 24 July 2024 (UTC) == [[Advanced Calculus]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:29, 8 November 2024 (UTC)}} Abandoned for many years; consists of only one page for one theorem; no introduction or scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:32, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) {{end closed}} == [[Algebra and Number Theory]] == Abandoned >1 decade; consists of one page with very little content; no introduction or scope —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 20 July 2024 (UTC) * {{del}} per nom. Has a list of redlinks for subpages; there is one subpage: [[Algebra and Number Theory/Elementary Number Theory]]. This is not useful and has been abandoned for too long. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:05, 17 October 2024 (UTC) == [[Basic Ancient Greek]] == Abandoned for many years; very little actual content; only real contributor was an IP whose last edit was in 2015. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:37, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:06, 17 October 2024 (UTC) == [[Blender Game Engine for Morons]] == Abandoned for at least a decade; consists of main page only; almost no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:41, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[BOINC]] == Abandoned >1 decade; consists of main page only; almost no meaningful content; unclear scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:43, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[HP Open View NNM Exam Guide]] == One page only; abandoned >1 decade; little to no meaningful content; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:40, 21 July 2024 (UTC) :{{vd}}. [[w:HP OpenView|HP OpenView]] no longer exists as a product (and its successor HP Network Management Center has been discontinued as well!); neither does HP's certification exam for it. There's certainly no purpose in writing a new guide for a nonexistent exam for a obsolete product. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:54, 23 July 2024 (UTC) == [[Games]] == Abandoned for ~1 decade; little to no meaningful content; one paragraph in entire book; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:43, 21 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) == [[Biochemistry/The Cell]] == <div style="padding:0.5em;">[[File:Ambox warning yellow.svg|36px|link=]] The following discussion has concluded. Please open a new discussion for any further comments.</div> <div class="collapsible boilerplate metadata" style="background-color:#E3E9EE; margin:0em; padding:10px; border:1px solid #999999;"> <div class="title" style="background-color:#E3E9EE; padding:0px; text-align:left; vertical-align:middle;"><span style="vertical-align:middle;"> abandoned and undeveloped and per comments below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:47, 14 October 2024 (UTC)</span></div> <div class="body" style="text-align:left"> <hr /> Not particularly in scope for the book as it is; content is not particularly meaningful, educational, helpful, or well-developed (e.g. what does it mean for red blood cells to "helps in structure of the body"?) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 22 July 2024 (UTC) :{{vd}}. Even if the strange or outright wrong statements were removed (like describing a cell as "a small particle or organism", or implying that red and white blood cells are the only types of cell!), this sort of very basic explanation would be more at home in an introductory text on biology, not a text on biochemistry which assumes familiarity with these topics. (And indeed, there are much better explanations in books like [[Biology, Answering the Big Questions of Life/Cells]].) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 31 July 2024 (UTC) </div></div> == [[Folktales from the Mon People of Koh Kred]] == Seems to be out of scope, since Wikibooks does not host fiction. –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 28 July 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:11, 10 October 2024 (UTC) == [[High performance computing]] == Abandoned >1 decade; only contains main page with little content; scope not well-defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 28 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:52, 17 October 2024 (UTC) == [[Doom Modding]] == Abandoned >1 decade; main page only; very little content; unclear scope/path to completion —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 July 2024 (UTC) == [[Global Illumination and HDRI Maps in 3D Studio Max]] == Abandoned >1 decade; one chapter only, which contains only a handful of sentences. Not enough content and no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 28 July 2024 (UTC) *{{del}} per nom. The only subpage is this: [[Global Illumination and HDRI Maps in 3D Studio Max/HDRI Maps]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:51, 17 October 2024 (UTC) == Pages in [[Security+ Certification]] == Both [[Security+ Certification/Threats and Vulnerabilities]] and [[Security+ Certification/Network Security]] seem to be deprecated per @[[User:Tule-hog|Tule-hog]]'s recent overhaul; moreover, the pages in question seem to consist entirely of outlinks to Wikipedia. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:32, 3 August 2024 (UTC) == Obsolete Microsoft certification guides == * [[MCSE Server 2003 Certification Core Exams]] (exam 70-290 retired July 2013) * [[Microsoft Certified IT Professional]] (exam 70-444 retired June 2011; exam 70-450 retired July 2015) * [[Microsoft Certified Professional Developer]] (exams 70-526, 70-528, 70-529, 70-547, 70-548 retired June 2011; exams 70-290, 70-536 retired July 2013) These books all correspond to Microsoft certification exams which were retired in 2011-2015, and consist almost entirely of lists of course objectives copied from official course materials. There's almost no original educational content in any of these three books, and it's highly unlikely that they're going to be improved, since the certification exams they correspond to are no longer offered. (Reference for the exam retirement dates is: https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:27, 4 August 2024 (UTC) :{{vd}} per the above; additionally, some of these have very little content at all. Some pages may be candidates for speedy deletion. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 4 August 2024 (UTC) == [[GNU Autoconf]] == Little to no meaningful content, abandoned >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:42, 4 August 2024 (UTC) *{{vd}} per nom. Nothing particularly salvageable from this. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:07, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:50, 17 October 2024 (UTC) == [[IB Textbook Reviews]] == Very little meaningful educational content; seems like opinion at most? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:45, 4 August 2024 (UTC) == [[Kurdish]] == Very little content at all, no outline or potential for development; abandoned for years. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:46, 4 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:49, 17 October 2024 (UTC) == [[English-Arabic dictionary]] == Out of scope at Wikibooks since this is already completely covered by Wiktionary. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:49, 4 August 2024 (UTC) :{{comment}} [[English-Arabic dictionary/Colors in Arabic]] gets a nontrivial amount of traffic (~50 views/day). It'd be nice if we could at least preserve this as a redirect to an equivalent resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:38, 4 August 2024 (UTC) * '''Keep''': a book selecting vocabulary into introductory groups is very different from a lexical database such as Wiktionary. In Wiktionary, one does not know where to start learning the vocabulary. Admittedly, the title gives excessively broad scope, so something should probably be done. (The argument with 50 views/day has some force.) --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:48, 17 October 2024 (UTC) == [[Audacity]] == Abandoned 17 years; consists only of paltry introduction. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:43, 17 August 2024 (UTC) :{{vd}} - Audacity already has high-quality, freely licensed documentation at https://manual.audacityteam.org/ (and it's even a wiki!). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:57, 3 October 2024 (UTC) == [[Java Logging]] == Abandoned >1 decade; main page only; little to no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 17 August 2024 (UTC) * {{del}} per nom. All indicated subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:27, 17 October 2024 (UTC) == [[Mercury Programming]] == Abandoned >1 decade; undeveloped (single page only); no scope or plan for expansion/future development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:46, 17 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Mercury Programming/Types]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:26, 17 October 2024 (UTC) == [[Server+ Certification]] == Abandoned >1 decade; main page only; little to no meaningful content; mostly a few section headers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:48, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[NetBeans]] == No meaningful content; chapter list only; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 17 August 2024 (UTC) * {{del}} per nom. No subpages; all listed subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[Valgrind]] == Abandoned >1 decade; main page only; very little content; unclear scope; no path forward for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:52, 17 August 2024 (UTC) :{{vd}} - readers would be much better off with [https://valgrind.org/docs/manual/quick-start.html Valgrind's own quick start guide] (which is even freely licensed). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:32, 18 August 2024 (UTC) == [[Open Religion]] == Original research/soapbox/NPOV; abandoned >1 decade; main page only —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:40, 24 August 2024 (UTC) :{{vd}} - out of scope religious/philosophical content similar to [[#Developing a Universal Religion]], but less developed. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:58, 25 August 2024 (UTC) * {{del}}. For the record, the page starts: "This project is to create an Open Source religion and philosophy, transparent and accessible to all, directed to interest all without discrimination." By the way, I would not mind instead quasi-deleting by moving to userspace of the main author so that anyone can review later what kind of material is being deleted. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:03, 17 October 2024 (UTC) == [[Programming for the consultant]] == Abandoned >1 decade; little to no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:42, 24 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Programming for the consultant/Approaching A New Code Base]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:24, 17 October 2024 (UTC) == [[Metroid]] == Abandoned; main page only; no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:44, 24 August 2024 (UTC) * {{del}} per nom; could be speedy. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:00, 17 October 2024 (UTC) == [[Radiata Stories]] == Abandoned; little to no meaningful content; one page only with little content; no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 24 August 2024 (UTC) * {{del}} per nom. The one existing subpage is [[Radiata Stories/Character Recruitment]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:23, 17 October 2024 (UTC) == [[Dialect]] == Scope unclear; abandoned with no plan for development; little to no meaningful content; most pages qualify for speedy anyway. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 5 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:21, 17 October 2024 (UTC) == [[Programming Text Adventures In Basic]] == Main page only; abandoned >1 decade; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:17, 7 September 2024 (UTC) * {{del}} per nom, but I think a change of [[Wikibooks:Deletion policy]] is needed so that we can delete useless stubs abandoned for a long time. The nominated page cannot be of any use as is. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:59, 17 October 2024 (UTC) == [[UNIX Basics]] == Abandoned >1 decade; little to no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 7 September 2024 (UTC) * {{del}}: no meaningful content. A bit of meaningful content is in [[Guide to Unix]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:53, 17 October 2024 (UTC) == [[How to Write a Compiler]] == Abandoned >1 decade; main page only; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:24, 7 September 2024 (UTC) * {{del}} per nom: almost no meaningful content. No further reading. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:54, 17 October 2024 (UTC) == [[Script Languages Synopsis]] == Abandoned >1 decade; little content; unclear path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:26, 7 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:55, 17 October 2024 (UTC) == [[Epicurus]] == {{closed|Deleted. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 13:33, 6 October 2024 (UTC)}} Merging with the other Epicurus page. {{unsigned|TheoYalur}} {{end closed}} === [[Epicurus/On Matter - β (Περὶ φύσεως)]] === Merging with the other Epicurus page. [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' I'm leaning towards this whole book being deleted. The scope and structure of this book as an educational textbook are unclear and the whole thing seems potentially like original research or an essay. Unless I've missed something, the main editor seems unresponsive to querying and is repeatedly removing the query flags. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:13, 25 September 2024 (UTC) =={{anchor|Network+ Certification}}{{anchor|Security+ Certification}}{{anchor|A+ Certification}} CompTIA Certifications == [[Network+ Certification]] moved and updated at [[:v:Network+|Wikiversity]]. [[Security+ Certification]] moved and updated at [[:v:Security+ Certification|Wikiversity]]. [[A+ Certification]] moved and updated at [[:v:A+ Certification|Wikiversity]]. De-duplicating work across Wikimedia. Subpages should all be deleted as well. Might be worth leaving a redirect to WV for future users. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:02, 15 September 2024 (UTC) :I centralized at Wikiversity since the projects (as of now) are compendiums of links and resources based on the listed objectives of each exam, sometimes with explicitly suggested 'activities'. Very little in the way of 'book'-like exposition. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:06, 15 September 2024 (UTC) :Thought about leaving a {{tlx|MovedToWikiversity}} but that template has been deleted in the past. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 02:52, 3 October 2024 (UTC) == Wikiversal generated pages == * [[Wiki Assistant]] * [[User Page Builder]] *: Inexplicably, the links on the main page of this book all point to pages under [[:w:User:Hazel45onnie/User Page Builder]] '''on the English Wikipedia'''. I'm nominating those pages for deletion on enwiki as a separate process ([[:w:Wikipedia:Miscellany for deletion/Wikiversuite pages|here]]). * [[WikiverSuite/Wikiversant/Gunport Builder Demo 1]] * [[Wiki Tutorial]] *: Some of the internal links in this book are written as if the book is named [[Tutorial]] instead of [[Wiki Tutorial]]. You may have to use [[Special:Prefixindex/Wiki Tutorial]] to read through the whole thing. These books were all generated using Wikiversal, a third-party wiki editing tool written by [[User:Planotse]] which is no longer downloadable. Many of them contain broken internal links or other outdated content (like references to Wikiversity being a subproject of Wikibooks), and the HTML-heavy markup generated by Wikiversal makes them unreasonably difficult to edit. (As as aside, the markup used for these "presentations" is completely broken on the mobile site, e.g. [https://en.m.wikibooks.org/wiki/User_Page_Builder]. For some reason, the forward/back buttons are invisible, making it impossible to navigate from page to page.) The first three books are all instructions on how to use Wikiversal itself. Since it's no longer available, they are of no use. The fourth, while described as a "Wiki tutorial", primarily instructs users to use Wikiversal to build pages on the wiki; its main page should probably be redirected to [[Using Wikibooks]] as a much more comprehensive resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:44, 20 September 2024 (UTC) ::It isn't inexplicable that these pages and links are on the English Wikipedia. The spammers who developed these pages were primarily trying to peddle software for use on the English Wikipedia. Their pages on the English Wikipedia are also pending deletion as misusing Wikipedia for web hosting. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC) :::Based on the name and some of the user's (now deleted) activity on Wikiversity, I think the software was actually intended primarily for use on Wikibooks and/or Wikiversity. Why they decided to host some of its documentation on Wikipedia is a mystery. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:52, 22 September 2024 (UTC) ::::It isn't worth trying to explain the behavior of spammers. Sometimes the explanation is stupidity and greed. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:05, 22 September 2024 (UTC) ::<del>I haven't yet looked at the deletion request here. I am primarily an English Wikipedia editor, just as [[User:Omphalographer]] is primarily a Commons editor. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC)</del> *'''Delete All''' - Spam. These books were created twelve years ago to peddle software to new users. This was an abuse of Wikimedia for commercial purposes. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:51, 22 September 2024 (UTC) == [[PlanoTse Handbook for Job Search Automation]] == Much like the Wikiversal pages nominated above, this book is documentation for a piece of self-authored software by [[User:Planotse]] which is no longer available for download. I can't find any substantial references to this software anywhere online outside of this book itself, so it seems highly unlikely to be useful to anyone. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per the above. If the software is not currently available and was never widely available or notable previously, I don't see why keeping it is useful, even for historicity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 20 September 2024 (UTC) *'''Delete''' - This is more spam by a spammer. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:17, 22 September 2024 (UTC) == [[Roblox WF Wars]] == No textual content at all, just a couple of tables of data. I can't find any other information online about this game; for all we know, it may not even exist. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:30, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' as stated above. The content is so minimal, and the scope is not defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 20 September 2024 (UTC) == [[Salute, Jonathan!]] and its translations == : [[Alo, Jonathan!]] : [[Bune Ğonatan!]] : [[Dag, Jonathan!]] : [[Glidis, o Jonathan!]] : [[Hai, Jon!]] : [[Hallo, Jonathan!]] : [[Haloo, Jonatan!]] : [[Hay, Jonathan!]] : [[Hej, Jonathan! (Germanisch)]] : [[Hej, Jonathan!]] : [[Hela, Jonathan!]] : [[Holo, Jonathan!]] : [[Oila, Jonatan!]] : [[Salam, Jonathan!]] : [[Salom, Jonatan!]] : [[Salu, Jon!]] : [[Salut Jonathan!]] : [[Salute, Jonathan!]] : [[Salut, Jonathan! (Interocidental)]] : [[Salut, Jonathan!]] : [[Salut, ionatano!]] : [[Salute, Jonathan! (Novlingue)]] : [[Salute, Jonathan! (Romanica)]] : [[Saluto, Jonathan! (Ido)]] : [[Saluto, Jonathan!]] : [[Sesan Jon!]] : [[Simi, Jonathan!]] : [[Sin Chao, Jonathan!]] : [[Terve, Jonathan!]] : [[Toki a, jan Jonatan!]] : [[Àlŏ, Jonathan!]] : [[Òla, Ionatà!]] There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) :I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) :Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. :[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) :Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine :How easy would it be to migrate the entirety of Salute Jonathan to there? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) ::Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) :::Hi! :::Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. :::So the idea is the following: :::1 Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::2 The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::3 For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::4 The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. :::Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. :::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) ::::Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. ::::Cheers! –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) :::::Hello again, :::::It's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::[[Salute, Jonathan!/Capitul 1 - with notes]] :::::[[Salute, Jonathan!/Capitul 2 - with notes]] :::::[[Salute, Jonathan!/Capitul 3 - with notes]] :::::[[Salute, Jonathan!/Capitul 4 - with notes]] :::::[[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::::[[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) :::::::Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. :::::::The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. :::::::(I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) :::::::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) ::::::::Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) :::::::::Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. :::::::::For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) ::Keep. Content of educational value that helps learn languages. I think more translations to natural languages should be produced. -[[User:Bronto Rex|Bronto Rex]] ([[User talk:Bronto Rex|discuss]] • [[Special:Contributions/Bronto Rex|contribs]]) 14:02, 11 October 2024 (UTC) == [[Wooden Boats: Building and Repair]] == Abandoned almost 2 decades; a few pages, but each has only a few lines of text. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 7 October 2024 (UTC) == [[Stellar Scintillation]] == Extremely narrow scope that I don't think is quite book-worthy, especially given the low amount of content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:48, 7 October 2024 (UTC) == [[Future Teachers Meet Wiki]] == Abandoned; scope doesn't seem right for Wikibooks; underdeveloped. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 7 October 2024 (UTC) :{{vd}} - this feels like it was an attempt to use Wikibooks to organize a university project and collect student writings; even if it had made more progress, it's not clear that the outcome would have been a textbook. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 18 October 2024 (UTC) == [[IB Spanish]] == Abandoned 2 decades; seems like an idea for a book that was never actually implemented (minimal meaningful content) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:55, 7 October 2024 (UTC) == [[Luxembourgish]] == Abandoned; only non-main page is a list of movies—otherwise no meaningful content [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 7 October 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 07:25, 17 October 2024 (UTC) == [[Data Recovery]] == Seems out of scope for an educational book; a couple paragraphs at most with no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:58, 7 October 2024 (UTC) :{{vd}} - this is a worthy topic, but what's written here meanders between being vague and being actively bad advice. (The <code>strings</code> command is not an appropriate data recovery tool.) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 7 October 2024 (UTC) == [[Competitive Programming]] == Survived deletion previously on the justification that it could potentially be expanded, but it's since been over a decade with no improvement; extremely minimal educational content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:03, 7 October 2024 (UTC) == Pages by [[User:TheoYalur]] == * [[Henri Poincaré Reader]] * [[The Sight and Sound of the Greek Genocide Around the Kültürpark in Izmir]] * [[God Disorder]] These pages all appear to be personal essays, not educational texts. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 03:53, 14 October 2024 (UTC) :They are all original research. The editor asked to be unblocked so they could move to Wikiversity where OR is permitted. As they have now returned to creating these dubious pages, I have blocked them again and deleted the most recent creation as out of scope original research. The "reader" might be acceptable. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:37, 14 October 2024 (UTC) ::Thanks @[[User:MarcGarver|MarcGarver]]! I'm not sure about [[Henri Poincaré Reader]] since it has NPOV issues and it reads like a self-published essay piece with personal hypothesizing/opinion/research, no references, etc. Its educational scope is still somewhat unclear, as is the structure—it does not seem textbook-like in form or style. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:43, 14 October 2024 (UTC) :::You spent more time reading it than me I suspect. I only skimmed it, but I am sure you are right that it has the same issues as the other creations and should be deleted. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:14, 14 October 2024 (UTC) ::::With regard to the "Reader", at best it's a collection of loosely translated excerpts of texts which, for the most part, already have quality translations available on Wikisource. For instance, the section [[Henri Poincaré Reader#The Measure of Time (1898)]] is already translated as [[:s:The Foundations of Science/The Value of Science/Chapter 2]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 20:39, 14 October 2024 (UTC) == [[User:גני טווילרי]] == Please delete a redirection page of the former user page, which was not active in the En Wikibooks. Thank you. [[User:לובר|לובר]] ([[User talk:לובר|discuss]] • [[Special:Contributions/לובר|contribs]]) 02:15, 16 October 2024 (UTC) :{{re|לובר}} {{done}} though in the future please use {{tl|speedy}} for such deletions. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:53, 16 October 2024 (UTC) == [[Cyber Guide to ODU Career Management]] == As best I can tell, this was intended at one point to be an internal resource for employees of an ODU (Old Dominion University) career office; what little of it exists is primarily focused on minutae irrelevant to anyone outside that office, like [[Cyber Guide to ODU Career Management/Get Oriented/How we do it|who to email to schedule an information session]] or a collection of [[Cyber Guide to ODU Career Management/Get Up-to-Date/CAP Meeting|meeting notes]]. It's also all been essentially untouched since 2007. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:49, 18 October 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per stated reasoning —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:11, 18 October 2024 (UTC) == [[Golf]] == Extremely minimal content; educational/book scope is unclear; abandoned for >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 18 October 2024 (UTC) == [[Counterterror Joint Command]] == Unclear how this falls into WB scope—doesn't seem to be an educational book, and educational scope is undefined; abandoned as well —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:17, 18 October 2024 (UTC) :{{vd}} - this is perplexing; it's written like a policy proposal on behalf of an agency, not a textbook. From context I ''think'' it's about the [[:w:National Police Agency (Taiwan)]], but it's entirely unclear whether this was intended as an official report or some sort of weird fan fiction. Either way, it doesn't belong here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:31, 18 October 2024 (UTC) == [[Flight Attendant Manual]] == Abandoned almost 2 decades; consists only of a list of country codes and the phonetic alphabet. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:19, 18 October 2024 (UTC) == [[History of the ODU Art Department]] == A collection of fragmentary biographies and interviews of members of the ODU (Old Dominion University) art department. Some of these are individually interesting, I guess, but they don't really add up to a history of the department, let alone to an instructional text. Most editing activity appears to have been around 2008-09; there's almost no activity since then. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:22, 18 October 2024 (UTC) == [[Making Neon Signs]] == {{closed|1=Deleted. Was imported from WP (as the nominator suspected) and is still just a WP article, not a textbook. Out of scope and abandoned. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:31, 24 October 2024 (UTC)}} Seems just like an imported WP article; educational book scope unclear; abandoned for years —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:22, 18 October 2024 (UTC) {{end closed}} == [[Understanding the National Certificate of Educational Achievement]] == Scope unclear; very little content; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:30, 18 October 2024 (UTC) == [[Release Management]] == Abandoned almost 2 decades; very little content; unclear what its scope as a book is —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 18 October 2024 (UTC) == [[Management for IT Professionals]] == Minimal content; book scope unclear; abandoned almost 2 decades —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 18 October 2024 (UTC) == [[Living in Bangkok]] == Minimal content; consists of single chapter that contains likely outdated information —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:14, 18 October 2024 (UTC) == [[Limburgish]] == Abandoned; single chapter with minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:19, 18 October 2024 (UTC) :In general, I think deletion not solve anything. While the contents is minimal, it's still better than nothing at all. Rather, an invitation should be made to expand on it. --[[User:Ooswesthoesbes|Ooswesthoesbes]] ([[User talk:Ooswesthoesbes|discuss]] • [[Special:Contributions/Ooswesthoesbes|contribs]]) 06:27, 19 October 2024 (UTC) ::Hi @[[User:Ooswesthoesbes|Ooswesthoesbes]]! While I understand your perspective, I unfortunately disagree. Wikibooks has a huge number of abandoned stubs like this one, which I think results in clutter and makes the entire project less useful as a result. Due to their nature and structure, books require a greater committed investment to make than, say, WP articles, and these little scraps are rarely developed here. This book has had plenty of opportunity for expansion since you started it over a decade ago, but nobody has actually made any effort to do so. Based on the evidence from the past decade, when weighing the likelihood of the book being properly developed going forward versus the active negative impact of its continued presence in this state, I favor deletion. Moreover, in the rare case that someone came along later and wanted to revive this book specifically, it could be undeleted. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:55, 19 October 2024 (UTC) == [[Introduction to BASIC]] == Consists only of a few paragraphs and then a compilation of links —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:22, 18 October 2024 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) == [[HP Media Vault]] == Book-like scope is unclear; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:35, 18 October 2024 (UTC) :{{vd}} - how-to content isn't necessarily out of scope, but this only describes how to perform a single (fairly straightforward) task, for a product which has been off the market for ~15 years and is unlikely to be of interest to future editors. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:02, 20 October 2024 (UTC) == [[GUI Design Principles]] == Single page that was never properly integrated into a book as it should have been —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:37, 18 October 2024 (UTC) == [[Blender 3D: Game-making in Blender]] == Obsolete book with almost no content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:38, 18 October 2024 (UTC) :'''Delete''' —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:34, 3 November 2024 (UTC) :{{vd}} - as the note atop the table of contents says, "This book is obsolete. The Blender Game Engine was removed in 2018." No substantial content seems to ever have been written, and it seems unlikely that any will be. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:26, 4 November 2024 (UTC) == [[Basketball]] == Abandoned almost 2 decades; doesn't contain much beyond what you'd find in a WP article —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:41, 18 October 2024 (UTC) :I love the game, but yes, this has no real content. That said, there's little danger in keeping it and it could plausibly be improved, so I'm '''weak keep'''. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:33, 3 November 2024 (UTC) == [[Bug Free Programming]] == Unclear how exactly this constitutes an educational book; scope is unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:45, 18 October 2024 (UTC) :Wow, I didn't even remember this one. I think it's perfectly clear how this is educational and the scope couldn't be clearer, either, but I'm not going to finish it so go ahead and delete it. [[User:Főszerkesztő Úr|Főszerkesztő Úr]] ([[User talk:Főszerkesztő Úr|discuss]] • [[Special:Contributions/Főszerkesztő Úr|contribs]]) 12:35, 23 October 2024 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Citroën XM]] == Abandoned >1 decade; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:57, 18 October 2024 (UTC) == [[Happiness]] == Significant NPOV issues; not much content; abandoned for >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:58, 18 October 2024 (UTC) == [[Islamic Studies Grade 1]] == Abandoned >1 decade with very little content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:03, 19 October 2024 (UTC) :{{vd}} - the table of contents makes it clear that this book was intended to house POV religious content (e.g. a chapter titled "Allah Is The One"). This is incompatible with [[WB:NPOV]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:12, 20 October 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) == [[Austrian German]] == Abandoned almost 2 decades; scope not well outlined, main page only; minimal content insufficient for book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 24 October 2024 (UTC) :{{vd}} + comments on the page, like "[Austrian German] is much more mild, liberal and melodious unlike the German in Germany which is harsh, arrogant and even somewhat mastering", are confusing and I fail to see the need to keep such an underdeveloped "book". —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 19:47, 4 November 2024 (UTC) == Several pages in [[Hobo tourism]] and [[Hobo travel journalism]] == The following pages are entirely self-promotional content that is suitable for a blog but not WB (same contributor made the [[Wikibooks:Requests for deletion#Various pages in Basics of fine-art photography|now-deleted pages from above]]). * [[Hobo tourism/Third creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Third African trip]] * [[Hobo tourism/Visiting Death]] * [[Hobo tourism/One day in an Afghan prison]] * [[Hobo tourism/Around the world with empty pockets]] * [[Hobo tourism/Indian dreams]] * [[Hobo tourism/Two months of wandering and 14 days behind bars]] * [[Hobo tourism/Holiday of wandering mzungu]] * [[Hobo tourism/Afghan prisoner]] * [[Hobo tourism/Two hundred days in Latin America]] * [[Hobo tourism/Mongolian huyvaldagch]] * [[Hobo tourism/Six months by islands... and countries]] * [[Hobo tourism/Viktor Pinchuk's expedition to the Islands of Oceania]] * [[Hobo tourism/Viktor Pinchuk's solo expedition to Africa (2017/18)]] * [[Hobo tourism/Latin American expedition of Viktor Pinchuk]] * [[Hobo tourism/Bum tour of winter Japan]] * [[Hobo tourism/Afghan Expedition of Viktor Pinchuk]] * [[Hobo tourism/Second creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Creative trip to Mongolia]] * [[Hobo tourism/Creative trip to India]] * [[Hobo tourism/First creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Tropical fever in the bum tour (an example from practice)]] * [[Hobo tourism/African Robbery]] * [[Hobo travel journalism/With a backpack around the planet (rubric in the newspaper “Southern Capital”)]] * [[Hobo travel journalism/Returning from distant wanderings (rubric in the newspaper "Republic of Crimea")]] * [[Hobo travel journalism/Wind of wanderings (rubric in the newspaper "Crimean Time")]] * [[Hobo travel journalism/Around the World (rubric in the newspaper "Crimean Observer")]] * [[Hobo travel journalism/Travel notes (rubric in the ProX magazine)]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:01, 24 October 2024 (UTC) :{{vd}} - I would support deleting the entire book, not just these chapters. Even aside from the self-promotional content listed above, other chapters give some ''extremely questionable'' advice on sleeping arrangements, such as: :* Trespassing on private property ([[Hobo tourism/Overnight stays in long intercontinental journeys/In halls and stairwells]]; [[Hobo tourism/Overnight stays in long intercontinental journeys/On objects under construction]]) :* Sleeping inside archaeological sites ([[Hobo tourism/Overnight stays in long intercontinental journeys/In the ancient pyramid]]) :* Harassing locals if they don't let you into their house ([[Hobo tourism/Overnight stays in long intercontinental journeys/In Aboriginal dwellings]] - "independently knock on any dwelling, asking for a place under a canopy in the yard; with a negative result, repeating the action repeatedly") :[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:45, 25 October 2024 (UTC) :{{vd}} Agree with above. Delete all.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 03:38, 10 November 2024 (UTC) ::These articles have many internal links from English-language Wikinews. Removing the material would harm the news articles and the project as a whole. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 15:55, 10 November 2024 (UTC) :::Hi @[[User:Виктор Пинчук|Виктор Пинчук]]—while I understand your concern, I'm fairly certain that being linked to is not an acceptable justification in policy or otherwise for content that is inappropriate for Wikibooks in the first place. If that were the case, vandalism or other inappropriate material could be kept simply because it is linked to somewhere else. If consensus says that these pages don't belong at Wikibooks due to the unsuitability of the content, I think that decision will stand independently. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:28, 10 November 2024 (UTC) == files from Phoenix Wright == Used for decorative, not educational, purposes ([[WB:NFCC]]#8): [[:File:AAIME Official Artwork.jpg]], [[:File:PWAAJFA episode1.png]], [[:File:PW JFA Official Artwork.jpg]], [[:File:Gyakuten Kenji 2 Official Artwork.png]], [[:File:AJ officialart.jpg]], [[:File:PW T&T Official Artwork.jpg]], [[:File:SMB2 dream staircase art.jpg]]. Galleries ([[WB:NFCC]]#3): [[:File:Moonflow 27.jpg]], [[:File:Macalania 18.jpg]], [[:File:Chauncey LM.jpg]] , [[:File:King Boo LM.jpg]], [[:File:Boolossus LM.jpg]]. — Ирука<sup>[[user:Iruka13|13]]</sup> 16:22, 30 October 2024 (UTC) :My thoughts below: :* [[:File:AAIME Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PWAAJFA episode1.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW JFA Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Gyakuten Kenji 2 Official Artwork.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:AJ officialart.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW T&T Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:SMB2 dream staircase art.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Moonflow 27.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' low resolution and seems to be illustrating something :* [[:File:Macalania 18.jpg]] Uncertain :* [[:File:Chauncey LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:King Boo LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:Boolossus LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:12, 30 October 2024 (UTC) n7wxx4a0cxh7sxt2ioli8rtcf1afefl 4444308 4444304 2024-11-10T17:35:39Z Kittycataclysm 3371989 /* Remembering the Templars */ Reply 4444308 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{Requests for deletion/Archives}} {{Requests for deletion/Using Template:Icon}} {{clear}} = Undeletion = {{shortcut|WB:RFU}} {{Requests for deletion/New undeletion}} {{Requests for deletion/Undeletion intro}} ==[[City Of Heroes]]== {{closed|Was undeleted —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:39, 17 August 2024 (UTC)}} A book that was deleted when strategy guides were not allowed. See discussion -<span style="background:yellow;>User:Slava Ukraini Heroyam Slava 123 <span style="color:blue span> 17:13, 12 November 2022 (UTC)</span></span> :This book was deleted about 16 years ago and only one page had a significant amount of content. It could all be undeleted but would probably be better re-made from scratch.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 01:34, 11 August 2023 (UTC) ::'''Undeleted it''' with many first-level subpages. Yet [[City Of Heroes/Archetypes]], [[City Of Heroes/Powers]], [[City Of Heroes/General Help]], [[City Of Heroes/Enhancements]], [[City Of Heroes/Binds]] and [[City Of Heroes/Badges]] have even more subpages to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:50, 19 August 2023 (UTC) :::'''Undeleted''' many subpages of the above subpages, less obviously useless versions. Yet any administrators are hereby advised to check [[Special:Undelete]] for more to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 21:52, 21 August 2023 (UTC) :Remaking this content from scratch might be difficult - the game shut down in 2012. There's a small community of users running private servers based on leaked source code (!), but far fewer than when the game was active. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:55, 26 August 2023 (UTC) {{end closed}} == [[Mass undeletion of books that were deleted when strategy guides were not allowed.]]== {{closed|Not done —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:40, 17 August 2024 (UTC)}} Couldn't we just mass undelete these books? [[User:Garfieldcat1978|Garfieldcat1978]] ([[User talk:Garfieldcat1978|discuss]] • [[Special:Contributions/Garfieldcat1978|contribs]]) 18:25, 20 February 2023 (UTC) Letting bot archive as needed. :Listing which works would be much better.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:51, 19 August 2023 (UTC) {{end closed}} = Deletion = {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} {{clear}} <!-- New nominations go at the bottom of page --> == [[Dynamical Systems]] == This seems to be abandoned book, the only content is largly vacuous. I don't believe it is likely to be extended or worked on because it is both a technical topic, and represents to original author's goals for such a book (graduate level vs undergraduate). [[User:Thenub314|Thenub]][[Special:Contributions/Thenub314|314]] ([[User talk:Thenub314|talk]]) 20:46, 23 February 2023 (UTC) :It does seem abandoned; the single existing page hasn't been updated since 2018 and the main book page hasn't been updated since 2019. Unless someone quickly decides to pick up on it, I can't really see it staying here at Wikibooks :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 24 February 2023 (UTC) ::Hello there, ::currently I'm working over at the German page, because I have begun to work with a new, more intuitive terminology. My current plan is to first finish the German version and then possibly to translate it. To finish the German version will take at least until the end of this year. Until then, you shouldn't expect any progress. Afterwards, I may feel inclined to pick up the project, depending on my human rights situation. --[[User:Mathmensch|Mathmensch]] ([[User talk:Mathmensch|discuss]] • [[Special:Contributions/Mathmensch|contribs]]) 09:26, 8 April 2023 (UTC) * '''Delete'''. While this is a stub and we should not deleted them the content present is extremely limited and by the reply above it is duplicated in another language project with the intention of migration here later. Since it also occupies a topic space name it also becomes a blocker to other similar works. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:26, 7 November 2024 (UTC) == Files from [[Illustrated Guide to the world of Spira (FFX and FFX-2)]] == {{closed|1=Deleted for lack of a valid NFCC. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:34, 24 October 2024 (UTC)}} Used for decorative, not educational, purposes: [[:File:Float 13.jpg]], [[:File:Grabbed Frame 15.jpg]], [[:File:Gandof.jpg]], [[:File:Ohalland.jpg]], [[:File:Braskascan1.jpg]], [[:File:Tidus FFX.png]] ([[WB:NFCC]]#8). — Ирука<sup>[[user:Iruka13|13]]</sup> 13:54, 17 July 2023 (UTC) :Sure, I think I can agree on the removal of these [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 12:24, 22 July 2023 (UTC) {{end closed}} == Various pages in [[Basics of fine-art photography]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:38, 24 October 2024 (UTC)}} The following pages in [[Basics of fine-art photography]] seem out of scope because they consist entirely of personal promotion/advertisement for the author's photography: * [[Basics of fine-art photography/Egypt and Egyptians II]] * [[Basics of fine-art photography/Lights of Moscow]] * [[Basics of fine-art photography/Ethiopia through the eyes of traveler]] * [[Basics of fine-art photography/On the roads of India]] * [[Basics of fine-art photography/14 days in Mongolia]] * [[Basics of fine-art photography/Egypt and Egyptians III]] * [[Basics of fine-art photography/Hitchhiking across Sudan]] * [[Basics of fine-art photography/January in Japan]] * [[Basics of fine-art photography/Uganda: tribes and civilization]] * [[Basics of fine-art photography/Tribes of Kenya]] * [[Basics of fine-art photography/Afghanistan, 2008]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:13, 25 February 2024 (UTC) :Frankly, the entire book appears to be a vehicle for the author to promote his own photography. The few sentences of instructional content on pages like [[Basics of fine-art photography/Creating works in macro photography]] are practically useless; that one amounts to "to take macro photos, set your camera to macro mode and hold it close to the subject, or read another book for more information". Other pages like [[Basics of fine-art photography/Interior photography in hobo tours]] or [[Basics of fine-art photography/Taking pictures of homeless people]] provide essentially no information on photography technique at all, and seem to mostly be intended as jumping-off points to showcase more of the author's photos. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:40, 11 March 2024 (UTC) {{end closed}} == [[History of Grand-Popo]] == {{closed|Deleted. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 08:11, 22 September 2024 (UTC)}} Suited for enWP not WB, appears to be a simple import with no likely development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:28, 1 April 2024 (UTC) {{end closed}} == [[Selected Essays]] == {{closed|1=Deleted}} Seems completely out of WB scope; it's just a collection of unrelated personal essays. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 1 April 2024 (UTC) :{{vd}} Agreed, personal essays and not ones that can easily be used, at that. [[User:Icandostuff|<span style="color:Red">I</span> <span style="color:Yellow">can</span> <span style="color:Lime">do</span> <span style="color:#00ffff">stuff</span><span style="color:Blue">!</span> ]] ([[User talk:Icandostuff|talk]]) 12:52, 11 June 2024 (UTC) {{end closed}} == [[Remembering the Templars]] == Seems to be pretty much an encyclopedic article about the Knights Templar, which makes it out of scope; enormous amount of links to enWP and may even just be an import. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:59, 1 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:53, 5 April 2024 (UTC) *'''Keep'''. This is one of [[User:Panic2k4|Panic2k4's]] books, not a WP import. They remain an active, if sporadic, contributor and may well return to this in the future. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:41, 24 October 2024 (UTC) *:I just realized they were never notified about the nom, so I'll go ahead and do so on their talk page for posterity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:10, 24 October 2024 (UTC) *'''Keep''' I urge you to consider that your view of what a encyclopedic article is may be too ample. Please avert proposing deletions simply on those grounds, especially when real content is present, if a direct import can be matched give it more time if someone has gone to the work of requesting and performing an import from Wikipedia they (or others) may us it to extend the content into a book... I understand that you may be busy but you need to dedicate more time when content is present. A simple examination of the proposed work would make the structural effort obvious even if not the creative content added. :I think deletion of imports from Wikipedia was already discussed somewhere else, probably on the deletion policy talks and some consensus was formed around it that no real lost or gain comes from performing them directly (considering the necessary steps some time should be granted if not blocking a specific namespace) and that simple non imported (without the edit history) duplication of Wikipedia content should not have the same consideration falling a bit above nonsense contributions (depending on the editor's history). :There is ample discussion regarding project stubs, that they should be preserved simply if having structural value... :I often dedicated time to salvage abandoned imports (I have or had import rights and did some of the import request). I can not remember how I started this project but along with an historic and curiosity on the subject, I did do some imports to it, I'm aware that some I left unfinished (and that the foot notes are indeed a eye sore at the end of the book structure) due to lack of time to continue on a single project and due to the issues around the C++ Programming book that made my reconsider my priorities... :If some other content was deleted simply due to be an "encyclopedic article" I would ask for anyone with time to examine those deletions. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:14, 7 November 2024 (UTC) ::Hi @[[User:Panic2k4|Panic2k4]]! I definitely appreciate your perspective. My main concern regarding things like this is the needs of the community and the project right now. I understand the logic behind keeping books and pages that have potential, but our project seems to have hemorrhaged editors over the last several years, and activity is fairly low. I worry that keeping too many pages just because they have some potential makes the project overly cluttered and makes it harder to access the content that is higher quality—I feel like we have an unfortunate reputation in this respect. There are stubs that have previously been kept because they had the potential for improvement but that have not been substantially improved in over twenty years. I just don't want to see the project get bogged down today under the weight of imagined future improvement. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:48, 7 November 2024 (UTC) :::Additionally, regarding issues like encyclopedic content pages, I do think it's important to consider what makes us different from our sister projects like Wikipedia. I suppose for [[Remembering the Templars]] specifically, I just don't see what makes it significantly different from [[w:Knights Templar]], [[w:History of the Knights Templar]], etc. When you combine this with the issues that I've described above and the fact that this page has had issues of structure and dewikification for over a decade, that is what led me to nominate it for deletion. I hope this explains my thought process a bit better! Cheers again —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:00, 7 November 2024 (UTC) ::::Try to bring Wikipedias here to extend stubs into textbooks if you see pure encyclopedic content pages (they can also request an import there if there is valid content). I did that when I imported pages, or covered similar content (did the same in other languages Wikibooks). The issue with the loss of contributors is not linked with this type of content (in fact I find it a inspiration to contribute) its is often easier to extend than to initiate and commit to a project from 0 (just like contributing to Open Source projects). ::::The reason we lose contributors in my view is due to heckle (especially from non contributors) and technological / bureaucratic complexity. Its a hard commitment to engage in a project a lot harder than with a simpler encyclopedic article. More solitary (unless it is a class project) and required more focus (people often do not want to get involved with the general community or dragged into political discussions around outside their own project) and hard to coordinate (a book has a larger vision and is structural dependent, has to have a flow and logic). This is why even a stub with a simple structural approach to a subject has some value here. If not for anything more than demonstrate that someone else was interested in the subject. If you notice the deletions discussions you can see these forces represented... ::::I had relied in another user running a script bot to do the dewikifications (from wikipedia) that was a reason for me to halt the work there at that time, I like to preserve wikilinks as much as possible to similar content exist here (bookshelves or local content get linked first). At the same time, and to give an pertinent example or how people get tired, I got reverted by a sysop by doing the same on my own contributions on another work (on wikijunior, on the ground of esthetics, inter project consistency or whatever, this is an example of the problem). Now in an age overwhelming content. where people expect immediacy more than quality, that publishing or duplicating the edit capabilities of Wikimedia locally is easier any barrier will push people away... ::::Regarding your inability to distinguish the content apart, it seems you have more a problem with Wikipedia than my "article" then. A Wikipedic article should be a reduction to the topic it covers and split in distinct interlinked articles when its grows too much, this is a problem with many wikipedia articles (and I understand why, the need to source and maintain cohesion is better done in a monolithic view of the subject). In any case a History Wikibook can not go much further than an aggregation of facts (and I did include my own speculation, that is a historic minority view point) in relation to the Cathars in linking all to the pope's geopolitical view of the world (and grab for power) and providing a contextual view of the subject matter (you do not see that on the wikipedian articles) not a link to the free masons :) that is mere hypothetical if tentatively logic or made logic by co-adoption. :::: Remember also that we consider an aggregation of Wikepedian articles and Encyclopedia and if the scope and intention is to educate it falls under a textbook definition, we have books like that here, some have survived deletion many time... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 05:07, 8 November 2024 (UTC) :::::@[[User:Panic2k4|Panic2k4]] I think you and I share the same general values about the project, but we simply disagree on our conclusions. I'll let other people weigh in here. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:35, 10 November 2024 (UTC) == [[Half-Life Computation]] == Doesn't seem in-scope as a book—just seems like a single page on how to do a specific calculation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:06, 5 April 2024 (UTC) * Keep -You have to consider also that projects can be merged (I have not checked if there is a possible match) in any case consider it a stub with valid content. It is a stub (November 2018) there is the problem of a namespace collision since it identifies as a specific topic (but as you identified is a very limited scope). Had I the time I would create a structure around it and contribute to it in the subject of Entropy or how our non-existing reality, is also "evaporating" into nothing... : Stubs are promoters to growth, like particles to rain... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:40, 7 November 2024 (UTC) == [[God and Religious Toleration]] == {{closed|1=clear consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:45, 24 October 2024 (UTC)}} This book was [[Wikibooks:Requests for deletion/God and Religious Toleration|previously nominated for deletion in 2011]], but kept largely because of its theoretical potential for improvement. It's now over a decade later, and no real improvement has been made. The book has the following issues: * A lack of clearly defined educational/instructional scope, structure, or aims overall * A lack of structure in each existing chapter * Significant NPOV and lack-of-evidence/citations I've gone through the book to try to improve it somewhat, but it largely feels like a disorganized dumping ground for a variety of abstract thoughts, many of which are heavily biased. At this point, given the amount of time it has had for improvement and the lack thereof, I don't think it has a place at Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:06, 20 April 2024 (UTC) :This book is very important in this day and age. Tolerance between religions is important for world peace. Without tolerance, chaos breaks out in the world. We should promote tolerance between religions. If the good guys keep quiet, the bad guys win. Is that what you want? A better way is to simply add a chapter of yours to the book and contribute your suggestions to world peace and the strengthening of love in the world. @[[User:Kittycataclysm|Kittycataclysm]] [[User:Nobody60|Nobody60]] ([[User talk:Nobody60|discuss]] • [[Special:Contributions/Nobody60|contribs]]) 08:46, 21 April 2024 (UTC) :Support deleting as per issues pointed out in nom. @[[User:Nobody60|Nobody60]], there are kilometers between deleting a bad, biased book and supporting religious intolerance or whatever it is you're accusing the nom of doing. Wikibooks is a project with a definite, reachable and concrete goal, which this book doesn't meet, never met and probably would never meet. --[[User:YuriNikolai|YuriNikolai]] ([[User talk:YuriNikolai|discuss]] • [[Special:Contributions/YuriNikolai|contribs]]) 02:10, 27 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:44, 27 April 2024 (UTC) :{{vd}}. Not only is this material not presented from a neutral point of view, it's not even a mainstream religious POV. Much like [[Developing A Universal Religion]] (also up for deletion), the goal of this text appears to be to create and promote a new syncretic religious movement, complete with its own new beliefs and practices; this is very much outside the scope of Wikibooks. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:24, 3 August 2024 (UTC) :{{vd}} as per [[WB:NOR]]: I am all for religious tolerance but all against religious acquiescence. [[User:Jeaucques Quœure|Jeaucques Quœure]] ([[User talk:Jeaucques Quœure|discuss]] • [[Special:Contributions/Jeaucques Quœure|contribs]]) 07:30, 26 September 2024 (UTC) {{end closed}} == [[Kashubian Dictionary]] == [[WB:DICT|Out of scope]] here; material should be hosted at Wiktionary (I've [[Wiktionary:Wiktionary:Information desk/2024/May|suggested it there]]). —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:39, 28 May 2024 (UTC) :Any content in this dictionary should be already be at [[wiktionary:Wiktionary:Requested entries (Kashubian)/Kashubian Dictionary]], where we will be able to slowly make entries for these. [[User:Vininn126|Vininn126]] ([[User talk:Vininn126|discuss]] • [[Special:Contributions/Vininn126|contribs]]) 21:51, 7 June 2024 (UTC) == [[Biblioþeke]] == Out of scope; seems to be an incomplete translation of the bible into a conlang. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:16, 29 May 2024 (UTC) == [[Wikis for Retail Store Managers]] == Abandoned, unclear scope, little content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:30, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:10, 17 October 2024 (UTC) == [[Human Geography]] == Abandoned for two decades without any development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:50, 8 June 2024 (UTC) * {{del}} per nom. The page has a list of chapters/sections, but these are not linked. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:56, 17 October 2024 (UTC) * {{del}} as I just tagged rfd.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:29, 2 November 2024 (UTC) == [[Neuro Linguistic Programming]] == Abandoned, very little meaningful content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:55, 17 October 2024 (UTC) == [[Scrapebook Linguistics]] == Abandoned, little to no meaningful content, unclear scope or potential for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:05, 8 June 2024 (UTC) :{{vd}} - an earlier version of this page was imported to Wikiversity as [[:v:Special:Permalink/15674|Portal:Linguistics]] (and subsequently edited into oblivion). The followup edits here aren't needed at WV. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:22, 25 July 2024 (UTC) == [[How to Be a Good Camp Counselor]] == Book is un/under-developed and abandoned, and the scope/potential for development is somewhat unclear to me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:07, 19 June 2024 (UTC) == [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989/Manual for Obtention of Driving licence: Signals and Lights]] == {{closed|1=Deleted--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:39, 2 November 2024 (UTC)}} Abandoned with non-English. Not belonging under [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989]], that Taiwanese administrative regulation since 1989 would not contain such a manual.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 16:55, 4 July 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per above —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 5 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:54, 17 October 2024 (UTC) {{end closed}} == [[Australian Property Law]] == Has only one page (introduction) with little content. It has been abandoned now for almost 20 years with no development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 10 July 2024 (UTC) * {{del}} per nom. Subpages are redlinks except for [[Australian Property Law/Introduction]], which does not save the material. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:09, 17 October 2024 (UTC) == [[Chinese Checkers]] == Extremely minimal content and abandoned for almost 20 years. Was previously nominated for deletion in 2006 but kept on the grounds that it could be expanded—clearly this has not happened. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:56, 11 July 2024 (UTC) == [[Niw Englisch]] == Fiction / original research - a conlang being (very slowly) created by the author of the book. The following books are closely related to that project and should be deleted as well: * [[NiwEnglisc]] * [[Þat englisce Alphabet]] * [[Lernung þer Stafræwe]] * [[Þe ettbære Garden]] as well as [[Biblioþeke]], which has already been nominated for deletion. :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' all per the above. I can find no evidence of the conlang outside Wikibooks and this sole author. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 14 July 2024 (UTC) == [[Mac OS X Leopard]] == Yet another abandoned, underdeveloped book on an obsolete operating system. (Mac OS X Leopard was released in 2007, and has been unsupported since 2011.) If there were more content in this book, it could possibly be refactored into a version-independent book about macOS, but there's effectively nothing here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 14 July 2024 (UTC) :{{vd}}. If it were more fleshed out, it could be kept as archival. However, there's so little there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:47, 24 July 2024 (UTC) == [[Advanced Calculus]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:29, 8 November 2024 (UTC)}} Abandoned for many years; consists of only one page for one theorem; no introduction or scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:32, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) {{end closed}} == [[Algebra and Number Theory]] == Abandoned >1 decade; consists of one page with very little content; no introduction or scope —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 20 July 2024 (UTC) * {{del}} per nom. Has a list of redlinks for subpages; there is one subpage: [[Algebra and Number Theory/Elementary Number Theory]]. This is not useful and has been abandoned for too long. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:05, 17 October 2024 (UTC) == [[Basic Ancient Greek]] == Abandoned for many years; very little actual content; only real contributor was an IP whose last edit was in 2015. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:37, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:06, 17 October 2024 (UTC) == [[Blender Game Engine for Morons]] == Abandoned for at least a decade; consists of main page only; almost no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:41, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[BOINC]] == Abandoned >1 decade; consists of main page only; almost no meaningful content; unclear scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:43, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[HP Open View NNM Exam Guide]] == One page only; abandoned >1 decade; little to no meaningful content; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:40, 21 July 2024 (UTC) :{{vd}}. [[w:HP OpenView|HP OpenView]] no longer exists as a product (and its successor HP Network Management Center has been discontinued as well!); neither does HP's certification exam for it. There's certainly no purpose in writing a new guide for a nonexistent exam for a obsolete product. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:54, 23 July 2024 (UTC) == [[Games]] == Abandoned for ~1 decade; little to no meaningful content; one paragraph in entire book; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:43, 21 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) == [[Biochemistry/The Cell]] == <div style="padding:0.5em;">[[File:Ambox warning yellow.svg|36px|link=]] The following discussion has concluded. Please open a new discussion for any further comments.</div> <div class="collapsible boilerplate metadata" style="background-color:#E3E9EE; margin:0em; padding:10px; border:1px solid #999999;"> <div class="title" style="background-color:#E3E9EE; padding:0px; text-align:left; vertical-align:middle;"><span style="vertical-align:middle;"> abandoned and undeveloped and per comments below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:47, 14 October 2024 (UTC)</span></div> <div class="body" style="text-align:left"> <hr /> Not particularly in scope for the book as it is; content is not particularly meaningful, educational, helpful, or well-developed (e.g. what does it mean for red blood cells to "helps in structure of the body"?) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 22 July 2024 (UTC) :{{vd}}. Even if the strange or outright wrong statements were removed (like describing a cell as "a small particle or organism", or implying that red and white blood cells are the only types of cell!), this sort of very basic explanation would be more at home in an introductory text on biology, not a text on biochemistry which assumes familiarity with these topics. (And indeed, there are much better explanations in books like [[Biology, Answering the Big Questions of Life/Cells]].) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 31 July 2024 (UTC) </div></div> == [[Folktales from the Mon People of Koh Kred]] == Seems to be out of scope, since Wikibooks does not host fiction. –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 28 July 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:11, 10 October 2024 (UTC) == [[High performance computing]] == Abandoned >1 decade; only contains main page with little content; scope not well-defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 28 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:52, 17 October 2024 (UTC) == [[Doom Modding]] == Abandoned >1 decade; main page only; very little content; unclear scope/path to completion —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 July 2024 (UTC) == [[Global Illumination and HDRI Maps in 3D Studio Max]] == Abandoned >1 decade; one chapter only, which contains only a handful of sentences. Not enough content and no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 28 July 2024 (UTC) *{{del}} per nom. The only subpage is this: [[Global Illumination and HDRI Maps in 3D Studio Max/HDRI Maps]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:51, 17 October 2024 (UTC) == Pages in [[Security+ Certification]] == Both [[Security+ Certification/Threats and Vulnerabilities]] and [[Security+ Certification/Network Security]] seem to be deprecated per @[[User:Tule-hog|Tule-hog]]'s recent overhaul; moreover, the pages in question seem to consist entirely of outlinks to Wikipedia. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:32, 3 August 2024 (UTC) == Obsolete Microsoft certification guides == * [[MCSE Server 2003 Certification Core Exams]] (exam 70-290 retired July 2013) * [[Microsoft Certified IT Professional]] (exam 70-444 retired June 2011; exam 70-450 retired July 2015) * [[Microsoft Certified Professional Developer]] (exams 70-526, 70-528, 70-529, 70-547, 70-548 retired June 2011; exams 70-290, 70-536 retired July 2013) These books all correspond to Microsoft certification exams which were retired in 2011-2015, and consist almost entirely of lists of course objectives copied from official course materials. There's almost no original educational content in any of these three books, and it's highly unlikely that they're going to be improved, since the certification exams they correspond to are no longer offered. (Reference for the exam retirement dates is: https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:27, 4 August 2024 (UTC) :{{vd}} per the above; additionally, some of these have very little content at all. Some pages may be candidates for speedy deletion. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 4 August 2024 (UTC) == [[GNU Autoconf]] == Little to no meaningful content, abandoned >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:42, 4 August 2024 (UTC) *{{vd}} per nom. Nothing particularly salvageable from this. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:07, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:50, 17 October 2024 (UTC) == [[IB Textbook Reviews]] == Very little meaningful educational content; seems like opinion at most? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:45, 4 August 2024 (UTC) == [[Kurdish]] == Very little content at all, no outline or potential for development; abandoned for years. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:46, 4 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:49, 17 October 2024 (UTC) == [[English-Arabic dictionary]] == Out of scope at Wikibooks since this is already completely covered by Wiktionary. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:49, 4 August 2024 (UTC) :{{comment}} [[English-Arabic dictionary/Colors in Arabic]] gets a nontrivial amount of traffic (~50 views/day). It'd be nice if we could at least preserve this as a redirect to an equivalent resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:38, 4 August 2024 (UTC) * '''Keep''': a book selecting vocabulary into introductory groups is very different from a lexical database such as Wiktionary. In Wiktionary, one does not know where to start learning the vocabulary. Admittedly, the title gives excessively broad scope, so something should probably be done. (The argument with 50 views/day has some force.) --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:48, 17 October 2024 (UTC) == [[Audacity]] == Abandoned 17 years; consists only of paltry introduction. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:43, 17 August 2024 (UTC) :{{vd}} - Audacity already has high-quality, freely licensed documentation at https://manual.audacityteam.org/ (and it's even a wiki!). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:57, 3 October 2024 (UTC) == [[Java Logging]] == Abandoned >1 decade; main page only; little to no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 17 August 2024 (UTC) * {{del}} per nom. All indicated subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:27, 17 October 2024 (UTC) == [[Mercury Programming]] == Abandoned >1 decade; undeveloped (single page only); no scope or plan for expansion/future development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:46, 17 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Mercury Programming/Types]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:26, 17 October 2024 (UTC) == [[Server+ Certification]] == Abandoned >1 decade; main page only; little to no meaningful content; mostly a few section headers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:48, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[NetBeans]] == No meaningful content; chapter list only; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 17 August 2024 (UTC) * {{del}} per nom. No subpages; all listed subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[Valgrind]] == Abandoned >1 decade; main page only; very little content; unclear scope; no path forward for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:52, 17 August 2024 (UTC) :{{vd}} - readers would be much better off with [https://valgrind.org/docs/manual/quick-start.html Valgrind's own quick start guide] (which is even freely licensed). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:32, 18 August 2024 (UTC) == [[Open Religion]] == Original research/soapbox/NPOV; abandoned >1 decade; main page only —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:40, 24 August 2024 (UTC) :{{vd}} - out of scope religious/philosophical content similar to [[#Developing a Universal Religion]], but less developed. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:58, 25 August 2024 (UTC) * {{del}}. For the record, the page starts: "This project is to create an Open Source religion and philosophy, transparent and accessible to all, directed to interest all without discrimination." By the way, I would not mind instead quasi-deleting by moving to userspace of the main author so that anyone can review later what kind of material is being deleted. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:03, 17 October 2024 (UTC) == [[Programming for the consultant]] == Abandoned >1 decade; little to no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:42, 24 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Programming for the consultant/Approaching A New Code Base]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:24, 17 October 2024 (UTC) == [[Metroid]] == Abandoned; main page only; no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:44, 24 August 2024 (UTC) * {{del}} per nom; could be speedy. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:00, 17 October 2024 (UTC) == [[Radiata Stories]] == Abandoned; little to no meaningful content; one page only with little content; no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 24 August 2024 (UTC) * {{del}} per nom. The one existing subpage is [[Radiata Stories/Character Recruitment]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:23, 17 October 2024 (UTC) == [[Dialect]] == Scope unclear; abandoned with no plan for development; little to no meaningful content; most pages qualify for speedy anyway. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 5 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:21, 17 October 2024 (UTC) == [[Programming Text Adventures In Basic]] == Main page only; abandoned >1 decade; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:17, 7 September 2024 (UTC) * {{del}} per nom, but I think a change of [[Wikibooks:Deletion policy]] is needed so that we can delete useless stubs abandoned for a long time. The nominated page cannot be of any use as is. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:59, 17 October 2024 (UTC) == [[UNIX Basics]] == Abandoned >1 decade; little to no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 7 September 2024 (UTC) * {{del}}: no meaningful content. A bit of meaningful content is in [[Guide to Unix]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:53, 17 October 2024 (UTC) == [[How to Write a Compiler]] == Abandoned >1 decade; main page only; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:24, 7 September 2024 (UTC) * {{del}} per nom: almost no meaningful content. No further reading. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:54, 17 October 2024 (UTC) == [[Script Languages Synopsis]] == Abandoned >1 decade; little content; unclear path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:26, 7 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:55, 17 October 2024 (UTC) == [[Epicurus]] == {{closed|Deleted. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 13:33, 6 October 2024 (UTC)}} Merging with the other Epicurus page. {{unsigned|TheoYalur}} {{end closed}} === [[Epicurus/On Matter - β (Περὶ φύσεως)]] === Merging with the other Epicurus page. [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' I'm leaning towards this whole book being deleted. The scope and structure of this book as an educational textbook are unclear and the whole thing seems potentially like original research or an essay. Unless I've missed something, the main editor seems unresponsive to querying and is repeatedly removing the query flags. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:13, 25 September 2024 (UTC) =={{anchor|Network+ Certification}}{{anchor|Security+ Certification}}{{anchor|A+ Certification}} CompTIA Certifications == [[Network+ Certification]] moved and updated at [[:v:Network+|Wikiversity]]. [[Security+ Certification]] moved and updated at [[:v:Security+ Certification|Wikiversity]]. [[A+ Certification]] moved and updated at [[:v:A+ Certification|Wikiversity]]. De-duplicating work across Wikimedia. Subpages should all be deleted as well. Might be worth leaving a redirect to WV for future users. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:02, 15 September 2024 (UTC) :I centralized at Wikiversity since the projects (as of now) are compendiums of links and resources based on the listed objectives of each exam, sometimes with explicitly suggested 'activities'. Very little in the way of 'book'-like exposition. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:06, 15 September 2024 (UTC) :Thought about leaving a {{tlx|MovedToWikiversity}} but that template has been deleted in the past. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 02:52, 3 October 2024 (UTC) == Wikiversal generated pages == * [[Wiki Assistant]] * [[User Page Builder]] *: Inexplicably, the links on the main page of this book all point to pages under [[:w:User:Hazel45onnie/User Page Builder]] '''on the English Wikipedia'''. I'm nominating those pages for deletion on enwiki as a separate process ([[:w:Wikipedia:Miscellany for deletion/Wikiversuite pages|here]]). * [[WikiverSuite/Wikiversant/Gunport Builder Demo 1]] * [[Wiki Tutorial]] *: Some of the internal links in this book are written as if the book is named [[Tutorial]] instead of [[Wiki Tutorial]]. You may have to use [[Special:Prefixindex/Wiki Tutorial]] to read through the whole thing. These books were all generated using Wikiversal, a third-party wiki editing tool written by [[User:Planotse]] which is no longer downloadable. Many of them contain broken internal links or other outdated content (like references to Wikiversity being a subproject of Wikibooks), and the HTML-heavy markup generated by Wikiversal makes them unreasonably difficult to edit. (As as aside, the markup used for these "presentations" is completely broken on the mobile site, e.g. [https://en.m.wikibooks.org/wiki/User_Page_Builder]. For some reason, the forward/back buttons are invisible, making it impossible to navigate from page to page.) The first three books are all instructions on how to use Wikiversal itself. Since it's no longer available, they are of no use. The fourth, while described as a "Wiki tutorial", primarily instructs users to use Wikiversal to build pages on the wiki; its main page should probably be redirected to [[Using Wikibooks]] as a much more comprehensive resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:44, 20 September 2024 (UTC) ::It isn't inexplicable that these pages and links are on the English Wikipedia. The spammers who developed these pages were primarily trying to peddle software for use on the English Wikipedia. Their pages on the English Wikipedia are also pending deletion as misusing Wikipedia for web hosting. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC) :::Based on the name and some of the user's (now deleted) activity on Wikiversity, I think the software was actually intended primarily for use on Wikibooks and/or Wikiversity. Why they decided to host some of its documentation on Wikipedia is a mystery. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:52, 22 September 2024 (UTC) ::::It isn't worth trying to explain the behavior of spammers. Sometimes the explanation is stupidity and greed. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:05, 22 September 2024 (UTC) ::<del>I haven't yet looked at the deletion request here. I am primarily an English Wikipedia editor, just as [[User:Omphalographer]] is primarily a Commons editor. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC)</del> *'''Delete All''' - Spam. These books were created twelve years ago to peddle software to new users. This was an abuse of Wikimedia for commercial purposes. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:51, 22 September 2024 (UTC) == [[PlanoTse Handbook for Job Search Automation]] == Much like the Wikiversal pages nominated above, this book is documentation for a piece of self-authored software by [[User:Planotse]] which is no longer available for download. I can't find any substantial references to this software anywhere online outside of this book itself, so it seems highly unlikely to be useful to anyone. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per the above. If the software is not currently available and was never widely available or notable previously, I don't see why keeping it is useful, even for historicity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 20 September 2024 (UTC) *'''Delete''' - This is more spam by a spammer. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:17, 22 September 2024 (UTC) == [[Roblox WF Wars]] == No textual content at all, just a couple of tables of data. I can't find any other information online about this game; for all we know, it may not even exist. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:30, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' as stated above. The content is so minimal, and the scope is not defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 20 September 2024 (UTC) == [[Salute, Jonathan!]] and its translations == : [[Alo, Jonathan!]] : [[Bune Ğonatan!]] : [[Dag, Jonathan!]] : [[Glidis, o Jonathan!]] : [[Hai, Jon!]] : [[Hallo, Jonathan!]] : [[Haloo, Jonatan!]] : [[Hay, Jonathan!]] : [[Hej, Jonathan! (Germanisch)]] : [[Hej, Jonathan!]] : [[Hela, Jonathan!]] : [[Holo, Jonathan!]] : [[Oila, Jonatan!]] : [[Salam, Jonathan!]] : [[Salom, Jonatan!]] : [[Salu, Jon!]] : [[Salut Jonathan!]] : [[Salute, Jonathan!]] : [[Salut, Jonathan! (Interocidental)]] : [[Salut, Jonathan!]] : [[Salut, ionatano!]] : [[Salute, Jonathan! (Novlingue)]] : [[Salute, Jonathan! (Romanica)]] : [[Saluto, Jonathan! (Ido)]] : [[Saluto, Jonathan!]] : [[Sesan Jon!]] : [[Simi, Jonathan!]] : [[Sin Chao, Jonathan!]] : [[Terve, Jonathan!]] : [[Toki a, jan Jonatan!]] : [[Àlŏ, Jonathan!]] : [[Òla, Ionatà!]] There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) :I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) :Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. :[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) :Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine :How easy would it be to migrate the entirety of Salute Jonathan to there? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) ::Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) :::Hi! :::Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. :::So the idea is the following: :::1 Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::2 The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::3 For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::4 The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. :::Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. :::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) ::::Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. ::::Cheers! –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) :::::Hello again, :::::It's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::[[Salute, Jonathan!/Capitul 1 - with notes]] :::::[[Salute, Jonathan!/Capitul 2 - with notes]] :::::[[Salute, Jonathan!/Capitul 3 - with notes]] :::::[[Salute, Jonathan!/Capitul 4 - with notes]] :::::[[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::::[[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) :::::::Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. :::::::The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. :::::::(I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) :::::::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) ::::::::Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) :::::::::Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. :::::::::For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) ::Keep. Content of educational value that helps learn languages. I think more translations to natural languages should be produced. -[[User:Bronto Rex|Bronto Rex]] ([[User talk:Bronto Rex|discuss]] • [[Special:Contributions/Bronto Rex|contribs]]) 14:02, 11 October 2024 (UTC) == [[Wooden Boats: Building and Repair]] == Abandoned almost 2 decades; a few pages, but each has only a few lines of text. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 7 October 2024 (UTC) == [[Stellar Scintillation]] == Extremely narrow scope that I don't think is quite book-worthy, especially given the low amount of content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:48, 7 October 2024 (UTC) == [[Future Teachers Meet Wiki]] == Abandoned; scope doesn't seem right for Wikibooks; underdeveloped. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 7 October 2024 (UTC) :{{vd}} - this feels like it was an attempt to use Wikibooks to organize a university project and collect student writings; even if it had made more progress, it's not clear that the outcome would have been a textbook. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 18 October 2024 (UTC) == [[IB Spanish]] == Abandoned 2 decades; seems like an idea for a book that was never actually implemented (minimal meaningful content) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:55, 7 October 2024 (UTC) == [[Luxembourgish]] == Abandoned; only non-main page is a list of movies—otherwise no meaningful content [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 7 October 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 07:25, 17 October 2024 (UTC) == [[Data Recovery]] == Seems out of scope for an educational book; a couple paragraphs at most with no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:58, 7 October 2024 (UTC) :{{vd}} - this is a worthy topic, but what's written here meanders between being vague and being actively bad advice. (The <code>strings</code> command is not an appropriate data recovery tool.) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 7 October 2024 (UTC) == [[Competitive Programming]] == Survived deletion previously on the justification that it could potentially be expanded, but it's since been over a decade with no improvement; extremely minimal educational content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:03, 7 October 2024 (UTC) == Pages by [[User:TheoYalur]] == * [[Henri Poincaré Reader]] * [[The Sight and Sound of the Greek Genocide Around the Kültürpark in Izmir]] * [[God Disorder]] These pages all appear to be personal essays, not educational texts. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 03:53, 14 October 2024 (UTC) :They are all original research. The editor asked to be unblocked so they could move to Wikiversity where OR is permitted. As they have now returned to creating these dubious pages, I have blocked them again and deleted the most recent creation as out of scope original research. The "reader" might be acceptable. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:37, 14 October 2024 (UTC) ::Thanks @[[User:MarcGarver|MarcGarver]]! I'm not sure about [[Henri Poincaré Reader]] since it has NPOV issues and it reads like a self-published essay piece with personal hypothesizing/opinion/research, no references, etc. Its educational scope is still somewhat unclear, as is the structure—it does not seem textbook-like in form or style. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:43, 14 October 2024 (UTC) :::You spent more time reading it than me I suspect. I only skimmed it, but I am sure you are right that it has the same issues as the other creations and should be deleted. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:14, 14 October 2024 (UTC) ::::With regard to the "Reader", at best it's a collection of loosely translated excerpts of texts which, for the most part, already have quality translations available on Wikisource. For instance, the section [[Henri Poincaré Reader#The Measure of Time (1898)]] is already translated as [[:s:The Foundations of Science/The Value of Science/Chapter 2]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 20:39, 14 October 2024 (UTC) == [[User:גני טווילרי]] == Please delete a redirection page of the former user page, which was not active in the En Wikibooks. Thank you. [[User:לובר|לובר]] ([[User talk:לובר|discuss]] • [[Special:Contributions/לובר|contribs]]) 02:15, 16 October 2024 (UTC) :{{re|לובר}} {{done}} though in the future please use {{tl|speedy}} for such deletions. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:53, 16 October 2024 (UTC) == [[Cyber Guide to ODU Career Management]] == As best I can tell, this was intended at one point to be an internal resource for employees of an ODU (Old Dominion University) career office; what little of it exists is primarily focused on minutae irrelevant to anyone outside that office, like [[Cyber Guide to ODU Career Management/Get Oriented/How we do it|who to email to schedule an information session]] or a collection of [[Cyber Guide to ODU Career Management/Get Up-to-Date/CAP Meeting|meeting notes]]. It's also all been essentially untouched since 2007. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:49, 18 October 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per stated reasoning —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:11, 18 October 2024 (UTC) == [[Golf]] == Extremely minimal content; educational/book scope is unclear; abandoned for >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 18 October 2024 (UTC) == [[Counterterror Joint Command]] == Unclear how this falls into WB scope—doesn't seem to be an educational book, and educational scope is undefined; abandoned as well —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:17, 18 October 2024 (UTC) :{{vd}} - this is perplexing; it's written like a policy proposal on behalf of an agency, not a textbook. From context I ''think'' it's about the [[:w:National Police Agency (Taiwan)]], but it's entirely unclear whether this was intended as an official report or some sort of weird fan fiction. Either way, it doesn't belong here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:31, 18 October 2024 (UTC) == [[Flight Attendant Manual]] == Abandoned almost 2 decades; consists only of a list of country codes and the phonetic alphabet. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:19, 18 October 2024 (UTC) == [[History of the ODU Art Department]] == A collection of fragmentary biographies and interviews of members of the ODU (Old Dominion University) art department. Some of these are individually interesting, I guess, but they don't really add up to a history of the department, let alone to an instructional text. Most editing activity appears to have been around 2008-09; there's almost no activity since then. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:22, 18 October 2024 (UTC) == [[Making Neon Signs]] == {{closed|1=Deleted. Was imported from WP (as the nominator suspected) and is still just a WP article, not a textbook. Out of scope and abandoned. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:31, 24 October 2024 (UTC)}} Seems just like an imported WP article; educational book scope unclear; abandoned for years —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:22, 18 October 2024 (UTC) {{end closed}} == [[Understanding the National Certificate of Educational Achievement]] == Scope unclear; very little content; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:30, 18 October 2024 (UTC) == [[Release Management]] == Abandoned almost 2 decades; very little content; unclear what its scope as a book is —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 18 October 2024 (UTC) == [[Management for IT Professionals]] == Minimal content; book scope unclear; abandoned almost 2 decades —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 18 October 2024 (UTC) == [[Living in Bangkok]] == Minimal content; consists of single chapter that contains likely outdated information —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:14, 18 October 2024 (UTC) == [[Limburgish]] == Abandoned; single chapter with minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:19, 18 October 2024 (UTC) :In general, I think deletion not solve anything. While the contents is minimal, it's still better than nothing at all. Rather, an invitation should be made to expand on it. --[[User:Ooswesthoesbes|Ooswesthoesbes]] ([[User talk:Ooswesthoesbes|discuss]] • [[Special:Contributions/Ooswesthoesbes|contribs]]) 06:27, 19 October 2024 (UTC) ::Hi @[[User:Ooswesthoesbes|Ooswesthoesbes]]! While I understand your perspective, I unfortunately disagree. Wikibooks has a huge number of abandoned stubs like this one, which I think results in clutter and makes the entire project less useful as a result. Due to their nature and structure, books require a greater committed investment to make than, say, WP articles, and these little scraps are rarely developed here. This book has had plenty of opportunity for expansion since you started it over a decade ago, but nobody has actually made any effort to do so. Based on the evidence from the past decade, when weighing the likelihood of the book being properly developed going forward versus the active negative impact of its continued presence in this state, I favor deletion. Moreover, in the rare case that someone came along later and wanted to revive this book specifically, it could be undeleted. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:55, 19 October 2024 (UTC) == [[Introduction to BASIC]] == Consists only of a few paragraphs and then a compilation of links —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:22, 18 October 2024 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) == [[HP Media Vault]] == Book-like scope is unclear; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:35, 18 October 2024 (UTC) :{{vd}} - how-to content isn't necessarily out of scope, but this only describes how to perform a single (fairly straightforward) task, for a product which has been off the market for ~15 years and is unlikely to be of interest to future editors. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:02, 20 October 2024 (UTC) == [[GUI Design Principles]] == Single page that was never properly integrated into a book as it should have been —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:37, 18 October 2024 (UTC) == [[Blender 3D: Game-making in Blender]] == Obsolete book with almost no content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:38, 18 October 2024 (UTC) :'''Delete''' —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:34, 3 November 2024 (UTC) :{{vd}} - as the note atop the table of contents says, "This book is obsolete. The Blender Game Engine was removed in 2018." No substantial content seems to ever have been written, and it seems unlikely that any will be. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:26, 4 November 2024 (UTC) == [[Basketball]] == Abandoned almost 2 decades; doesn't contain much beyond what you'd find in a WP article —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:41, 18 October 2024 (UTC) :I love the game, but yes, this has no real content. That said, there's little danger in keeping it and it could plausibly be improved, so I'm '''weak keep'''. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:33, 3 November 2024 (UTC) == [[Bug Free Programming]] == Unclear how exactly this constitutes an educational book; scope is unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:45, 18 October 2024 (UTC) :Wow, I didn't even remember this one. I think it's perfectly clear how this is educational and the scope couldn't be clearer, either, but I'm not going to finish it so go ahead and delete it. [[User:Főszerkesztő Úr|Főszerkesztő Úr]] ([[User talk:Főszerkesztő Úr|discuss]] • [[Special:Contributions/Főszerkesztő Úr|contribs]]) 12:35, 23 October 2024 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Citroën XM]] == Abandoned >1 decade; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:57, 18 October 2024 (UTC) == [[Happiness]] == Significant NPOV issues; not much content; abandoned for >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:58, 18 October 2024 (UTC) == [[Islamic Studies Grade 1]] == Abandoned >1 decade with very little content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:03, 19 October 2024 (UTC) :{{vd}} - the table of contents makes it clear that this book was intended to house POV religious content (e.g. a chapter titled "Allah Is The One"). This is incompatible with [[WB:NPOV]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:12, 20 October 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) == [[Austrian German]] == Abandoned almost 2 decades; scope not well outlined, main page only; minimal content insufficient for book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 24 October 2024 (UTC) :{{vd}} + comments on the page, like "[Austrian German] is much more mild, liberal and melodious unlike the German in Germany which is harsh, arrogant and even somewhat mastering", are confusing and I fail to see the need to keep such an underdeveloped "book". —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 19:47, 4 November 2024 (UTC) == Several pages in [[Hobo tourism]] and [[Hobo travel journalism]] == The following pages are entirely self-promotional content that is suitable for a blog but not WB (same contributor made the [[Wikibooks:Requests for deletion#Various pages in Basics of fine-art photography|now-deleted pages from above]]). * [[Hobo tourism/Third creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Third African trip]] * [[Hobo tourism/Visiting Death]] * [[Hobo tourism/One day in an Afghan prison]] * [[Hobo tourism/Around the world with empty pockets]] * [[Hobo tourism/Indian dreams]] * [[Hobo tourism/Two months of wandering and 14 days behind bars]] * [[Hobo tourism/Holiday of wandering mzungu]] * [[Hobo tourism/Afghan prisoner]] * [[Hobo tourism/Two hundred days in Latin America]] * [[Hobo tourism/Mongolian huyvaldagch]] * [[Hobo tourism/Six months by islands... and countries]] * [[Hobo tourism/Viktor Pinchuk's expedition to the Islands of Oceania]] * [[Hobo tourism/Viktor Pinchuk's solo expedition to Africa (2017/18)]] * [[Hobo tourism/Latin American expedition of Viktor Pinchuk]] * [[Hobo tourism/Bum tour of winter Japan]] * [[Hobo tourism/Afghan Expedition of Viktor Pinchuk]] * [[Hobo tourism/Second creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Creative trip to Mongolia]] * [[Hobo tourism/Creative trip to India]] * [[Hobo tourism/First creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Tropical fever in the bum tour (an example from practice)]] * [[Hobo tourism/African Robbery]] * [[Hobo travel journalism/With a backpack around the planet (rubric in the newspaper “Southern Capital”)]] * [[Hobo travel journalism/Returning from distant wanderings (rubric in the newspaper "Republic of Crimea")]] * [[Hobo travel journalism/Wind of wanderings (rubric in the newspaper "Crimean Time")]] * [[Hobo travel journalism/Around the World (rubric in the newspaper "Crimean Observer")]] * [[Hobo travel journalism/Travel notes (rubric in the ProX magazine)]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:01, 24 October 2024 (UTC) :{{vd}} - I would support deleting the entire book, not just these chapters. Even aside from the self-promotional content listed above, other chapters give some ''extremely questionable'' advice on sleeping arrangements, such as: :* Trespassing on private property ([[Hobo tourism/Overnight stays in long intercontinental journeys/In halls and stairwells]]; [[Hobo tourism/Overnight stays in long intercontinental journeys/On objects under construction]]) :* Sleeping inside archaeological sites ([[Hobo tourism/Overnight stays in long intercontinental journeys/In the ancient pyramid]]) :* Harassing locals if they don't let you into their house ([[Hobo tourism/Overnight stays in long intercontinental journeys/In Aboriginal dwellings]] - "independently knock on any dwelling, asking for a place under a canopy in the yard; with a negative result, repeating the action repeatedly") :[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:45, 25 October 2024 (UTC) :{{vd}} Agree with above. Delete all.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 03:38, 10 November 2024 (UTC) ::These articles have many internal links from English-language Wikinews. Removing the material would harm the news articles and the project as a whole. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 15:55, 10 November 2024 (UTC) :::Hi @[[User:Виктор Пинчук|Виктор Пинчук]]—while I understand your concern, I'm fairly certain that being linked to is not an acceptable justification in policy or otherwise for content that is inappropriate for Wikibooks in the first place. If that were the case, vandalism or other inappropriate material could be kept simply because it is linked to somewhere else. If consensus says that these pages don't belong at Wikibooks due to the unsuitability of the content, I think that decision will stand independently. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:28, 10 November 2024 (UTC) == files from Phoenix Wright == Used for decorative, not educational, purposes ([[WB:NFCC]]#8): [[:File:AAIME Official Artwork.jpg]], [[:File:PWAAJFA episode1.png]], [[:File:PW JFA Official Artwork.jpg]], [[:File:Gyakuten Kenji 2 Official Artwork.png]], [[:File:AJ officialart.jpg]], [[:File:PW T&T Official Artwork.jpg]], [[:File:SMB2 dream staircase art.jpg]]. Galleries ([[WB:NFCC]]#3): [[:File:Moonflow 27.jpg]], [[:File:Macalania 18.jpg]], [[:File:Chauncey LM.jpg]] , [[:File:King Boo LM.jpg]], [[:File:Boolossus LM.jpg]]. — Ирука<sup>[[user:Iruka13|13]]</sup> 16:22, 30 October 2024 (UTC) :My thoughts below: :* [[:File:AAIME Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PWAAJFA episode1.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW JFA Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Gyakuten Kenji 2 Official Artwork.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:AJ officialart.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW T&T Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:SMB2 dream staircase art.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Moonflow 27.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' low resolution and seems to be illustrating something :* [[:File:Macalania 18.jpg]] Uncertain :* [[:File:Chauncey LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:King Boo LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:Boolossus LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:12, 30 October 2024 (UTC) diecx5jfxurqbaj183h04kmz5b6vexu 4444319 4444308 2024-11-10T19:11:41Z Виктор Пинчук 3291001 /* Several pages in Hobo tourism and Hobo travel journalism */ 4444319 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{Requests for deletion/Archives}} {{Requests for deletion/Using Template:Icon}} {{clear}} = Undeletion = {{shortcut|WB:RFU}} {{Requests for deletion/New undeletion}} {{Requests for deletion/Undeletion intro}} ==[[City Of Heroes]]== {{closed|Was undeleted —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:39, 17 August 2024 (UTC)}} A book that was deleted when strategy guides were not allowed. See discussion -<span style="background:yellow;>User:Slava Ukraini Heroyam Slava 123 <span style="color:blue span> 17:13, 12 November 2022 (UTC)</span></span> :This book was deleted about 16 years ago and only one page had a significant amount of content. It could all be undeleted but would probably be better re-made from scratch.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 01:34, 11 August 2023 (UTC) ::'''Undeleted it''' with many first-level subpages. Yet [[City Of Heroes/Archetypes]], [[City Of Heroes/Powers]], [[City Of Heroes/General Help]], [[City Of Heroes/Enhancements]], [[City Of Heroes/Binds]] and [[City Of Heroes/Badges]] have even more subpages to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:50, 19 August 2023 (UTC) :::'''Undeleted''' many subpages of the above subpages, less obviously useless versions. Yet any administrators are hereby advised to check [[Special:Undelete]] for more to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 21:52, 21 August 2023 (UTC) :Remaking this content from scratch might be difficult - the game shut down in 2012. There's a small community of users running private servers based on leaked source code (!), but far fewer than when the game was active. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:55, 26 August 2023 (UTC) {{end closed}} == [[Mass undeletion of books that were deleted when strategy guides were not allowed.]]== {{closed|Not done —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:40, 17 August 2024 (UTC)}} Couldn't we just mass undelete these books? [[User:Garfieldcat1978|Garfieldcat1978]] ([[User talk:Garfieldcat1978|discuss]] • [[Special:Contributions/Garfieldcat1978|contribs]]) 18:25, 20 February 2023 (UTC) Letting bot archive as needed. :Listing which works would be much better.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:51, 19 August 2023 (UTC) {{end closed}} = Deletion = {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} {{clear}} <!-- New nominations go at the bottom of page --> == [[Dynamical Systems]] == This seems to be abandoned book, the only content is largly vacuous. I don't believe it is likely to be extended or worked on because it is both a technical topic, and represents to original author's goals for such a book (graduate level vs undergraduate). [[User:Thenub314|Thenub]][[Special:Contributions/Thenub314|314]] ([[User talk:Thenub314|talk]]) 20:46, 23 February 2023 (UTC) :It does seem abandoned; the single existing page hasn't been updated since 2018 and the main book page hasn't been updated since 2019. Unless someone quickly decides to pick up on it, I can't really see it staying here at Wikibooks :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 24 February 2023 (UTC) ::Hello there, ::currently I'm working over at the German page, because I have begun to work with a new, more intuitive terminology. My current plan is to first finish the German version and then possibly to translate it. To finish the German version will take at least until the end of this year. Until then, you shouldn't expect any progress. Afterwards, I may feel inclined to pick up the project, depending on my human rights situation. --[[User:Mathmensch|Mathmensch]] ([[User talk:Mathmensch|discuss]] • [[Special:Contributions/Mathmensch|contribs]]) 09:26, 8 April 2023 (UTC) * '''Delete'''. While this is a stub and we should not deleted them the content present is extremely limited and by the reply above it is duplicated in another language project with the intention of migration here later. Since it also occupies a topic space name it also becomes a blocker to other similar works. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:26, 7 November 2024 (UTC) == Files from [[Illustrated Guide to the world of Spira (FFX and FFX-2)]] == {{closed|1=Deleted for lack of a valid NFCC. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:34, 24 October 2024 (UTC)}} Used for decorative, not educational, purposes: [[:File:Float 13.jpg]], [[:File:Grabbed Frame 15.jpg]], [[:File:Gandof.jpg]], [[:File:Ohalland.jpg]], [[:File:Braskascan1.jpg]], [[:File:Tidus FFX.png]] ([[WB:NFCC]]#8). — Ирука<sup>[[user:Iruka13|13]]</sup> 13:54, 17 July 2023 (UTC) :Sure, I think I can agree on the removal of these [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 12:24, 22 July 2023 (UTC) {{end closed}} == Various pages in [[Basics of fine-art photography]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:38, 24 October 2024 (UTC)}} The following pages in [[Basics of fine-art photography]] seem out of scope because they consist entirely of personal promotion/advertisement for the author's photography: * [[Basics of fine-art photography/Egypt and Egyptians II]] * [[Basics of fine-art photography/Lights of Moscow]] * [[Basics of fine-art photography/Ethiopia through the eyes of traveler]] * [[Basics of fine-art photography/On the roads of India]] * [[Basics of fine-art photography/14 days in Mongolia]] * [[Basics of fine-art photography/Egypt and Egyptians III]] * [[Basics of fine-art photography/Hitchhiking across Sudan]] * [[Basics of fine-art photography/January in Japan]] * [[Basics of fine-art photography/Uganda: tribes and civilization]] * [[Basics of fine-art photography/Tribes of Kenya]] * [[Basics of fine-art photography/Afghanistan, 2008]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:13, 25 February 2024 (UTC) :Frankly, the entire book appears to be a vehicle for the author to promote his own photography. The few sentences of instructional content on pages like [[Basics of fine-art photography/Creating works in macro photography]] are practically useless; that one amounts to "to take macro photos, set your camera to macro mode and hold it close to the subject, or read another book for more information". Other pages like [[Basics of fine-art photography/Interior photography in hobo tours]] or [[Basics of fine-art photography/Taking pictures of homeless people]] provide essentially no information on photography technique at all, and seem to mostly be intended as jumping-off points to showcase more of the author's photos. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:40, 11 March 2024 (UTC) {{end closed}} == [[History of Grand-Popo]] == {{closed|Deleted. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 08:11, 22 September 2024 (UTC)}} Suited for enWP not WB, appears to be a simple import with no likely development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:28, 1 April 2024 (UTC) {{end closed}} == [[Selected Essays]] == {{closed|1=Deleted}} Seems completely out of WB scope; it's just a collection of unrelated personal essays. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 1 April 2024 (UTC) :{{vd}} Agreed, personal essays and not ones that can easily be used, at that. [[User:Icandostuff|<span style="color:Red">I</span> <span style="color:Yellow">can</span> <span style="color:Lime">do</span> <span style="color:#00ffff">stuff</span><span style="color:Blue">!</span> ]] ([[User talk:Icandostuff|talk]]) 12:52, 11 June 2024 (UTC) {{end closed}} == [[Remembering the Templars]] == Seems to be pretty much an encyclopedic article about the Knights Templar, which makes it out of scope; enormous amount of links to enWP and may even just be an import. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:59, 1 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:53, 5 April 2024 (UTC) *'''Keep'''. This is one of [[User:Panic2k4|Panic2k4's]] books, not a WP import. They remain an active, if sporadic, contributor and may well return to this in the future. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:41, 24 October 2024 (UTC) *:I just realized they were never notified about the nom, so I'll go ahead and do so on their talk page for posterity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:10, 24 October 2024 (UTC) *'''Keep''' I urge you to consider that your view of what a encyclopedic article is may be too ample. Please avert proposing deletions simply on those grounds, especially when real content is present, if a direct import can be matched give it more time if someone has gone to the work of requesting and performing an import from Wikipedia they (or others) may us it to extend the content into a book... I understand that you may be busy but you need to dedicate more time when content is present. A simple examination of the proposed work would make the structural effort obvious even if not the creative content added. :I think deletion of imports from Wikipedia was already discussed somewhere else, probably on the deletion policy talks and some consensus was formed around it that no real lost or gain comes from performing them directly (considering the necessary steps some time should be granted if not blocking a specific namespace) and that simple non imported (without the edit history) duplication of Wikipedia content should not have the same consideration falling a bit above nonsense contributions (depending on the editor's history). :There is ample discussion regarding project stubs, that they should be preserved simply if having structural value... :I often dedicated time to salvage abandoned imports (I have or had import rights and did some of the import request). I can not remember how I started this project but along with an historic and curiosity on the subject, I did do some imports to it, I'm aware that some I left unfinished (and that the foot notes are indeed a eye sore at the end of the book structure) due to lack of time to continue on a single project and due to the issues around the C++ Programming book that made my reconsider my priorities... :If some other content was deleted simply due to be an "encyclopedic article" I would ask for anyone with time to examine those deletions. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:14, 7 November 2024 (UTC) ::Hi @[[User:Panic2k4|Panic2k4]]! I definitely appreciate your perspective. My main concern regarding things like this is the needs of the community and the project right now. I understand the logic behind keeping books and pages that have potential, but our project seems to have hemorrhaged editors over the last several years, and activity is fairly low. I worry that keeping too many pages just because they have some potential makes the project overly cluttered and makes it harder to access the content that is higher quality—I feel like we have an unfortunate reputation in this respect. There are stubs that have previously been kept because they had the potential for improvement but that have not been substantially improved in over twenty years. I just don't want to see the project get bogged down today under the weight of imagined future improvement. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:48, 7 November 2024 (UTC) :::Additionally, regarding issues like encyclopedic content pages, I do think it's important to consider what makes us different from our sister projects like Wikipedia. I suppose for [[Remembering the Templars]] specifically, I just don't see what makes it significantly different from [[w:Knights Templar]], [[w:History of the Knights Templar]], etc. When you combine this with the issues that I've described above and the fact that this page has had issues of structure and dewikification for over a decade, that is what led me to nominate it for deletion. I hope this explains my thought process a bit better! Cheers again —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:00, 7 November 2024 (UTC) ::::Try to bring Wikipedias here to extend stubs into textbooks if you see pure encyclopedic content pages (they can also request an import there if there is valid content). I did that when I imported pages, or covered similar content (did the same in other languages Wikibooks). The issue with the loss of contributors is not linked with this type of content (in fact I find it a inspiration to contribute) its is often easier to extend than to initiate and commit to a project from 0 (just like contributing to Open Source projects). ::::The reason we lose contributors in my view is due to heckle (especially from non contributors) and technological / bureaucratic complexity. Its a hard commitment to engage in a project a lot harder than with a simpler encyclopedic article. More solitary (unless it is a class project) and required more focus (people often do not want to get involved with the general community or dragged into political discussions around outside their own project) and hard to coordinate (a book has a larger vision and is structural dependent, has to have a flow and logic). This is why even a stub with a simple structural approach to a subject has some value here. If not for anything more than demonstrate that someone else was interested in the subject. If you notice the deletions discussions you can see these forces represented... ::::I had relied in another user running a script bot to do the dewikifications (from wikipedia) that was a reason for me to halt the work there at that time, I like to preserve wikilinks as much as possible to similar content exist here (bookshelves or local content get linked first). At the same time, and to give an pertinent example or how people get tired, I got reverted by a sysop by doing the same on my own contributions on another work (on wikijunior, on the ground of esthetics, inter project consistency or whatever, this is an example of the problem). Now in an age overwhelming content. where people expect immediacy more than quality, that publishing or duplicating the edit capabilities of Wikimedia locally is easier any barrier will push people away... ::::Regarding your inability to distinguish the content apart, it seems you have more a problem with Wikipedia than my "article" then. A Wikipedic article should be a reduction to the topic it covers and split in distinct interlinked articles when its grows too much, this is a problem with many wikipedia articles (and I understand why, the need to source and maintain cohesion is better done in a monolithic view of the subject). In any case a History Wikibook can not go much further than an aggregation of facts (and I did include my own speculation, that is a historic minority view point) in relation to the Cathars in linking all to the pope's geopolitical view of the world (and grab for power) and providing a contextual view of the subject matter (you do not see that on the wikipedian articles) not a link to the free masons :) that is mere hypothetical if tentatively logic or made logic by co-adoption. :::: Remember also that we consider an aggregation of Wikepedian articles and Encyclopedia and if the scope and intention is to educate it falls under a textbook definition, we have books like that here, some have survived deletion many time... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 05:07, 8 November 2024 (UTC) :::::@[[User:Panic2k4|Panic2k4]] I think you and I share the same general values about the project, but we simply disagree on our conclusions. I'll let other people weigh in here. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:35, 10 November 2024 (UTC) == [[Half-Life Computation]] == Doesn't seem in-scope as a book—just seems like a single page on how to do a specific calculation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:06, 5 April 2024 (UTC) * Keep -You have to consider also that projects can be merged (I have not checked if there is a possible match) in any case consider it a stub with valid content. It is a stub (November 2018) there is the problem of a namespace collision since it identifies as a specific topic (but as you identified is a very limited scope). Had I the time I would create a structure around it and contribute to it in the subject of Entropy or how our non-existing reality, is also "evaporating" into nothing... : Stubs are promoters to growth, like particles to rain... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:40, 7 November 2024 (UTC) == [[God and Religious Toleration]] == {{closed|1=clear consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:45, 24 October 2024 (UTC)}} This book was [[Wikibooks:Requests for deletion/God and Religious Toleration|previously nominated for deletion in 2011]], but kept largely because of its theoretical potential for improvement. It's now over a decade later, and no real improvement has been made. The book has the following issues: * A lack of clearly defined educational/instructional scope, structure, or aims overall * A lack of structure in each existing chapter * Significant NPOV and lack-of-evidence/citations I've gone through the book to try to improve it somewhat, but it largely feels like a disorganized dumping ground for a variety of abstract thoughts, many of which are heavily biased. At this point, given the amount of time it has had for improvement and the lack thereof, I don't think it has a place at Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:06, 20 April 2024 (UTC) :This book is very important in this day and age. Tolerance between religions is important for world peace. Without tolerance, chaos breaks out in the world. We should promote tolerance between religions. If the good guys keep quiet, the bad guys win. Is that what you want? A better way is to simply add a chapter of yours to the book and contribute your suggestions to world peace and the strengthening of love in the world. @[[User:Kittycataclysm|Kittycataclysm]] [[User:Nobody60|Nobody60]] ([[User talk:Nobody60|discuss]] • [[Special:Contributions/Nobody60|contribs]]) 08:46, 21 April 2024 (UTC) :Support deleting as per issues pointed out in nom. @[[User:Nobody60|Nobody60]], there are kilometers between deleting a bad, biased book and supporting religious intolerance or whatever it is you're accusing the nom of doing. Wikibooks is a project with a definite, reachable and concrete goal, which this book doesn't meet, never met and probably would never meet. --[[User:YuriNikolai|YuriNikolai]] ([[User talk:YuriNikolai|discuss]] • [[Special:Contributions/YuriNikolai|contribs]]) 02:10, 27 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:44, 27 April 2024 (UTC) :{{vd}}. Not only is this material not presented from a neutral point of view, it's not even a mainstream religious POV. Much like [[Developing A Universal Religion]] (also up for deletion), the goal of this text appears to be to create and promote a new syncretic religious movement, complete with its own new beliefs and practices; this is very much outside the scope of Wikibooks. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:24, 3 August 2024 (UTC) :{{vd}} as per [[WB:NOR]]: I am all for religious tolerance but all against religious acquiescence. [[User:Jeaucques Quœure|Jeaucques Quœure]] ([[User talk:Jeaucques Quœure|discuss]] • [[Special:Contributions/Jeaucques Quœure|contribs]]) 07:30, 26 September 2024 (UTC) {{end closed}} == [[Kashubian Dictionary]] == [[WB:DICT|Out of scope]] here; material should be hosted at Wiktionary (I've [[Wiktionary:Wiktionary:Information desk/2024/May|suggested it there]]). —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:39, 28 May 2024 (UTC) :Any content in this dictionary should be already be at [[wiktionary:Wiktionary:Requested entries (Kashubian)/Kashubian Dictionary]], where we will be able to slowly make entries for these. [[User:Vininn126|Vininn126]] ([[User talk:Vininn126|discuss]] • [[Special:Contributions/Vininn126|contribs]]) 21:51, 7 June 2024 (UTC) == [[Biblioþeke]] == Out of scope; seems to be an incomplete translation of the bible into a conlang. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:16, 29 May 2024 (UTC) == [[Wikis for Retail Store Managers]] == Abandoned, unclear scope, little content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:30, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:10, 17 October 2024 (UTC) == [[Human Geography]] == Abandoned for two decades without any development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:50, 8 June 2024 (UTC) * {{del}} per nom. The page has a list of chapters/sections, but these are not linked. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:56, 17 October 2024 (UTC) * {{del}} as I just tagged rfd.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:29, 2 November 2024 (UTC) == [[Neuro Linguistic Programming]] == Abandoned, very little meaningful content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:55, 17 October 2024 (UTC) == [[Scrapebook Linguistics]] == Abandoned, little to no meaningful content, unclear scope or potential for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:05, 8 June 2024 (UTC) :{{vd}} - an earlier version of this page was imported to Wikiversity as [[:v:Special:Permalink/15674|Portal:Linguistics]] (and subsequently edited into oblivion). The followup edits here aren't needed at WV. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:22, 25 July 2024 (UTC) == [[How to Be a Good Camp Counselor]] == Book is un/under-developed and abandoned, and the scope/potential for development is somewhat unclear to me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:07, 19 June 2024 (UTC) == [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989/Manual for Obtention of Driving licence: Signals and Lights]] == {{closed|1=Deleted--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:39, 2 November 2024 (UTC)}} Abandoned with non-English. Not belonging under [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989]], that Taiwanese administrative regulation since 1989 would not contain such a manual.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 16:55, 4 July 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per above —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 5 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:54, 17 October 2024 (UTC) {{end closed}} == [[Australian Property Law]] == Has only one page (introduction) with little content. It has been abandoned now for almost 20 years with no development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 10 July 2024 (UTC) * {{del}} per nom. Subpages are redlinks except for [[Australian Property Law/Introduction]], which does not save the material. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:09, 17 October 2024 (UTC) == [[Chinese Checkers]] == Extremely minimal content and abandoned for almost 20 years. Was previously nominated for deletion in 2006 but kept on the grounds that it could be expanded—clearly this has not happened. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:56, 11 July 2024 (UTC) == [[Niw Englisch]] == Fiction / original research - a conlang being (very slowly) created by the author of the book. The following books are closely related to that project and should be deleted as well: * [[NiwEnglisc]] * [[Þat englisce Alphabet]] * [[Lernung þer Stafræwe]] * [[Þe ettbære Garden]] as well as [[Biblioþeke]], which has already been nominated for deletion. :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' all per the above. I can find no evidence of the conlang outside Wikibooks and this sole author. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 14 July 2024 (UTC) == [[Mac OS X Leopard]] == Yet another abandoned, underdeveloped book on an obsolete operating system. (Mac OS X Leopard was released in 2007, and has been unsupported since 2011.) If there were more content in this book, it could possibly be refactored into a version-independent book about macOS, but there's effectively nothing here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 14 July 2024 (UTC) :{{vd}}. If it were more fleshed out, it could be kept as archival. However, there's so little there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:47, 24 July 2024 (UTC) == [[Advanced Calculus]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:29, 8 November 2024 (UTC)}} Abandoned for many years; consists of only one page for one theorem; no introduction or scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:32, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) {{end closed}} == [[Algebra and Number Theory]] == Abandoned >1 decade; consists of one page with very little content; no introduction or scope —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 20 July 2024 (UTC) * {{del}} per nom. Has a list of redlinks for subpages; there is one subpage: [[Algebra and Number Theory/Elementary Number Theory]]. This is not useful and has been abandoned for too long. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:05, 17 October 2024 (UTC) == [[Basic Ancient Greek]] == Abandoned for many years; very little actual content; only real contributor was an IP whose last edit was in 2015. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:37, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:06, 17 October 2024 (UTC) == [[Blender Game Engine for Morons]] == Abandoned for at least a decade; consists of main page only; almost no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:41, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[BOINC]] == Abandoned >1 decade; consists of main page only; almost no meaningful content; unclear scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:43, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[HP Open View NNM Exam Guide]] == One page only; abandoned >1 decade; little to no meaningful content; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:40, 21 July 2024 (UTC) :{{vd}}. [[w:HP OpenView|HP OpenView]] no longer exists as a product (and its successor HP Network Management Center has been discontinued as well!); neither does HP's certification exam for it. There's certainly no purpose in writing a new guide for a nonexistent exam for a obsolete product. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:54, 23 July 2024 (UTC) == [[Games]] == Abandoned for ~1 decade; little to no meaningful content; one paragraph in entire book; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:43, 21 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) == [[Biochemistry/The Cell]] == <div style="padding:0.5em;">[[File:Ambox warning yellow.svg|36px|link=]] The following discussion has concluded. Please open a new discussion for any further comments.</div> <div class="collapsible boilerplate metadata" style="background-color:#E3E9EE; margin:0em; padding:10px; border:1px solid #999999;"> <div class="title" style="background-color:#E3E9EE; padding:0px; text-align:left; vertical-align:middle;"><span style="vertical-align:middle;"> abandoned and undeveloped and per comments below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:47, 14 October 2024 (UTC)</span></div> <div class="body" style="text-align:left"> <hr /> Not particularly in scope for the book as it is; content is not particularly meaningful, educational, helpful, or well-developed (e.g. what does it mean for red blood cells to "helps in structure of the body"?) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 22 July 2024 (UTC) :{{vd}}. Even if the strange or outright wrong statements were removed (like describing a cell as "a small particle or organism", or implying that red and white blood cells are the only types of cell!), this sort of very basic explanation would be more at home in an introductory text on biology, not a text on biochemistry which assumes familiarity with these topics. (And indeed, there are much better explanations in books like [[Biology, Answering the Big Questions of Life/Cells]].) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 31 July 2024 (UTC) </div></div> == [[Folktales from the Mon People of Koh Kred]] == Seems to be out of scope, since Wikibooks does not host fiction. –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 28 July 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:11, 10 October 2024 (UTC) == [[High performance computing]] == Abandoned >1 decade; only contains main page with little content; scope not well-defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 28 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:52, 17 October 2024 (UTC) == [[Doom Modding]] == Abandoned >1 decade; main page only; very little content; unclear scope/path to completion —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 July 2024 (UTC) == [[Global Illumination and HDRI Maps in 3D Studio Max]] == Abandoned >1 decade; one chapter only, which contains only a handful of sentences. Not enough content and no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 28 July 2024 (UTC) *{{del}} per nom. The only subpage is this: [[Global Illumination and HDRI Maps in 3D Studio Max/HDRI Maps]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:51, 17 October 2024 (UTC) == Pages in [[Security+ Certification]] == Both [[Security+ Certification/Threats and Vulnerabilities]] and [[Security+ Certification/Network Security]] seem to be deprecated per @[[User:Tule-hog|Tule-hog]]'s recent overhaul; moreover, the pages in question seem to consist entirely of outlinks to Wikipedia. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:32, 3 August 2024 (UTC) == Obsolete Microsoft certification guides == * [[MCSE Server 2003 Certification Core Exams]] (exam 70-290 retired July 2013) * [[Microsoft Certified IT Professional]] (exam 70-444 retired June 2011; exam 70-450 retired July 2015) * [[Microsoft Certified Professional Developer]] (exams 70-526, 70-528, 70-529, 70-547, 70-548 retired June 2011; exams 70-290, 70-536 retired July 2013) These books all correspond to Microsoft certification exams which were retired in 2011-2015, and consist almost entirely of lists of course objectives copied from official course materials. There's almost no original educational content in any of these three books, and it's highly unlikely that they're going to be improved, since the certification exams they correspond to are no longer offered. (Reference for the exam retirement dates is: https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:27, 4 August 2024 (UTC) :{{vd}} per the above; additionally, some of these have very little content at all. Some pages may be candidates for speedy deletion. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 4 August 2024 (UTC) == [[GNU Autoconf]] == Little to no meaningful content, abandoned >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:42, 4 August 2024 (UTC) *{{vd}} per nom. Nothing particularly salvageable from this. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:07, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:50, 17 October 2024 (UTC) == [[IB Textbook Reviews]] == Very little meaningful educational content; seems like opinion at most? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:45, 4 August 2024 (UTC) == [[Kurdish]] == Very little content at all, no outline or potential for development; abandoned for years. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:46, 4 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:49, 17 October 2024 (UTC) == [[English-Arabic dictionary]] == Out of scope at Wikibooks since this is already completely covered by Wiktionary. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:49, 4 August 2024 (UTC) :{{comment}} [[English-Arabic dictionary/Colors in Arabic]] gets a nontrivial amount of traffic (~50 views/day). It'd be nice if we could at least preserve this as a redirect to an equivalent resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:38, 4 August 2024 (UTC) * '''Keep''': a book selecting vocabulary into introductory groups is very different from a lexical database such as Wiktionary. In Wiktionary, one does not know where to start learning the vocabulary. Admittedly, the title gives excessively broad scope, so something should probably be done. (The argument with 50 views/day has some force.) --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:48, 17 October 2024 (UTC) == [[Audacity]] == Abandoned 17 years; consists only of paltry introduction. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:43, 17 August 2024 (UTC) :{{vd}} - Audacity already has high-quality, freely licensed documentation at https://manual.audacityteam.org/ (and it's even a wiki!). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:57, 3 October 2024 (UTC) == [[Java Logging]] == Abandoned >1 decade; main page only; little to no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 17 August 2024 (UTC) * {{del}} per nom. All indicated subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:27, 17 October 2024 (UTC) == [[Mercury Programming]] == Abandoned >1 decade; undeveloped (single page only); no scope or plan for expansion/future development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:46, 17 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Mercury Programming/Types]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:26, 17 October 2024 (UTC) == [[Server+ Certification]] == Abandoned >1 decade; main page only; little to no meaningful content; mostly a few section headers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:48, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[NetBeans]] == No meaningful content; chapter list only; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 17 August 2024 (UTC) * {{del}} per nom. No subpages; all listed subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[Valgrind]] == Abandoned >1 decade; main page only; very little content; unclear scope; no path forward for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:52, 17 August 2024 (UTC) :{{vd}} - readers would be much better off with [https://valgrind.org/docs/manual/quick-start.html Valgrind's own quick start guide] (which is even freely licensed). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:32, 18 August 2024 (UTC) == [[Open Religion]] == Original research/soapbox/NPOV; abandoned >1 decade; main page only —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:40, 24 August 2024 (UTC) :{{vd}} - out of scope religious/philosophical content similar to [[#Developing a Universal Religion]], but less developed. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:58, 25 August 2024 (UTC) * {{del}}. For the record, the page starts: "This project is to create an Open Source religion and philosophy, transparent and accessible to all, directed to interest all without discrimination." By the way, I would not mind instead quasi-deleting by moving to userspace of the main author so that anyone can review later what kind of material is being deleted. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:03, 17 October 2024 (UTC) == [[Programming for the consultant]] == Abandoned >1 decade; little to no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:42, 24 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Programming for the consultant/Approaching A New Code Base]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:24, 17 October 2024 (UTC) == [[Metroid]] == Abandoned; main page only; no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:44, 24 August 2024 (UTC) * {{del}} per nom; could be speedy. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:00, 17 October 2024 (UTC) == [[Radiata Stories]] == Abandoned; little to no meaningful content; one page only with little content; no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 24 August 2024 (UTC) * {{del}} per nom. The one existing subpage is [[Radiata Stories/Character Recruitment]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:23, 17 October 2024 (UTC) == [[Dialect]] == Scope unclear; abandoned with no plan for development; little to no meaningful content; most pages qualify for speedy anyway. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 5 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:21, 17 October 2024 (UTC) == [[Programming Text Adventures In Basic]] == Main page only; abandoned >1 decade; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:17, 7 September 2024 (UTC) * {{del}} per nom, but I think a change of [[Wikibooks:Deletion policy]] is needed so that we can delete useless stubs abandoned for a long time. The nominated page cannot be of any use as is. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:59, 17 October 2024 (UTC) == [[UNIX Basics]] == Abandoned >1 decade; little to no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 7 September 2024 (UTC) * {{del}}: no meaningful content. A bit of meaningful content is in [[Guide to Unix]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:53, 17 October 2024 (UTC) == [[How to Write a Compiler]] == Abandoned >1 decade; main page only; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:24, 7 September 2024 (UTC) * {{del}} per nom: almost no meaningful content. No further reading. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:54, 17 October 2024 (UTC) == [[Script Languages Synopsis]] == Abandoned >1 decade; little content; unclear path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:26, 7 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:55, 17 October 2024 (UTC) == [[Epicurus]] == {{closed|Deleted. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 13:33, 6 October 2024 (UTC)}} Merging with the other Epicurus page. {{unsigned|TheoYalur}} {{end closed}} === [[Epicurus/On Matter - β (Περὶ φύσεως)]] === Merging with the other Epicurus page. [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' I'm leaning towards this whole book being deleted. The scope and structure of this book as an educational textbook are unclear and the whole thing seems potentially like original research or an essay. Unless I've missed something, the main editor seems unresponsive to querying and is repeatedly removing the query flags. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:13, 25 September 2024 (UTC) =={{anchor|Network+ Certification}}{{anchor|Security+ Certification}}{{anchor|A+ Certification}} CompTIA Certifications == [[Network+ Certification]] moved and updated at [[:v:Network+|Wikiversity]]. [[Security+ Certification]] moved and updated at [[:v:Security+ Certification|Wikiversity]]. [[A+ Certification]] moved and updated at [[:v:A+ Certification|Wikiversity]]. De-duplicating work across Wikimedia. Subpages should all be deleted as well. Might be worth leaving a redirect to WV for future users. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:02, 15 September 2024 (UTC) :I centralized at Wikiversity since the projects (as of now) are compendiums of links and resources based on the listed objectives of each exam, sometimes with explicitly suggested 'activities'. Very little in the way of 'book'-like exposition. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:06, 15 September 2024 (UTC) :Thought about leaving a {{tlx|MovedToWikiversity}} but that template has been deleted in the past. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 02:52, 3 October 2024 (UTC) == Wikiversal generated pages == * [[Wiki Assistant]] * [[User Page Builder]] *: Inexplicably, the links on the main page of this book all point to pages under [[:w:User:Hazel45onnie/User Page Builder]] '''on the English Wikipedia'''. I'm nominating those pages for deletion on enwiki as a separate process ([[:w:Wikipedia:Miscellany for deletion/Wikiversuite pages|here]]). * [[WikiverSuite/Wikiversant/Gunport Builder Demo 1]] * [[Wiki Tutorial]] *: Some of the internal links in this book are written as if the book is named [[Tutorial]] instead of [[Wiki Tutorial]]. You may have to use [[Special:Prefixindex/Wiki Tutorial]] to read through the whole thing. These books were all generated using Wikiversal, a third-party wiki editing tool written by [[User:Planotse]] which is no longer downloadable. Many of them contain broken internal links or other outdated content (like references to Wikiversity being a subproject of Wikibooks), and the HTML-heavy markup generated by Wikiversal makes them unreasonably difficult to edit. (As as aside, the markup used for these "presentations" is completely broken on the mobile site, e.g. [https://en.m.wikibooks.org/wiki/User_Page_Builder]. For some reason, the forward/back buttons are invisible, making it impossible to navigate from page to page.) The first three books are all instructions on how to use Wikiversal itself. Since it's no longer available, they are of no use. The fourth, while described as a "Wiki tutorial", primarily instructs users to use Wikiversal to build pages on the wiki; its main page should probably be redirected to [[Using Wikibooks]] as a much more comprehensive resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:44, 20 September 2024 (UTC) ::It isn't inexplicable that these pages and links are on the English Wikipedia. The spammers who developed these pages were primarily trying to peddle software for use on the English Wikipedia. Their pages on the English Wikipedia are also pending deletion as misusing Wikipedia for web hosting. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC) :::Based on the name and some of the user's (now deleted) activity on Wikiversity, I think the software was actually intended primarily for use on Wikibooks and/or Wikiversity. Why they decided to host some of its documentation on Wikipedia is a mystery. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:52, 22 September 2024 (UTC) ::::It isn't worth trying to explain the behavior of spammers. Sometimes the explanation is stupidity and greed. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:05, 22 September 2024 (UTC) ::<del>I haven't yet looked at the deletion request here. I am primarily an English Wikipedia editor, just as [[User:Omphalographer]] is primarily a Commons editor. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC)</del> *'''Delete All''' - Spam. These books were created twelve years ago to peddle software to new users. This was an abuse of Wikimedia for commercial purposes. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:51, 22 September 2024 (UTC) == [[PlanoTse Handbook for Job Search Automation]] == Much like the Wikiversal pages nominated above, this book is documentation for a piece of self-authored software by [[User:Planotse]] which is no longer available for download. I can't find any substantial references to this software anywhere online outside of this book itself, so it seems highly unlikely to be useful to anyone. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per the above. If the software is not currently available and was never widely available or notable previously, I don't see why keeping it is useful, even for historicity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 20 September 2024 (UTC) *'''Delete''' - This is more spam by a spammer. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:17, 22 September 2024 (UTC) == [[Roblox WF Wars]] == No textual content at all, just a couple of tables of data. I can't find any other information online about this game; for all we know, it may not even exist. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:30, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' as stated above. The content is so minimal, and the scope is not defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 20 September 2024 (UTC) == [[Salute, Jonathan!]] and its translations == : [[Alo, Jonathan!]] : [[Bune Ğonatan!]] : [[Dag, Jonathan!]] : [[Glidis, o Jonathan!]] : [[Hai, Jon!]] : [[Hallo, Jonathan!]] : [[Haloo, Jonatan!]] : [[Hay, Jonathan!]] : [[Hej, Jonathan! (Germanisch)]] : [[Hej, Jonathan!]] : [[Hela, Jonathan!]] : [[Holo, Jonathan!]] : [[Oila, Jonatan!]] : [[Salam, Jonathan!]] : [[Salom, Jonatan!]] : [[Salu, Jon!]] : [[Salut Jonathan!]] : [[Salute, Jonathan!]] : [[Salut, Jonathan! (Interocidental)]] : [[Salut, Jonathan!]] : [[Salut, ionatano!]] : [[Salute, Jonathan! (Novlingue)]] : [[Salute, Jonathan! (Romanica)]] : [[Saluto, Jonathan! (Ido)]] : [[Saluto, Jonathan!]] : [[Sesan Jon!]] : [[Simi, Jonathan!]] : [[Sin Chao, Jonathan!]] : [[Terve, Jonathan!]] : [[Toki a, jan Jonatan!]] : [[Àlŏ, Jonathan!]] : [[Òla, Ionatà!]] There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) :I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) :Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. :[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) :Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine :How easy would it be to migrate the entirety of Salute Jonathan to there? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) ::Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) :::Hi! :::Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. :::So the idea is the following: :::1 Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::2 The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::3 For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::4 The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. :::Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. :::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) ::::Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. ::::Cheers! –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) :::::Hello again, :::::It's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::[[Salute, Jonathan!/Capitul 1 - with notes]] :::::[[Salute, Jonathan!/Capitul 2 - with notes]] :::::[[Salute, Jonathan!/Capitul 3 - with notes]] :::::[[Salute, Jonathan!/Capitul 4 - with notes]] :::::[[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::::[[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) :::::::Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. :::::::The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. :::::::(I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) :::::::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) ::::::::Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) :::::::::Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. :::::::::For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) ::Keep. Content of educational value that helps learn languages. I think more translations to natural languages should be produced. -[[User:Bronto Rex|Bronto Rex]] ([[User talk:Bronto Rex|discuss]] • [[Special:Contributions/Bronto Rex|contribs]]) 14:02, 11 October 2024 (UTC) == [[Wooden Boats: Building and Repair]] == Abandoned almost 2 decades; a few pages, but each has only a few lines of text. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 7 October 2024 (UTC) == [[Stellar Scintillation]] == Extremely narrow scope that I don't think is quite book-worthy, especially given the low amount of content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:48, 7 October 2024 (UTC) == [[Future Teachers Meet Wiki]] == Abandoned; scope doesn't seem right for Wikibooks; underdeveloped. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 7 October 2024 (UTC) :{{vd}} - this feels like it was an attempt to use Wikibooks to organize a university project and collect student writings; even if it had made more progress, it's not clear that the outcome would have been a textbook. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 18 October 2024 (UTC) == [[IB Spanish]] == Abandoned 2 decades; seems like an idea for a book that was never actually implemented (minimal meaningful content) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:55, 7 October 2024 (UTC) == [[Luxembourgish]] == Abandoned; only non-main page is a list of movies—otherwise no meaningful content [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 7 October 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 07:25, 17 October 2024 (UTC) == [[Data Recovery]] == Seems out of scope for an educational book; a couple paragraphs at most with no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:58, 7 October 2024 (UTC) :{{vd}} - this is a worthy topic, but what's written here meanders between being vague and being actively bad advice. (The <code>strings</code> command is not an appropriate data recovery tool.) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 7 October 2024 (UTC) == [[Competitive Programming]] == Survived deletion previously on the justification that it could potentially be expanded, but it's since been over a decade with no improvement; extremely minimal educational content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:03, 7 October 2024 (UTC) == Pages by [[User:TheoYalur]] == * [[Henri Poincaré Reader]] * [[The Sight and Sound of the Greek Genocide Around the Kültürpark in Izmir]] * [[God Disorder]] These pages all appear to be personal essays, not educational texts. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 03:53, 14 October 2024 (UTC) :They are all original research. The editor asked to be unblocked so they could move to Wikiversity where OR is permitted. As they have now returned to creating these dubious pages, I have blocked them again and deleted the most recent creation as out of scope original research. The "reader" might be acceptable. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:37, 14 October 2024 (UTC) ::Thanks @[[User:MarcGarver|MarcGarver]]! I'm not sure about [[Henri Poincaré Reader]] since it has NPOV issues and it reads like a self-published essay piece with personal hypothesizing/opinion/research, no references, etc. Its educational scope is still somewhat unclear, as is the structure—it does not seem textbook-like in form or style. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:43, 14 October 2024 (UTC) :::You spent more time reading it than me I suspect. I only skimmed it, but I am sure you are right that it has the same issues as the other creations and should be deleted. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:14, 14 October 2024 (UTC) ::::With regard to the "Reader", at best it's a collection of loosely translated excerpts of texts which, for the most part, already have quality translations available on Wikisource. For instance, the section [[Henri Poincaré Reader#The Measure of Time (1898)]] is already translated as [[:s:The Foundations of Science/The Value of Science/Chapter 2]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 20:39, 14 October 2024 (UTC) == [[User:גני טווילרי]] == Please delete a redirection page of the former user page, which was not active in the En Wikibooks. Thank you. [[User:לובר|לובר]] ([[User talk:לובר|discuss]] • [[Special:Contributions/לובר|contribs]]) 02:15, 16 October 2024 (UTC) :{{re|לובר}} {{done}} though in the future please use {{tl|speedy}} for such deletions. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:53, 16 October 2024 (UTC) == [[Cyber Guide to ODU Career Management]] == As best I can tell, this was intended at one point to be an internal resource for employees of an ODU (Old Dominion University) career office; what little of it exists is primarily focused on minutae irrelevant to anyone outside that office, like [[Cyber Guide to ODU Career Management/Get Oriented/How we do it|who to email to schedule an information session]] or a collection of [[Cyber Guide to ODU Career Management/Get Up-to-Date/CAP Meeting|meeting notes]]. It's also all been essentially untouched since 2007. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:49, 18 October 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per stated reasoning —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:11, 18 October 2024 (UTC) == [[Golf]] == Extremely minimal content; educational/book scope is unclear; abandoned for >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 18 October 2024 (UTC) == [[Counterterror Joint Command]] == Unclear how this falls into WB scope—doesn't seem to be an educational book, and educational scope is undefined; abandoned as well —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:17, 18 October 2024 (UTC) :{{vd}} - this is perplexing; it's written like a policy proposal on behalf of an agency, not a textbook. From context I ''think'' it's about the [[:w:National Police Agency (Taiwan)]], but it's entirely unclear whether this was intended as an official report or some sort of weird fan fiction. Either way, it doesn't belong here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:31, 18 October 2024 (UTC) == [[Flight Attendant Manual]] == Abandoned almost 2 decades; consists only of a list of country codes and the phonetic alphabet. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:19, 18 October 2024 (UTC) == [[History of the ODU Art Department]] == A collection of fragmentary biographies and interviews of members of the ODU (Old Dominion University) art department. Some of these are individually interesting, I guess, but they don't really add up to a history of the department, let alone to an instructional text. Most editing activity appears to have been around 2008-09; there's almost no activity since then. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:22, 18 October 2024 (UTC) == [[Making Neon Signs]] == {{closed|1=Deleted. Was imported from WP (as the nominator suspected) and is still just a WP article, not a textbook. Out of scope and abandoned. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:31, 24 October 2024 (UTC)}} Seems just like an imported WP article; educational book scope unclear; abandoned for years —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:22, 18 October 2024 (UTC) {{end closed}} == [[Understanding the National Certificate of Educational Achievement]] == Scope unclear; very little content; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:30, 18 October 2024 (UTC) == [[Release Management]] == Abandoned almost 2 decades; very little content; unclear what its scope as a book is —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 18 October 2024 (UTC) == [[Management for IT Professionals]] == Minimal content; book scope unclear; abandoned almost 2 decades —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 18 October 2024 (UTC) == [[Living in Bangkok]] == Minimal content; consists of single chapter that contains likely outdated information —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:14, 18 October 2024 (UTC) == [[Limburgish]] == Abandoned; single chapter with minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:19, 18 October 2024 (UTC) :In general, I think deletion not solve anything. While the contents is minimal, it's still better than nothing at all. Rather, an invitation should be made to expand on it. --[[User:Ooswesthoesbes|Ooswesthoesbes]] ([[User talk:Ooswesthoesbes|discuss]] • [[Special:Contributions/Ooswesthoesbes|contribs]]) 06:27, 19 October 2024 (UTC) ::Hi @[[User:Ooswesthoesbes|Ooswesthoesbes]]! While I understand your perspective, I unfortunately disagree. Wikibooks has a huge number of abandoned stubs like this one, which I think results in clutter and makes the entire project less useful as a result. Due to their nature and structure, books require a greater committed investment to make than, say, WP articles, and these little scraps are rarely developed here. This book has had plenty of opportunity for expansion since you started it over a decade ago, but nobody has actually made any effort to do so. Based on the evidence from the past decade, when weighing the likelihood of the book being properly developed going forward versus the active negative impact of its continued presence in this state, I favor deletion. Moreover, in the rare case that someone came along later and wanted to revive this book specifically, it could be undeleted. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:55, 19 October 2024 (UTC) == [[Introduction to BASIC]] == Consists only of a few paragraphs and then a compilation of links —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:22, 18 October 2024 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) == [[HP Media Vault]] == Book-like scope is unclear; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:35, 18 October 2024 (UTC) :{{vd}} - how-to content isn't necessarily out of scope, but this only describes how to perform a single (fairly straightforward) task, for a product which has been off the market for ~15 years and is unlikely to be of interest to future editors. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:02, 20 October 2024 (UTC) == [[GUI Design Principles]] == Single page that was never properly integrated into a book as it should have been —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:37, 18 October 2024 (UTC) == [[Blender 3D: Game-making in Blender]] == Obsolete book with almost no content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:38, 18 October 2024 (UTC) :'''Delete''' —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:34, 3 November 2024 (UTC) :{{vd}} - as the note atop the table of contents says, "This book is obsolete. The Blender Game Engine was removed in 2018." No substantial content seems to ever have been written, and it seems unlikely that any will be. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:26, 4 November 2024 (UTC) == [[Basketball]] == Abandoned almost 2 decades; doesn't contain much beyond what you'd find in a WP article —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:41, 18 October 2024 (UTC) :I love the game, but yes, this has no real content. That said, there's little danger in keeping it and it could plausibly be improved, so I'm '''weak keep'''. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:33, 3 November 2024 (UTC) == [[Bug Free Programming]] == Unclear how exactly this constitutes an educational book; scope is unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:45, 18 October 2024 (UTC) :Wow, I didn't even remember this one. I think it's perfectly clear how this is educational and the scope couldn't be clearer, either, but I'm not going to finish it so go ahead and delete it. [[User:Főszerkesztő Úr|Főszerkesztő Úr]] ([[User talk:Főszerkesztő Úr|discuss]] • [[Special:Contributions/Főszerkesztő Úr|contribs]]) 12:35, 23 October 2024 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Citroën XM]] == Abandoned >1 decade; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:57, 18 October 2024 (UTC) == [[Happiness]] == Significant NPOV issues; not much content; abandoned for >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:58, 18 October 2024 (UTC) == [[Islamic Studies Grade 1]] == Abandoned >1 decade with very little content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:03, 19 October 2024 (UTC) :{{vd}} - the table of contents makes it clear that this book was intended to house POV religious content (e.g. a chapter titled "Allah Is The One"). This is incompatible with [[WB:NPOV]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:12, 20 October 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) == [[Austrian German]] == Abandoned almost 2 decades; scope not well outlined, main page only; minimal content insufficient for book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 24 October 2024 (UTC) :{{vd}} + comments on the page, like "[Austrian German] is much more mild, liberal and melodious unlike the German in Germany which is harsh, arrogant and even somewhat mastering", are confusing and I fail to see the need to keep such an underdeveloped "book". —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 19:47, 4 November 2024 (UTC) == Several pages in [[Hobo tourism]] and [[Hobo travel journalism]] == The following pages are entirely self-promotional content that is suitable for a blog but not WB (same contributor made the [[Wikibooks:Requests for deletion#Various pages in Basics of fine-art photography|now-deleted pages from above]]). * [[Hobo tourism/Third creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Third African trip]] * [[Hobo tourism/Visiting Death]] * [[Hobo tourism/One day in an Afghan prison]] * [[Hobo tourism/Around the world with empty pockets]] * [[Hobo tourism/Indian dreams]] * [[Hobo tourism/Two months of wandering and 14 days behind bars]] * [[Hobo tourism/Holiday of wandering mzungu]] * [[Hobo tourism/Afghan prisoner]] * [[Hobo tourism/Two hundred days in Latin America]] * [[Hobo tourism/Mongolian huyvaldagch]] * [[Hobo tourism/Six months by islands... and countries]] * [[Hobo tourism/Viktor Pinchuk's expedition to the Islands of Oceania]] * [[Hobo tourism/Viktor Pinchuk's solo expedition to Africa (2017/18)]] * [[Hobo tourism/Latin American expedition of Viktor Pinchuk]] * [[Hobo tourism/Bum tour of winter Japan]] * [[Hobo tourism/Afghan Expedition of Viktor Pinchuk]] * [[Hobo tourism/Second creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Creative trip to Mongolia]] * [[Hobo tourism/Creative trip to India]] * [[Hobo tourism/First creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Tropical fever in the bum tour (an example from practice)]] * [[Hobo tourism/African Robbery]] * [[Hobo travel journalism/With a backpack around the planet (rubric in the newspaper “Southern Capital”)]] * [[Hobo travel journalism/Returning from distant wanderings (rubric in the newspaper "Republic of Crimea")]] * [[Hobo travel journalism/Wind of wanderings (rubric in the newspaper "Crimean Time")]] * [[Hobo travel journalism/Around the World (rubric in the newspaper "Crimean Observer")]] * [[Hobo travel journalism/Travel notes (rubric in the ProX magazine)]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:01, 24 October 2024 (UTC) :{{vd}} - I would support deleting the entire book, not just these chapters. Even aside from the self-promotional content listed above, other chapters give some ''extremely questionable'' advice on sleeping arrangements, such as: :* Trespassing on private property ([[Hobo tourism/Overnight stays in long intercontinental journeys/In halls and stairwells]]; [[Hobo tourism/Overnight stays in long intercontinental journeys/On objects under construction]]) :* Sleeping inside archaeological sites ([[Hobo tourism/Overnight stays in long intercontinental journeys/In the ancient pyramid]]) :* Harassing locals if they don't let you into their house ([[Hobo tourism/Overnight stays in long intercontinental journeys/In Aboriginal dwellings]] - "independently knock on any dwelling, asking for a place under a canopy in the yard; with a negative result, repeating the action repeatedly") :[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:45, 25 October 2024 (UTC) :{{vd}} Agree with above. Delete all.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 03:38, 10 November 2024 (UTC) ::These articles have many internal links from English-language Wikinews. Removing the material would harm the news articles and the project as a whole. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 15:55, 10 November 2024 (UTC) :::Hi @[[User:Виктор Пинчук|Виктор Пинчук]]—while I understand your concern, I'm fairly certain that being linked to is not an acceptable justification in policy or otherwise for content that is inappropriate for Wikibooks in the first place. If that were the case, vandalism or other inappropriate material could be kept simply because it is linked to somewhere else. If consensus says that these pages don't belong at Wikibooks due to the unsuitability of the content, I think that decision will stand independently. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:28, 10 November 2024 (UTC) :::Vandalism is a harmful and unproductive change for the project. But what is reviewed by administrators (precisely administrators, not one administrator) of English-language news cannot be compared to vandalism. Such an example is inappropriate. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 19:11, 10 November 2024 (UTC) == files from Phoenix Wright == Used for decorative, not educational, purposes ([[WB:NFCC]]#8): [[:File:AAIME Official Artwork.jpg]], [[:File:PWAAJFA episode1.png]], [[:File:PW JFA Official Artwork.jpg]], [[:File:Gyakuten Kenji 2 Official Artwork.png]], [[:File:AJ officialart.jpg]], [[:File:PW T&T Official Artwork.jpg]], [[:File:SMB2 dream staircase art.jpg]]. Galleries ([[WB:NFCC]]#3): [[:File:Moonflow 27.jpg]], [[:File:Macalania 18.jpg]], [[:File:Chauncey LM.jpg]] , [[:File:King Boo LM.jpg]], [[:File:Boolossus LM.jpg]]. — Ирука<sup>[[user:Iruka13|13]]</sup> 16:22, 30 October 2024 (UTC) :My thoughts below: :* [[:File:AAIME Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PWAAJFA episode1.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW JFA Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Gyakuten Kenji 2 Official Artwork.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:AJ officialart.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW T&T Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:SMB2 dream staircase art.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Moonflow 27.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' low resolution and seems to be illustrating something :* [[:File:Macalania 18.jpg]] Uncertain :* [[:File:Chauncey LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:King Boo LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:Boolossus LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:12, 30 October 2024 (UTC) cdpw2hoi2uj5h1kgj7cgmrmpa57he4v 4444335 4444319 2024-11-10T22:06:39Z Omphalographer 3427146 /* Several pages in Hobo tourism and Hobo travel journalism */ Reply 4444335 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{Requests for deletion/Archives}} {{Requests for deletion/Using Template:Icon}} {{clear}} = Undeletion = {{shortcut|WB:RFU}} {{Requests for deletion/New undeletion}} {{Requests for deletion/Undeletion intro}} ==[[City Of Heroes]]== {{closed|Was undeleted —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:39, 17 August 2024 (UTC)}} A book that was deleted when strategy guides were not allowed. See discussion -<span style="background:yellow;>User:Slava Ukraini Heroyam Slava 123 <span style="color:blue span> 17:13, 12 November 2022 (UTC)</span></span> :This book was deleted about 16 years ago and only one page had a significant amount of content. It could all be undeleted but would probably be better re-made from scratch.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 01:34, 11 August 2023 (UTC) ::'''Undeleted it''' with many first-level subpages. Yet [[City Of Heroes/Archetypes]], [[City Of Heroes/Powers]], [[City Of Heroes/General Help]], [[City Of Heroes/Enhancements]], [[City Of Heroes/Binds]] and [[City Of Heroes/Badges]] have even more subpages to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:50, 19 August 2023 (UTC) :::'''Undeleted''' many subpages of the above subpages, less obviously useless versions. Yet any administrators are hereby advised to check [[Special:Undelete]] for more to be undeleted.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 21:52, 21 August 2023 (UTC) :Remaking this content from scratch might be difficult - the game shut down in 2012. There's a small community of users running private servers based on leaked source code (!), but far fewer than when the game was active. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:55, 26 August 2023 (UTC) {{end closed}} == [[Mass undeletion of books that were deleted when strategy guides were not allowed.]]== {{closed|Not done —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:40, 17 August 2024 (UTC)}} Couldn't we just mass undelete these books? [[User:Garfieldcat1978|Garfieldcat1978]] ([[User talk:Garfieldcat1978|discuss]] • [[Special:Contributions/Garfieldcat1978|contribs]]) 18:25, 20 February 2023 (UTC) Letting bot archive as needed. :Listing which works would be much better.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 22:51, 19 August 2023 (UTC) {{end closed}} = Deletion = {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} {{clear}} <!-- New nominations go at the bottom of page --> == [[Dynamical Systems]] == This seems to be abandoned book, the only content is largly vacuous. I don't believe it is likely to be extended or worked on because it is both a technical topic, and represents to original author's goals for such a book (graduate level vs undergraduate). [[User:Thenub314|Thenub]][[Special:Contributions/Thenub314|314]] ([[User talk:Thenub314|talk]]) 20:46, 23 February 2023 (UTC) :It does seem abandoned; the single existing page hasn't been updated since 2018 and the main book page hasn't been updated since 2019. Unless someone quickly decides to pick up on it, I can't really see it staying here at Wikibooks :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 24 February 2023 (UTC) ::Hello there, ::currently I'm working over at the German page, because I have begun to work with a new, more intuitive terminology. My current plan is to first finish the German version and then possibly to translate it. To finish the German version will take at least until the end of this year. Until then, you shouldn't expect any progress. Afterwards, I may feel inclined to pick up the project, depending on my human rights situation. --[[User:Mathmensch|Mathmensch]] ([[User talk:Mathmensch|discuss]] • [[Special:Contributions/Mathmensch|contribs]]) 09:26, 8 April 2023 (UTC) * '''Delete'''. While this is a stub and we should not deleted them the content present is extremely limited and by the reply above it is duplicated in another language project with the intention of migration here later. Since it also occupies a topic space name it also becomes a blocker to other similar works. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:26, 7 November 2024 (UTC) == Files from [[Illustrated Guide to the world of Spira (FFX and FFX-2)]] == {{closed|1=Deleted for lack of a valid NFCC. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:34, 24 October 2024 (UTC)}} Used for decorative, not educational, purposes: [[:File:Float 13.jpg]], [[:File:Grabbed Frame 15.jpg]], [[:File:Gandof.jpg]], [[:File:Ohalland.jpg]], [[:File:Braskascan1.jpg]], [[:File:Tidus FFX.png]] ([[WB:NFCC]]#8). — Ирука<sup>[[user:Iruka13|13]]</sup> 13:54, 17 July 2023 (UTC) :Sure, I think I can agree on the removal of these [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 12:24, 22 July 2023 (UTC) {{end closed}} == Various pages in [[Basics of fine-art photography]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:38, 24 October 2024 (UTC)}} The following pages in [[Basics of fine-art photography]] seem out of scope because they consist entirely of personal promotion/advertisement for the author's photography: * [[Basics of fine-art photography/Egypt and Egyptians II]] * [[Basics of fine-art photography/Lights of Moscow]] * [[Basics of fine-art photography/Ethiopia through the eyes of traveler]] * [[Basics of fine-art photography/On the roads of India]] * [[Basics of fine-art photography/14 days in Mongolia]] * [[Basics of fine-art photography/Egypt and Egyptians III]] * [[Basics of fine-art photography/Hitchhiking across Sudan]] * [[Basics of fine-art photography/January in Japan]] * [[Basics of fine-art photography/Uganda: tribes and civilization]] * [[Basics of fine-art photography/Tribes of Kenya]] * [[Basics of fine-art photography/Afghanistan, 2008]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:13, 25 February 2024 (UTC) :Frankly, the entire book appears to be a vehicle for the author to promote his own photography. The few sentences of instructional content on pages like [[Basics of fine-art photography/Creating works in macro photography]] are practically useless; that one amounts to "to take macro photos, set your camera to macro mode and hold it close to the subject, or read another book for more information". Other pages like [[Basics of fine-art photography/Interior photography in hobo tours]] or [[Basics of fine-art photography/Taking pictures of homeless people]] provide essentially no information on photography technique at all, and seem to mostly be intended as jumping-off points to showcase more of the author's photos. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:40, 11 March 2024 (UTC) {{end closed}} == [[History of Grand-Popo]] == {{closed|Deleted. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 08:11, 22 September 2024 (UTC)}} Suited for enWP not WB, appears to be a simple import with no likely development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:28, 1 April 2024 (UTC) {{end closed}} == [[Selected Essays]] == {{closed|1=Deleted}} Seems completely out of WB scope; it's just a collection of unrelated personal essays. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 1 April 2024 (UTC) :{{vd}} Agreed, personal essays and not ones that can easily be used, at that. [[User:Icandostuff|<span style="color:Red">I</span> <span style="color:Yellow">can</span> <span style="color:Lime">do</span> <span style="color:#00ffff">stuff</span><span style="color:Blue">!</span> ]] ([[User talk:Icandostuff|talk]]) 12:52, 11 June 2024 (UTC) {{end closed}} == [[Remembering the Templars]] == Seems to be pretty much an encyclopedic article about the Knights Templar, which makes it out of scope; enormous amount of links to enWP and may even just be an import. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:59, 1 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:53, 5 April 2024 (UTC) *'''Keep'''. This is one of [[User:Panic2k4|Panic2k4's]] books, not a WP import. They remain an active, if sporadic, contributor and may well return to this in the future. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:41, 24 October 2024 (UTC) *:I just realized they were never notified about the nom, so I'll go ahead and do so on their talk page for posterity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:10, 24 October 2024 (UTC) *'''Keep''' I urge you to consider that your view of what a encyclopedic article is may be too ample. Please avert proposing deletions simply on those grounds, especially when real content is present, if a direct import can be matched give it more time if someone has gone to the work of requesting and performing an import from Wikipedia they (or others) may us it to extend the content into a book... I understand that you may be busy but you need to dedicate more time when content is present. A simple examination of the proposed work would make the structural effort obvious even if not the creative content added. :I think deletion of imports from Wikipedia was already discussed somewhere else, probably on the deletion policy talks and some consensus was formed around it that no real lost or gain comes from performing them directly (considering the necessary steps some time should be granted if not blocking a specific namespace) and that simple non imported (without the edit history) duplication of Wikipedia content should not have the same consideration falling a bit above nonsense contributions (depending on the editor's history). :There is ample discussion regarding project stubs, that they should be preserved simply if having structural value... :I often dedicated time to salvage abandoned imports (I have or had import rights and did some of the import request). I can not remember how I started this project but along with an historic and curiosity on the subject, I did do some imports to it, I'm aware that some I left unfinished (and that the foot notes are indeed a eye sore at the end of the book structure) due to lack of time to continue on a single project and due to the issues around the C++ Programming book that made my reconsider my priorities... :If some other content was deleted simply due to be an "encyclopedic article" I would ask for anyone with time to examine those deletions. --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:14, 7 November 2024 (UTC) ::Hi @[[User:Panic2k4|Panic2k4]]! I definitely appreciate your perspective. My main concern regarding things like this is the needs of the community and the project right now. I understand the logic behind keeping books and pages that have potential, but our project seems to have hemorrhaged editors over the last several years, and activity is fairly low. I worry that keeping too many pages just because they have some potential makes the project overly cluttered and makes it harder to access the content that is higher quality—I feel like we have an unfortunate reputation in this respect. There are stubs that have previously been kept because they had the potential for improvement but that have not been substantially improved in over twenty years. I just don't want to see the project get bogged down today under the weight of imagined future improvement. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:48, 7 November 2024 (UTC) :::Additionally, regarding issues like encyclopedic content pages, I do think it's important to consider what makes us different from our sister projects like Wikipedia. I suppose for [[Remembering the Templars]] specifically, I just don't see what makes it significantly different from [[w:Knights Templar]], [[w:History of the Knights Templar]], etc. When you combine this with the issues that I've described above and the fact that this page has had issues of structure and dewikification for over a decade, that is what led me to nominate it for deletion. I hope this explains my thought process a bit better! Cheers again —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:00, 7 November 2024 (UTC) ::::Try to bring Wikipedias here to extend stubs into textbooks if you see pure encyclopedic content pages (they can also request an import there if there is valid content). I did that when I imported pages, or covered similar content (did the same in other languages Wikibooks). The issue with the loss of contributors is not linked with this type of content (in fact I find it a inspiration to contribute) its is often easier to extend than to initiate and commit to a project from 0 (just like contributing to Open Source projects). ::::The reason we lose contributors in my view is due to heckle (especially from non contributors) and technological / bureaucratic complexity. Its a hard commitment to engage in a project a lot harder than with a simpler encyclopedic article. More solitary (unless it is a class project) and required more focus (people often do not want to get involved with the general community or dragged into political discussions around outside their own project) and hard to coordinate (a book has a larger vision and is structural dependent, has to have a flow and logic). This is why even a stub with a simple structural approach to a subject has some value here. If not for anything more than demonstrate that someone else was interested in the subject. If you notice the deletions discussions you can see these forces represented... ::::I had relied in another user running a script bot to do the dewikifications (from wikipedia) that was a reason for me to halt the work there at that time, I like to preserve wikilinks as much as possible to similar content exist here (bookshelves or local content get linked first). At the same time, and to give an pertinent example or how people get tired, I got reverted by a sysop by doing the same on my own contributions on another work (on wikijunior, on the ground of esthetics, inter project consistency or whatever, this is an example of the problem). Now in an age overwhelming content. where people expect immediacy more than quality, that publishing or duplicating the edit capabilities of Wikimedia locally is easier any barrier will push people away... ::::Regarding your inability to distinguish the content apart, it seems you have more a problem with Wikipedia than my "article" then. A Wikipedic article should be a reduction to the topic it covers and split in distinct interlinked articles when its grows too much, this is a problem with many wikipedia articles (and I understand why, the need to source and maintain cohesion is better done in a monolithic view of the subject). In any case a History Wikibook can not go much further than an aggregation of facts (and I did include my own speculation, that is a historic minority view point) in relation to the Cathars in linking all to the pope's geopolitical view of the world (and grab for power) and providing a contextual view of the subject matter (you do not see that on the wikipedian articles) not a link to the free masons :) that is mere hypothetical if tentatively logic or made logic by co-adoption. :::: Remember also that we consider an aggregation of Wikepedian articles and Encyclopedia and if the scope and intention is to educate it falls under a textbook definition, we have books like that here, some have survived deletion many time... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 05:07, 8 November 2024 (UTC) :::::@[[User:Panic2k4|Panic2k4]] I think you and I share the same general values about the project, but we simply disagree on our conclusions. I'll let other people weigh in here. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:35, 10 November 2024 (UTC) == [[Half-Life Computation]] == Doesn't seem in-scope as a book—just seems like a single page on how to do a specific calculation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:06, 5 April 2024 (UTC) * Keep -You have to consider also that projects can be merged (I have not checked if there is a possible match) in any case consider it a stub with valid content. It is a stub (November 2018) there is the problem of a namespace collision since it identifies as a specific topic (but as you identified is a very limited scope). Had I the time I would create a structure around it and contribute to it in the subject of Entropy or how our non-existing reality, is also "evaporating" into nothing... : Stubs are promoters to growth, like particles to rain... --[[User:Panic2k4|Panic]] ([[User talk:Panic2k4|discuss]] • [[Special:Contributions/Panic2k4|contribs]]) 20:40, 7 November 2024 (UTC) == [[God and Religious Toleration]] == {{closed|1=clear consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:45, 24 October 2024 (UTC)}} This book was [[Wikibooks:Requests for deletion/God and Religious Toleration|previously nominated for deletion in 2011]], but kept largely because of its theoretical potential for improvement. It's now over a decade later, and no real improvement has been made. The book has the following issues: * A lack of clearly defined educational/instructional scope, structure, or aims overall * A lack of structure in each existing chapter * Significant NPOV and lack-of-evidence/citations I've gone through the book to try to improve it somewhat, but it largely feels like a disorganized dumping ground for a variety of abstract thoughts, many of which are heavily biased. At this point, given the amount of time it has had for improvement and the lack thereof, I don't think it has a place at Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:06, 20 April 2024 (UTC) :This book is very important in this day and age. Tolerance between religions is important for world peace. Without tolerance, chaos breaks out in the world. We should promote tolerance between religions. If the good guys keep quiet, the bad guys win. Is that what you want? A better way is to simply add a chapter of yours to the book and contribute your suggestions to world peace and the strengthening of love in the world. @[[User:Kittycataclysm|Kittycataclysm]] [[User:Nobody60|Nobody60]] ([[User talk:Nobody60|discuss]] • [[Special:Contributions/Nobody60|contribs]]) 08:46, 21 April 2024 (UTC) :Support deleting as per issues pointed out in nom. @[[User:Nobody60|Nobody60]], there are kilometers between deleting a bad, biased book and supporting religious intolerance or whatever it is you're accusing the nom of doing. Wikibooks is a project with a definite, reachable and concrete goal, which this book doesn't meet, never met and probably would never meet. --[[User:YuriNikolai|YuriNikolai]] ([[User talk:YuriNikolai|discuss]] • [[Special:Contributions/YuriNikolai|contribs]]) 02:10, 27 April 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:44, 27 April 2024 (UTC) :{{vd}}. Not only is this material not presented from a neutral point of view, it's not even a mainstream religious POV. Much like [[Developing A Universal Religion]] (also up for deletion), the goal of this text appears to be to create and promote a new syncretic religious movement, complete with its own new beliefs and practices; this is very much outside the scope of Wikibooks. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:24, 3 August 2024 (UTC) :{{vd}} as per [[WB:NOR]]: I am all for religious tolerance but all against religious acquiescence. [[User:Jeaucques Quœure|Jeaucques Quœure]] ([[User talk:Jeaucques Quœure|discuss]] • [[Special:Contributions/Jeaucques Quœure|contribs]]) 07:30, 26 September 2024 (UTC) {{end closed}} == [[Kashubian Dictionary]] == [[WB:DICT|Out of scope]] here; material should be hosted at Wiktionary (I've [[Wiktionary:Wiktionary:Information desk/2024/May|suggested it there]]). —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:39, 28 May 2024 (UTC) :Any content in this dictionary should be already be at [[wiktionary:Wiktionary:Requested entries (Kashubian)/Kashubian Dictionary]], where we will be able to slowly make entries for these. [[User:Vininn126|Vininn126]] ([[User talk:Vininn126|discuss]] • [[Special:Contributions/Vininn126|contribs]]) 21:51, 7 June 2024 (UTC) == [[Biblioþeke]] == Out of scope; seems to be an incomplete translation of the bible into a conlang. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:16, 29 May 2024 (UTC) == [[Wikis for Retail Store Managers]] == Abandoned, unclear scope, little content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:30, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:10, 17 October 2024 (UTC) == [[Human Geography]] == Abandoned for two decades without any development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:50, 8 June 2024 (UTC) * {{del}} per nom. The page has a list of chapters/sections, but these are not linked. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:56, 17 October 2024 (UTC) * {{del}} as I just tagged rfd.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:29, 2 November 2024 (UTC) == [[Neuro Linguistic Programming]] == Abandoned, very little meaningful content, unclear path for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 8 June 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:55, 17 October 2024 (UTC) == [[Scrapebook Linguistics]] == Abandoned, little to no meaningful content, unclear scope or potential for development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:05, 8 June 2024 (UTC) :{{vd}} - an earlier version of this page was imported to Wikiversity as [[:v:Special:Permalink/15674|Portal:Linguistics]] (and subsequently edited into oblivion). The followup edits here aren't needed at WV. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:22, 25 July 2024 (UTC) == [[How to Be a Good Camp Counselor]] == Book is un/under-developed and abandoned, and the scope/potential for development is somewhat unclear to me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:07, 19 June 2024 (UTC) == [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989/Manual for Obtention of Driving licence: Signals and Lights]] == {{closed|1=Deleted--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 02:39, 2 November 2024 (UTC)}} Abandoned with non-English. Not belonging under [[Annotated Republic of China Regulations/Regulations for Road Traffic Signs, Markings, and Signals/1989]], that Taiwanese administrative regulation since 1989 would not contain such a manual.--[[User:Jusjih|Jusjih]] ([[User talk:Jusjih|discuss]] • [[Special:Contributions/Jusjih|contribs]]) 16:55, 4 July 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per above —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 5 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:54, 17 October 2024 (UTC) {{end closed}} == [[Australian Property Law]] == Has only one page (introduction) with little content. It has been abandoned now for almost 20 years with no development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 10 July 2024 (UTC) * {{del}} per nom. Subpages are redlinks except for [[Australian Property Law/Introduction]], which does not save the material. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:09, 17 October 2024 (UTC) == [[Chinese Checkers]] == Extremely minimal content and abandoned for almost 20 years. Was previously nominated for deletion in 2006 but kept on the grounds that it could be expanded—clearly this has not happened. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:56, 11 July 2024 (UTC) == [[Niw Englisch]] == Fiction / original research - a conlang being (very slowly) created by the author of the book. The following books are closely related to that project and should be deleted as well: * [[NiwEnglisc]] * [[Þat englisce Alphabet]] * [[Lernung þer Stafræwe]] * [[Þe ettbære Garden]] as well as [[Biblioþeke]], which has already been nominated for deletion. :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' all per the above. I can find no evidence of the conlang outside Wikibooks and this sole author. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 14 July 2024 (UTC) == [[Mac OS X Leopard]] == Yet another abandoned, underdeveloped book on an obsolete operating system. (Mac OS X Leopard was released in 2007, and has been unsupported since 2011.) If there were more content in this book, it could possibly be refactored into a version-independent book about macOS, but there's effectively nothing here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 14 July 2024 (UTC) :{{vd}}. If it were more fleshed out, it could be kept as archival. However, there's so little there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:47, 24 July 2024 (UTC) == [[Advanced Calculus]] == {{closed|1=consensus to delete [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:29, 8 November 2024 (UTC)}} Abandoned for many years; consists of only one page for one theorem; no introduction or scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:32, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) {{end closed}} == [[Algebra and Number Theory]] == Abandoned >1 decade; consists of one page with very little content; no introduction or scope —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 20 July 2024 (UTC) * {{del}} per nom. Has a list of redlinks for subpages; there is one subpage: [[Algebra and Number Theory/Elementary Number Theory]]. This is not useful and has been abandoned for too long. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:05, 17 October 2024 (UTC) == [[Basic Ancient Greek]] == Abandoned for many years; very little actual content; only real contributor was an IP whose last edit was in 2015. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:37, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:06, 17 October 2024 (UTC) == [[Blender Game Engine for Morons]] == Abandoned for at least a decade; consists of main page only; almost no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:41, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[BOINC]] == Abandoned >1 decade; consists of main page only; almost no meaningful content; unclear scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:43, 20 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:07, 17 October 2024 (UTC) == [[HP Open View NNM Exam Guide]] == One page only; abandoned >1 decade; little to no meaningful content; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:40, 21 July 2024 (UTC) :{{vd}}. [[w:HP OpenView|HP OpenView]] no longer exists as a product (and its successor HP Network Management Center has been discontinued as well!); neither does HP's certification exam for it. There's certainly no purpose in writing a new guide for a nonexistent exam for a obsolete product. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:54, 23 July 2024 (UTC) == [[Games]] == Abandoned for ~1 decade; little to no meaningful content; one paragraph in entire book; scope unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:43, 21 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:08, 17 October 2024 (UTC) == [[Biochemistry/The Cell]] == <div style="padding:0.5em;">[[File:Ambox warning yellow.svg|36px|link=]] The following discussion has concluded. Please open a new discussion for any further comments.</div> <div class="collapsible boilerplate metadata" style="background-color:#E3E9EE; margin:0em; padding:10px; border:1px solid #999999;"> <div class="title" style="background-color:#E3E9EE; padding:0px; text-align:left; vertical-align:middle;"><span style="vertical-align:middle;"> abandoned and undeveloped and per comments below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:47, 14 October 2024 (UTC)</span></div> <div class="body" style="text-align:left"> <hr /> Not particularly in scope for the book as it is; content is not particularly meaningful, educational, helpful, or well-developed (e.g. what does it mean for red blood cells to "helps in structure of the body"?) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 22 July 2024 (UTC) :{{vd}}. Even if the strange or outright wrong statements were removed (like describing a cell as "a small particle or organism", or implying that red and white blood cells are the only types of cell!), this sort of very basic explanation would be more at home in an introductory text on biology, not a text on biochemistry which assumes familiarity with these topics. (And indeed, there are much better explanations in books like [[Biology, Answering the Big Questions of Life/Cells]].) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 31 July 2024 (UTC) </div></div> == [[Folktales from the Mon People of Koh Kred]] == Seems to be out of scope, since Wikibooks does not host fiction. –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 28 July 2024 (UTC) *{{vd}} per nom. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:11, 10 October 2024 (UTC) == [[High performance computing]] == Abandoned >1 decade; only contains main page with little content; scope not well-defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 28 July 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:52, 17 October 2024 (UTC) == [[Doom Modding]] == Abandoned >1 decade; main page only; very little content; unclear scope/path to completion —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 July 2024 (UTC) == [[Global Illumination and HDRI Maps in 3D Studio Max]] == Abandoned >1 decade; one chapter only, which contains only a handful of sentences. Not enough content and no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 28 July 2024 (UTC) *{{del}} per nom. The only subpage is this: [[Global Illumination and HDRI Maps in 3D Studio Max/HDRI Maps]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:51, 17 October 2024 (UTC) == Pages in [[Security+ Certification]] == Both [[Security+ Certification/Threats and Vulnerabilities]] and [[Security+ Certification/Network Security]] seem to be deprecated per @[[User:Tule-hog|Tule-hog]]'s recent overhaul; moreover, the pages in question seem to consist entirely of outlinks to Wikipedia. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:32, 3 August 2024 (UTC) == Obsolete Microsoft certification guides == * [[MCSE Server 2003 Certification Core Exams]] (exam 70-290 retired July 2013) * [[Microsoft Certified IT Professional]] (exam 70-444 retired June 2011; exam 70-450 retired July 2015) * [[Microsoft Certified Professional Developer]] (exams 70-526, 70-528, 70-529, 70-547, 70-548 retired June 2011; exams 70-290, 70-536 retired July 2013) These books all correspond to Microsoft certification exams which were retired in 2011-2015, and consist almost entirely of lists of course objectives copied from official course materials. There's almost no original educational content in any of these three books, and it's highly unlikely that they're going to be improved, since the certification exams they correspond to are no longer offered. (Reference for the exam retirement dates is: https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:27, 4 August 2024 (UTC) :{{vd}} per the above; additionally, some of these have very little content at all. Some pages may be candidates for speedy deletion. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 4 August 2024 (UTC) == [[GNU Autoconf]] == Little to no meaningful content, abandoned >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:42, 4 August 2024 (UTC) *{{vd}} per nom. Nothing particularly salvageable from this. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:07, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:50, 17 October 2024 (UTC) == [[IB Textbook Reviews]] == Very little meaningful educational content; seems like opinion at most? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:45, 4 August 2024 (UTC) == [[Kurdish]] == Very little content at all, no outline or potential for development; abandoned for years. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:46, 4 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:49, 17 October 2024 (UTC) == [[English-Arabic dictionary]] == Out of scope at Wikibooks since this is already completely covered by Wiktionary. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:49, 4 August 2024 (UTC) :{{comment}} [[English-Arabic dictionary/Colors in Arabic]] gets a nontrivial amount of traffic (~50 views/day). It'd be nice if we could at least preserve this as a redirect to an equivalent resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:38, 4 August 2024 (UTC) * '''Keep''': a book selecting vocabulary into introductory groups is very different from a lexical database such as Wiktionary. In Wiktionary, one does not know where to start learning the vocabulary. Admittedly, the title gives excessively broad scope, so something should probably be done. (The argument with 50 views/day has some force.) --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:48, 17 October 2024 (UTC) == [[Audacity]] == Abandoned 17 years; consists only of paltry introduction. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:43, 17 August 2024 (UTC) :{{vd}} - Audacity already has high-quality, freely licensed documentation at https://manual.audacityteam.org/ (and it's even a wiki!). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:57, 3 October 2024 (UTC) == [[Java Logging]] == Abandoned >1 decade; main page only; little to no meaningful content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 17 August 2024 (UTC) * {{del}} per nom. All indicated subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:27, 17 October 2024 (UTC) == [[Mercury Programming]] == Abandoned >1 decade; undeveloped (single page only); no scope or plan for expansion/future development. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:46, 17 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Mercury Programming/Types]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:26, 17 October 2024 (UTC) == [[Server+ Certification]] == Abandoned >1 decade; main page only; little to no meaningful content; mostly a few section headers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:48, 17 August 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[NetBeans]] == No meaningful content; chapter list only; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 17 August 2024 (UTC) * {{del}} per nom. No subpages; all listed subpages are redlinks. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:25, 17 October 2024 (UTC) == [[Valgrind]] == Abandoned >1 decade; main page only; very little content; unclear scope; no path forward for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:52, 17 August 2024 (UTC) :{{vd}} - readers would be much better off with [https://valgrind.org/docs/manual/quick-start.html Valgrind's own quick start guide] (which is even freely licensed). [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:32, 18 August 2024 (UTC) == [[Open Religion]] == Original research/soapbox/NPOV; abandoned >1 decade; main page only —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:40, 24 August 2024 (UTC) :{{vd}} - out of scope religious/philosophical content similar to [[#Developing a Universal Religion]], but less developed. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 07:58, 25 August 2024 (UTC) * {{del}}. For the record, the page starts: "This project is to create an Open Source religion and philosophy, transparent and accessible to all, directed to interest all without discrimination." By the way, I would not mind instead quasi-deleting by moving to userspace of the main author so that anyone can review later what kind of material is being deleted. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:03, 17 October 2024 (UTC) == [[Programming for the consultant]] == Abandoned >1 decade; little to no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:42, 24 August 2024 (UTC) * {{del}} per nom. The only subpage: [[Programming for the consultant/Approaching A New Code Base]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:24, 17 October 2024 (UTC) == [[Metroid]] == Abandoned; main page only; no meaningful content; no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:44, 24 August 2024 (UTC) * {{del}} per nom; could be speedy. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:00, 17 October 2024 (UTC) == [[Radiata Stories]] == Abandoned; little to no meaningful content; one page only with little content; no path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 24 August 2024 (UTC) * {{del}} per nom. The one existing subpage is [[Radiata Stories/Character Recruitment]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:23, 17 October 2024 (UTC) == [[Dialect]] == Scope unclear; abandoned with no plan for development; little to no meaningful content; most pages qualify for speedy anyway. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 5 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 06:21, 17 October 2024 (UTC) == [[Programming Text Adventures In Basic]] == Main page only; abandoned >1 decade; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:17, 7 September 2024 (UTC) * {{del}} per nom, but I think a change of [[Wikibooks:Deletion policy]] is needed so that we can delete useless stubs abandoned for a long time. The nominated page cannot be of any use as is. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:59, 17 October 2024 (UTC) == [[UNIX Basics]] == Abandoned >1 decade; little to no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 7 September 2024 (UTC) * {{del}}: no meaningful content. A bit of meaningful content is in [[Guide to Unix]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:53, 17 October 2024 (UTC) == [[How to Write a Compiler]] == Abandoned >1 decade; main page only; little meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:24, 7 September 2024 (UTC) * {{del}} per nom: almost no meaningful content. No further reading. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:54, 17 October 2024 (UTC) == [[Script Languages Synopsis]] == Abandoned >1 decade; little content; unclear path for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:26, 7 September 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 05:55, 17 October 2024 (UTC) == [[Epicurus]] == {{closed|Deleted. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 13:33, 6 October 2024 (UTC)}} Merging with the other Epicurus page. {{unsigned|TheoYalur}} {{end closed}} === [[Epicurus/On Matter - β (Περὶ φύσεως)]] === Merging with the other Epicurus page. [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' I'm leaning towards this whole book being deleted. The scope and structure of this book as an educational textbook are unclear and the whole thing seems potentially like original research or an essay. Unless I've missed something, the main editor seems unresponsive to querying and is repeatedly removing the query flags. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:13, 25 September 2024 (UTC) =={{anchor|Network+ Certification}}{{anchor|Security+ Certification}}{{anchor|A+ Certification}} CompTIA Certifications == [[Network+ Certification]] moved and updated at [[:v:Network+|Wikiversity]]. [[Security+ Certification]] moved and updated at [[:v:Security+ Certification|Wikiversity]]. [[A+ Certification]] moved and updated at [[:v:A+ Certification|Wikiversity]]. De-duplicating work across Wikimedia. Subpages should all be deleted as well. Might be worth leaving a redirect to WV for future users. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:02, 15 September 2024 (UTC) :I centralized at Wikiversity since the projects (as of now) are compendiums of links and resources based on the listed objectives of each exam, sometimes with explicitly suggested 'activities'. Very little in the way of 'book'-like exposition. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 21:06, 15 September 2024 (UTC) :Thought about leaving a {{tlx|MovedToWikiversity}} but that template has been deleted in the past. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|discuss]] • [[Special:Contributions/Tule-hog|contribs]]) 02:52, 3 October 2024 (UTC) == Wikiversal generated pages == * [[Wiki Assistant]] * [[User Page Builder]] *: Inexplicably, the links on the main page of this book all point to pages under [[:w:User:Hazel45onnie/User Page Builder]] '''on the English Wikipedia'''. I'm nominating those pages for deletion on enwiki as a separate process ([[:w:Wikipedia:Miscellany for deletion/Wikiversuite pages|here]]). * [[WikiverSuite/Wikiversant/Gunport Builder Demo 1]] * [[Wiki Tutorial]] *: Some of the internal links in this book are written as if the book is named [[Tutorial]] instead of [[Wiki Tutorial]]. You may have to use [[Special:Prefixindex/Wiki Tutorial]] to read through the whole thing. These books were all generated using Wikiversal, a third-party wiki editing tool written by [[User:Planotse]] which is no longer downloadable. Many of them contain broken internal links or other outdated content (like references to Wikiversity being a subproject of Wikibooks), and the HTML-heavy markup generated by Wikiversal makes them unreasonably difficult to edit. (As as aside, the markup used for these "presentations" is completely broken on the mobile site, e.g. [https://en.m.wikibooks.org/wiki/User_Page_Builder]. For some reason, the forward/back buttons are invisible, making it impossible to navigate from page to page.) The first three books are all instructions on how to use Wikiversal itself. Since it's no longer available, they are of no use. The fourth, while described as a "Wiki tutorial", primarily instructs users to use Wikiversal to build pages on the wiki; its main page should probably be redirected to [[Using Wikibooks]] as a much more comprehensive resource. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:44, 20 September 2024 (UTC) ::It isn't inexplicable that these pages and links are on the English Wikipedia. The spammers who developed these pages were primarily trying to peddle software for use on the English Wikipedia. Their pages on the English Wikipedia are also pending deletion as misusing Wikipedia for web hosting. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC) :::Based on the name and some of the user's (now deleted) activity on Wikiversity, I think the software was actually intended primarily for use on Wikibooks and/or Wikiversity. Why they decided to host some of its documentation on Wikipedia is a mystery. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:52, 22 September 2024 (UTC) ::::It isn't worth trying to explain the behavior of spammers. Sometimes the explanation is stupidity and greed. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:05, 22 September 2024 (UTC) ::<del>I haven't yet looked at the deletion request here. I am primarily an English Wikipedia editor, just as [[User:Omphalographer]] is primarily a Commons editor. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:46, 22 September 2024 (UTC)</del> *'''Delete All''' - Spam. These books were created twelve years ago to peddle software to new users. This was an abuse of Wikimedia for commercial purposes. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 18:51, 22 September 2024 (UTC) == [[PlanoTse Handbook for Job Search Automation]] == Much like the Wikiversal pages nominated above, this book is documentation for a piece of self-authored software by [[User:Planotse]] which is no longer available for download. I can't find any substantial references to this software anywhere online outside of this book itself, so it seems highly unlikely to be useful to anyone. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:49, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per the above. If the software is not currently available and was never widely available or notable previously, I don't see why keeping it is useful, even for historicity. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 20 September 2024 (UTC) *'''Delete''' - This is more spam by a spammer. [[User:Robert McClenon|Robert McClenon]] ([[User talk:Robert McClenon|discuss]] • [[Special:Contributions/Robert McClenon|contribs]]) 23:17, 22 September 2024 (UTC) == [[Roblox WF Wars]] == No textual content at all, just a couple of tables of data. I can't find any other information online about this game; for all we know, it may not even exist. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:30, 20 September 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' as stated above. The content is so minimal, and the scope is not defined. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 20 September 2024 (UTC) == [[Salute, Jonathan!]] and its translations == : [[Alo, Jonathan!]] : [[Bune Ğonatan!]] : [[Dag, Jonathan!]] : [[Glidis, o Jonathan!]] : [[Hai, Jon!]] : [[Hallo, Jonathan!]] : [[Haloo, Jonatan!]] : [[Hay, Jonathan!]] : [[Hej, Jonathan! (Germanisch)]] : [[Hej, Jonathan!]] : [[Hela, Jonathan!]] : [[Holo, Jonathan!]] : [[Oila, Jonatan!]] : [[Salam, Jonathan!]] : [[Salom, Jonatan!]] : [[Salu, Jon!]] : [[Salut Jonathan!]] : [[Salute, Jonathan!]] : [[Salut, Jonathan! (Interocidental)]] : [[Salut, Jonathan!]] : [[Salut, ionatano!]] : [[Salute, Jonathan! (Novlingue)]] : [[Salute, Jonathan! (Romanica)]] : [[Saluto, Jonathan! (Ido)]] : [[Saluto, Jonathan!]] : [[Sesan Jon!]] : [[Simi, Jonathan!]] : [[Sin Chao, Jonathan!]] : [[Terve, Jonathan!]] : [[Toki a, jan Jonatan!]] : [[Àlŏ, Jonathan!]] : [[Òla, Ionatà!]] There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) :I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) :Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. :[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) :Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine :How easy would it be to migrate the entirety of Salute Jonathan to there? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) ::Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) :::Hi! :::Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. :::So the idea is the following: :::1 Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::2 The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::3 For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::4 The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. :::Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. :::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) ::::Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. ::::Cheers! –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) :::::Hello again, :::::It's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::[[Salute, Jonathan!/Capitul 1 - with notes]] :::::[[Salute, Jonathan!/Capitul 2 - with notes]] :::::[[Salute, Jonathan!/Capitul 3 - with notes]] :::::[[Salute, Jonathan!/Capitul 4 - with notes]] :::::[[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::::[[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) :::::::Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. :::::::The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. :::::::(I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) :::::::[[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) ::::::::Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) :::::::::Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. :::::::::For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) ::Keep. Content of educational value that helps learn languages. I think more translations to natural languages should be produced. -[[User:Bronto Rex|Bronto Rex]] ([[User talk:Bronto Rex|discuss]] • [[Special:Contributions/Bronto Rex|contribs]]) 14:02, 11 October 2024 (UTC) == [[Wooden Boats: Building and Repair]] == Abandoned almost 2 decades; a few pages, but each has only a few lines of text. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 7 October 2024 (UTC) == [[Stellar Scintillation]] == Extremely narrow scope that I don't think is quite book-worthy, especially given the low amount of content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:48, 7 October 2024 (UTC) == [[Future Teachers Meet Wiki]] == Abandoned; scope doesn't seem right for Wikibooks; underdeveloped. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 7 October 2024 (UTC) :{{vd}} - this feels like it was an attempt to use Wikibooks to organize a university project and collect student writings; even if it had made more progress, it's not clear that the outcome would have been a textbook. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:42, 18 October 2024 (UTC) == [[IB Spanish]] == Abandoned 2 decades; seems like an idea for a book that was never actually implemented (minimal meaningful content) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:55, 7 October 2024 (UTC) == [[Luxembourgish]] == Abandoned; only non-main page is a list of movies—otherwise no meaningful content [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 7 October 2024 (UTC) * {{del}} per nom. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 07:25, 17 October 2024 (UTC) == [[Data Recovery]] == Seems out of scope for an educational book; a couple paragraphs at most with no plan for development —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:58, 7 October 2024 (UTC) :{{vd}} - this is a worthy topic, but what's written here meanders between being vague and being actively bad advice. (The <code>strings</code> command is not an appropriate data recovery tool.) [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 7 October 2024 (UTC) == [[Competitive Programming]] == Survived deletion previously on the justification that it could potentially be expanded, but it's since been over a decade with no improvement; extremely minimal educational content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:03, 7 October 2024 (UTC) == Pages by [[User:TheoYalur]] == * [[Henri Poincaré Reader]] * [[The Sight and Sound of the Greek Genocide Around the Kültürpark in Izmir]] * [[God Disorder]] These pages all appear to be personal essays, not educational texts. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 03:53, 14 October 2024 (UTC) :They are all original research. The editor asked to be unblocked so they could move to Wikiversity where OR is permitted. As they have now returned to creating these dubious pages, I have blocked them again and deleted the most recent creation as out of scope original research. The "reader" might be acceptable. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:37, 14 October 2024 (UTC) ::Thanks @[[User:MarcGarver|MarcGarver]]! I'm not sure about [[Henri Poincaré Reader]] since it has NPOV issues and it reads like a self-published essay piece with personal hypothesizing/opinion/research, no references, etc. Its educational scope is still somewhat unclear, as is the structure—it does not seem textbook-like in form or style. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:43, 14 October 2024 (UTC) :::You spent more time reading it than me I suspect. I only skimmed it, but I am sure you are right that it has the same issues as the other creations and should be deleted. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:14, 14 October 2024 (UTC) ::::With regard to the "Reader", at best it's a collection of loosely translated excerpts of texts which, for the most part, already have quality translations available on Wikisource. For instance, the section [[Henri Poincaré Reader#The Measure of Time (1898)]] is already translated as [[:s:The Foundations of Science/The Value of Science/Chapter 2]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 20:39, 14 October 2024 (UTC) == [[User:גני טווילרי]] == Please delete a redirection page of the former user page, which was not active in the En Wikibooks. Thank you. [[User:לובר|לובר]] ([[User talk:לובר|discuss]] • [[Special:Contributions/לובר|contribs]]) 02:15, 16 October 2024 (UTC) :{{re|לובר}} {{done}} though in the future please use {{tl|speedy}} for such deletions. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:53, 16 October 2024 (UTC) == [[Cyber Guide to ODU Career Management]] == As best I can tell, this was intended at one point to be an internal resource for employees of an ODU (Old Dominion University) career office; what little of it exists is primarily focused on minutae irrelevant to anyone outside that office, like [[Cyber Guide to ODU Career Management/Get Oriented/How we do it|who to email to schedule an information session]] or a collection of [[Cyber Guide to ODU Career Management/Get Up-to-Date/CAP Meeting|meeting notes]]. It's also all been essentially untouched since 2007. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:49, 18 October 2024 (UTC) :[[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' per stated reasoning —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:11, 18 October 2024 (UTC) == [[Golf]] == Extremely minimal content; educational/book scope is unclear; abandoned for >1 decade. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 18 October 2024 (UTC) == [[Counterterror Joint Command]] == Unclear how this falls into WB scope—doesn't seem to be an educational book, and educational scope is undefined; abandoned as well —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:17, 18 October 2024 (UTC) :{{vd}} - this is perplexing; it's written like a policy proposal on behalf of an agency, not a textbook. From context I ''think'' it's about the [[:w:National Police Agency (Taiwan)]], but it's entirely unclear whether this was intended as an official report or some sort of weird fan fiction. Either way, it doesn't belong here. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:31, 18 October 2024 (UTC) == [[Flight Attendant Manual]] == Abandoned almost 2 decades; consists only of a list of country codes and the phonetic alphabet. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:19, 18 October 2024 (UTC) == [[History of the ODU Art Department]] == A collection of fragmentary biographies and interviews of members of the ODU (Old Dominion University) art department. Some of these are individually interesting, I guess, but they don't really add up to a history of the department, let alone to an instructional text. Most editing activity appears to have been around 2008-09; there's almost no activity since then. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 19:22, 18 October 2024 (UTC) == [[Making Neon Signs]] == {{closed|1=Deleted. Was imported from WP (as the nominator suspected) and is still just a WP article, not a textbook. Out of scope and abandoned. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:31, 24 October 2024 (UTC)}} Seems just like an imported WP article; educational book scope unclear; abandoned for years —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:22, 18 October 2024 (UTC) {{end closed}} == [[Understanding the National Certificate of Educational Achievement]] == Scope unclear; very little content; abandoned >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:30, 18 October 2024 (UTC) == [[Release Management]] == Abandoned almost 2 decades; very little content; unclear what its scope as a book is —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 18 October 2024 (UTC) == [[Management for IT Professionals]] == Minimal content; book scope unclear; abandoned almost 2 decades —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 18 October 2024 (UTC) == [[Living in Bangkok]] == Minimal content; consists of single chapter that contains likely outdated information —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:14, 18 October 2024 (UTC) == [[Limburgish]] == Abandoned; single chapter with minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:19, 18 October 2024 (UTC) :In general, I think deletion not solve anything. While the contents is minimal, it's still better than nothing at all. Rather, an invitation should be made to expand on it. --[[User:Ooswesthoesbes|Ooswesthoesbes]] ([[User talk:Ooswesthoesbes|discuss]] • [[Special:Contributions/Ooswesthoesbes|contribs]]) 06:27, 19 October 2024 (UTC) ::Hi @[[User:Ooswesthoesbes|Ooswesthoesbes]]! While I understand your perspective, I unfortunately disagree. Wikibooks has a huge number of abandoned stubs like this one, which I think results in clutter and makes the entire project less useful as a result. Due to their nature and structure, books require a greater committed investment to make than, say, WP articles, and these little scraps are rarely developed here. This book has had plenty of opportunity for expansion since you started it over a decade ago, but nobody has actually made any effort to do so. Based on the evidence from the past decade, when weighing the likelihood of the book being properly developed going forward versus the active negative impact of its continued presence in this state, I favor deletion. Moreover, in the rare case that someone came along later and wanted to revive this book specifically, it could be undeleted. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:55, 19 October 2024 (UTC) == [[Introduction to BASIC]] == Consists only of a few paragraphs and then a compilation of links —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:22, 18 October 2024 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) == [[HP Media Vault]] == Book-like scope is unclear; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:35, 18 October 2024 (UTC) :{{vd}} - how-to content isn't necessarily out of scope, but this only describes how to perform a single (fairly straightforward) task, for a product which has been off the market for ~15 years and is unlikely to be of interest to future editors. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:02, 20 October 2024 (UTC) == [[GUI Design Principles]] == Single page that was never properly integrated into a book as it should have been —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:37, 18 October 2024 (UTC) == [[Blender 3D: Game-making in Blender]] == Obsolete book with almost no content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:38, 18 October 2024 (UTC) :'''Delete''' —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:34, 3 November 2024 (UTC) :{{vd}} - as the note atop the table of contents says, "This book is obsolete. The Blender Game Engine was removed in 2018." No substantial content seems to ever have been written, and it seems unlikely that any will be. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:26, 4 November 2024 (UTC) == [[Basketball]] == Abandoned almost 2 decades; doesn't contain much beyond what you'd find in a WP article —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:41, 18 October 2024 (UTC) :I love the game, but yes, this has no real content. That said, there's little danger in keeping it and it could plausibly be improved, so I'm '''weak keep'''. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:33, 3 November 2024 (UTC) == [[Bug Free Programming]] == Unclear how exactly this constitutes an educational book; scope is unclear —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:45, 18 October 2024 (UTC) :Wow, I didn't even remember this one. I think it's perfectly clear how this is educational and the scope couldn't be clearer, either, but I'm not going to finish it so go ahead and delete it. [[User:Főszerkesztő Úr|Főszerkesztő Úr]] ([[User talk:Főszerkesztő Úr|discuss]] • [[Special:Contributions/Főszerkesztő Úr|contribs]]) 12:35, 23 October 2024 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Citroën XM]] == Abandoned >1 decade; very minimal content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:57, 18 October 2024 (UTC) == [[Happiness]] == Significant NPOV issues; not much content; abandoned for >1 decade —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:58, 18 October 2024 (UTC) == [[Islamic Studies Grade 1]] == Abandoned >1 decade with very little content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:03, 19 October 2024 (UTC) :{{vd}} - the table of contents makes it clear that this book was intended to house POV religious content (e.g. a chapter titled "Allah Is The One"). This is incompatible with [[WB:NPOV]]. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 01:12, 20 October 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) == [[Austrian German]] == Abandoned almost 2 decades; scope not well outlined, main page only; minimal content insufficient for book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 24 October 2024 (UTC) :{{vd}} + comments on the page, like "[Austrian German] is much more mild, liberal and melodious unlike the German in Germany which is harsh, arrogant and even somewhat mastering", are confusing and I fail to see the need to keep such an underdeveloped "book". —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 19:47, 4 November 2024 (UTC) == Several pages in [[Hobo tourism]] and [[Hobo travel journalism]] == The following pages are entirely self-promotional content that is suitable for a blog but not WB (same contributor made the [[Wikibooks:Requests for deletion#Various pages in Basics of fine-art photography|now-deleted pages from above]]). * [[Hobo tourism/Third creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Third African trip]] * [[Hobo tourism/Visiting Death]] * [[Hobo tourism/One day in an Afghan prison]] * [[Hobo tourism/Around the world with empty pockets]] * [[Hobo tourism/Indian dreams]] * [[Hobo tourism/Two months of wandering and 14 days behind bars]] * [[Hobo tourism/Holiday of wandering mzungu]] * [[Hobo tourism/Afghan prisoner]] * [[Hobo tourism/Two hundred days in Latin America]] * [[Hobo tourism/Mongolian huyvaldagch]] * [[Hobo tourism/Six months by islands... and countries]] * [[Hobo tourism/Viktor Pinchuk's expedition to the Islands of Oceania]] * [[Hobo tourism/Viktor Pinchuk's solo expedition to Africa (2017/18)]] * [[Hobo tourism/Latin American expedition of Viktor Pinchuk]] * [[Hobo tourism/Bum tour of winter Japan]] * [[Hobo tourism/Afghan Expedition of Viktor Pinchuk]] * [[Hobo tourism/Second creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Creative trip to Mongolia]] * [[Hobo tourism/Creative trip to India]] * [[Hobo tourism/First creative trip of Viktor Pinchuk to Africa]] * [[Hobo tourism/Tropical fever in the bum tour (an example from practice)]] * [[Hobo tourism/African Robbery]] * [[Hobo travel journalism/With a backpack around the planet (rubric in the newspaper “Southern Capital”)]] * [[Hobo travel journalism/Returning from distant wanderings (rubric in the newspaper "Republic of Crimea")]] * [[Hobo travel journalism/Wind of wanderings (rubric in the newspaper "Crimean Time")]] * [[Hobo travel journalism/Around the World (rubric in the newspaper "Crimean Observer")]] * [[Hobo travel journalism/Travel notes (rubric in the ProX magazine)]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:01, 24 October 2024 (UTC) :{{vd}} - I would support deleting the entire book, not just these chapters. Even aside from the self-promotional content listed above, other chapters give some ''extremely questionable'' advice on sleeping arrangements, such as: :* Trespassing on private property ([[Hobo tourism/Overnight stays in long intercontinental journeys/In halls and stairwells]]; [[Hobo tourism/Overnight stays in long intercontinental journeys/On objects under construction]]) :* Sleeping inside archaeological sites ([[Hobo tourism/Overnight stays in long intercontinental journeys/In the ancient pyramid]]) :* Harassing locals if they don't let you into their house ([[Hobo tourism/Overnight stays in long intercontinental journeys/In Aboriginal dwellings]] - "independently knock on any dwelling, asking for a place under a canopy in the yard; with a negative result, repeating the action repeatedly") :[[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:45, 25 October 2024 (UTC) :{{vd}} Agree with above. Delete all.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 03:38, 10 November 2024 (UTC) ::These articles have many internal links from English-language Wikinews. Removing the material would harm the news articles and the project as a whole. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 15:55, 10 November 2024 (UTC) :::Hi @[[User:Виктор Пинчук|Виктор Пинчук]]—while I understand your concern, I'm fairly certain that being linked to is not an acceptable justification in policy or otherwise for content that is inappropriate for Wikibooks in the first place. If that were the case, vandalism or other inappropriate material could be kept simply because it is linked to somewhere else. If consensus says that these pages don't belong at Wikibooks due to the unsuitability of the content, I think that decision will stand independently. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:28, 10 November 2024 (UTC) :::Vandalism is a harmful and unproductive change for the project. But what is reviewed by administrators (precisely administrators, not one administrator) of English-language news cannot be compared to vandalism. Such an example is inappropriate. — [[User:Виктор Пинчук|Виктор Пинчук]] ([[User talk:Виктор Пинчук|discuss]] • [[Special:Contributions/Виктор Пинчук|contribs]]) 19:11, 10 November 2024 (UTC) :::Then that is an issue which Wikinews can deal with. Wikibooks is its own project, and can make its own decisions about the suitability of content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:06, 10 November 2024 (UTC) == files from Phoenix Wright == Used for decorative, not educational, purposes ([[WB:NFCC]]#8): [[:File:AAIME Official Artwork.jpg]], [[:File:PWAAJFA episode1.png]], [[:File:PW JFA Official Artwork.jpg]], [[:File:Gyakuten Kenji 2 Official Artwork.png]], [[:File:AJ officialart.jpg]], [[:File:PW T&T Official Artwork.jpg]], [[:File:SMB2 dream staircase art.jpg]]. Galleries ([[WB:NFCC]]#3): [[:File:Moonflow 27.jpg]], [[:File:Macalania 18.jpg]], [[:File:Chauncey LM.jpg]] , [[:File:King Boo LM.jpg]], [[:File:Boolossus LM.jpg]]. — Ирука<sup>[[user:Iruka13|13]]</sup> 16:22, 30 October 2024 (UTC) :My thoughts below: :* [[:File:AAIME Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PWAAJFA episode1.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW JFA Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Gyakuten Kenji 2 Official Artwork.png]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:AJ officialart.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:PW T&T Official Artwork.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:SMB2 dream staircase art.jpg]] [[Image:Symbol delete vote.svg|15px|link=|alt=]] '''Delete''' purely decorative :* [[:File:Moonflow 27.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' low resolution and seems to be illustrating something :* [[:File:Macalania 18.jpg]] Uncertain :* [[:File:Chauncey LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:King Boo LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :* [[:File:Boolossus LM.jpg]] [[Image:Symbol keep vote.svg|15px|link=|alt=]] '''Keep''' seems to be actually illustrating something :Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:12, 30 October 2024 (UTC) 3lj9xp80g2hw457y4kdgnmpuzwdxc4b Talk:Chess 1 4291 4444378 4211364 2024-11-11T08:50:54Z 188.69.87.157 100% OK!!! 4444378 wikitext text/x-wiki {{ChessMenu}}{{ChessProject|importance=Top|class=B}} __TOC__ We've got that large tabley thing set up in the conventions (It might be better placed under the board set up section). However that table would be a real headache to use repeatedly (its huge HTML code). The best solution I've seen yet is that chess board tex markup from wikisophia (see it here: http://wikisophia.org/wiki/Wikitex#Chess). However from my simple little tests that isn't supported yet here. So for standard representation of chess boards, for now I recommend we just stick to simple to complex Ascii diagrams, using PNBRKQ/pnbrkq for black and white respectively. That should do until that sweet sweet wikitex project becomes more standard in the wikiworld. : I hope you're not referring to algebraic notation, the virtual ''lingua franca'' of chess notation. Fine for ASCII showing the boards or whatever, but its important to teach writing chess as well... [[User:Dysprosia|Dysprosia]] 03:59, 3 Feb 2004 (UTC) : Why is uppercase for Black and lowercase for White? The standard convention is the opposite, e.g. [http://en.wikipedia.org/wiki/Forsyth-Edwards_Notation Forsyth-Edwards_Notation]. --[[User:68.122.41.19|68.122.41.19]] 18:55, 26 Mar 2005 (UTC) No (that former post was mine), the tex markup, just lets a tex backend generate a diagram of the chess set up. A very very nice looking diagram. As we'll it labels the move history, so its ideal for transcribing chess games. [[User:WarrenWilkinson|WarrenWilkinson]] 21:53, 3 Feb 2004 (UTC) : Problem is it uses ''long'' algebraic, not short! :C I like the rendering, but it means I have to sit there and by sight transcribe famous games if I want them to be rendered by WikiTeX! [[User:Dysprosia|Dysprosia]] 22:22, 3 Feb 2004 (UTC) ::WikiTeX now supports SAN and PGN in addition to algebraic. [[User:Peter Danenberg|Peter Danenberg]] 11:28, 10 Mar 2005 (UTC) I'm still not entirely sure what you mean. Do you mean it uses the notation like QP2-QP4, instead of like e4-e6? Or are you against having to reproduce a chess match in part to display a picture of the certain result? [[User:WarrenWilkinson|WarrenWilkinson]] 03:33, 4 Feb 2004 (UTC) : long - b1-c3 , short - Nc3. The Wikisophia Chess markup handles moves ''only'' in long algebraic, and ''not'' short which all game records use, so in order to use the Wikisophia markup to show a game it has to be translated into long algebraic first which is a pain - the \move or \ply commands only does b1c3, for example. [[User:Dysprosia|Dysprosia]] 03:56, 4 Feb 2004 (UTC) (Brainstorming) How about a special moves section that details moves like castling and ''en passant'' and where they apply. Possibly also mention non-standard chess pieces and chess problems? -- [[User:Emperorbma|Emperorbma]] 19:12, 4 Feb 2004 (UTC) : Yeah, I was just thinking where to slot it in... [[User:Dysprosia|Dysprosia]] 20:59, 4 Feb 2004 (UTC) I didn't know there were non-standard chess pieces. Do you mean chess varients? Or do other places play standard Chess with an alternate piece set? If its the former a section on chess varients may be appropriate, if the latter we should try to slot them into the actual document. Does anyone here know the names of different Chess notations? I'd like to include them, currently I've added the relative position, for lack of a better name, it looks like this :'''1. QN1-QB3, ... ''' (1. B1-C3) (Queens Night to Bishop 3) I've added that under the topic 'Alternate' Notation. Does anyone know its name, and/or the names of other notations?[[User:WarrenWilkinson|WarrenWilkinson]] 03:17, 6 Feb 2004 (UTC) :: That's a European style notation, and is really rather ancient, and not many use it any more. Should we really include it here? (I'll find the name, in any case). There aren't really nonstandard ''chess'' pieces, but in chess ''variants'' you can have these. [[User:Dysprosia|Dysprosia]] 11:46, 6 Feb 2004 (UTC) ::Non-standard chess pieces... aka [[en:Fairy chess piece]]s. -- [[User:Emperorbma|Emperorbma]] 07:40, 8 Feb 2004 (UTC) The alternate notation is called 'Descriptive Notation' and although it is not used much anymore it is worth knowing because there are a few books written in it which are worth reading (e.g. Irving Chernev's "The Most Instructive Games of Chess Ever Played"). == Organizing the book == Hi, the chess book has been growing for a while, and it covers enough content to think about splitting it into several sub-pages. There are various ways of doing this, as discussed in [[Wikibooks:Hierarchy naming scheme]]. I would recommend having only a short introduction on the main page of chess, and a table of contents like [[Chess]] [[Chess/Conventions]] [[Chess/Basics]] [[Chess/Playing The Game]] [[Chess/Notating The Game]] and so on. Avoid having red links or very short pages. A couple of chapters should be enough. Using subpages, each page gets an automatic link back to the main chess page. Have a look at [[Hamster Care]] or [[How To Build A Computer]] how it is done there, or look at the recent conversions [[User talk:Ojmorales0002#Organization of the Golden Bough]] or [[Talk:How To Build A Computer#Organizing the book]]. Let me know if you need help or if there are questions. --[[User:Andreas Ipp|Andreas]] 11:53, 20 Mar 2005 (UTC) There is a section called 'Notating The Game'. Could it be renamed to 'Annotating The Game' because notating is not a real word, and the correct word is annotating -- CRF - Chessplayer :No, we can't. "Notating" is in fact a real word. However, you're right in that "Notating" is not the correct term, but "annotating" refers to making comments about the moves played in the game, giving variations, evaluating positions, etc. The correct term is "scoring". --[[User:Anonymouse|Anonymouse--nerd and proud of it]] ([[User talk:Anonymouse|talk]]) 11:52, 23 June 2008 (UTC) :I was just going to suggest that but I see you were faster. :) I would break it using the existing top level headings: [[Chess]] [[Chess/Basics]] [[Chess/Playing The Game]] [[Chess/Notating The Game]] [[Chess/Tactics]] [[Chess/Strategy]] [[Chess/Basic Openings]] [[Chess/The Endgame]] :--[[User:ZeroOne|ZeroOne]] 20:30, 25 Mar 2005 (UTC) :I have split the book into the heading listed above. This should allow for quicker load times and easier editing. [[User:Darvian|Darvian]] 20 Apr 2005 ::The current one is: [[Chess/Playing The Game|Playing The Game]] [[Chess/Notating The Game|Notating The Game]] [[Chess/Tactics|Tactics]] [[Chess/Tactics Exercises|Tactics Exercises]] [[Chess/Strategy|Strategy]] [[Chess/Basic Openings|Basic Openings]] [[Chess/Sample chess game|Sample chess game]] [[Chess/The Endgame|The Endgame]] [[Chess/Variants|Variants]] [[Chess/Tournaments|Tournaments]] [[Chess/Puzzles|Puzzles]] [[Chess/Optional homework|Optional homework]] ::[[Chess/Basics]], and [[Chess/Conventions]] got deleted. ::[[Chess]] got removed because it is the title of the page. == Maybe use template? == What do you think of using the template for chess boards (borrowed from the English Wikipedia), instead of the long table? Here is an example of its use, along with the old style: {| class="collapsible" style="text-align:left;" !Old |- |<pre> <!-- ########## CHESS TABLE BELOW ############ --> {| rows="9" cols="9" width="315" height="315" border="0" cellspacing="0" cellpadding="0" |- height ="35" align="center" | width="35" | '''8''' <!-- A8 Below--> | width="35" bgcolor="#C8C8DE" | '''R''' <!-- B8 Below--> | width="35" bgcolor="#8888AA" | '''N''' <!-- C8 Below--> | width="35" bgcolor="#C8C8DE" | '''B''' <!-- D8 Below--> | width="35" bgcolor="#8888AA" | '''Q''' <!-- E8 Below--> | width="35" bgcolor="#C8C8DE" | '''K''' <!-- F8 Below--> | width="35" bgcolor="#8888AA" | '''B''' <!-- G8 Below--> | width="35" bgcolor="#C8C8DE" | '''N''' <!-- H8 Below--> | width="35" bgcolor="#8888AA" | '''R''' |- height="35" align="center" | width="35" | '''7''' <!-- A7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- B7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- C7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- D7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- E7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- F7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- G7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- H7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' |- height="35" align="center" | width="35" | '''6''' <!-- A6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- B6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- C6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- D6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- E6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- F6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- G6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- H6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; |- height="35" align="center" | width="35" | '''5''' <!-- A5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- B5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- C5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- D5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- E5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- F5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- G5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- H5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; |- height="35" align="center" | width="35" | '''4''' <!-- A4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- B4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- C4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- D4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- E4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- F4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- G4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- H4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; |- height="35" align="center" | width="35" | '''3''' <!-- A3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- B3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- C3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- D3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- E3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- F3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- G3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- H3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; |- height="35" align="center" | width="35" | '''2''' <!-- A2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- B2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- C2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- D2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- E2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- F2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- G2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- H2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> |- height="35" align="center" | width="35" | '''1''' <!-- A1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''r'''</font> <!-- B1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''n'''</font> <!-- C1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''b'''</font> <!-- D1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''q'''</font> <!-- E1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''k'''</font> <!-- F1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''b'''</font> <!-- G1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''n'''</font> <!-- H1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''r'''</font> |- align="center" | || '''A''' || '''B''' || '''C''' || '''D''' | '''E''' || '''F''' || '''G''' || '''H''' |} <!-- ########## END OF CHESS BOARD ############ --> </pre> |} New: <pre> {{chess position|= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd|pd|pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | | | | | |= 4 | | | | | | | | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl|pl|pl|pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h |40}} </pre> They produce, respectively: {| !Old !New |- | <!-- ########## CHESS TABLE BELOW ############ --> {| rows="9" cols="9" width="315" height="315" border="0" cellspacing="0" cellpadding="0" |- height ="35" align="center" | width="35" | '''8''' <!-- A8 Below--> | width="35" bgcolor="#C8C8DE" | '''R''' <!-- B8 Below--> | width="35" bgcolor="#8888AA" | '''N''' <!-- C8 Below--> | width="35" bgcolor="#C8C8DE" | '''B''' <!-- D8 Below--> | width="35" bgcolor="#8888AA" | '''Q''' <!-- E8 Below--> | width="35" bgcolor="#C8C8DE" | '''K''' <!-- F8 Below--> | width="35" bgcolor="#8888AA" | '''B''' <!-- G8 Below--> | width="35" bgcolor="#C8C8DE" | '''N''' <!-- H8 Below--> | width="35" bgcolor="#8888AA" | '''R''' |- height="35" align="center" | width="35" | '''7''' <!-- A7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- B7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- C7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- D7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- E7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- F7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- G7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- H7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' |- height="35" align="center" | width="35" | '''6''' <!-- A6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- B6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- C6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- D6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- E6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- F6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- G6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- H6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; |- height="35" align="center" | width="35" | '''5''' <!-- A5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- B5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- C5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- D5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- E5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- F5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- G5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- H5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; |- height="35" align="center" | width="35" | '''4''' <!-- A4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- B4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- C4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- D4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- E4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- F4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- G4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- H4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; |- height="35" align="center" | width="35" | '''3''' <!-- A3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- B3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- C3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- D3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- E3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- F3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- G3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- H3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; |- height="35" align="center" | width="35" | '''2''' <!-- A2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- B2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- C2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- D2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- E2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- F2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- G2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- H2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> |- height="35" align="center" | width="35" | '''1''' <!-- A1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''r'''</font> <!-- B1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''n'''</font> <!-- C1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''b'''</font> <!-- D1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''q'''</font> <!-- E1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''k'''</font> <!-- F1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''b'''</font> <!-- G1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''n'''</font> <!-- H1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''r'''</font> |- align="center" | || '''A''' || '''B''' || '''C''' || '''D''' | '''E''' || '''F''' || '''G''' || '''H''' |} <!-- ########## END OF CHESS BOARD ############ --> | {{chess position|= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd|pd|pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | | | | | |= 4 | | | | | | | | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl|pl|pl|pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h |40}} |} :&ndash; [[User:ABCD|AB]][[User talk:ABCD|'''''CD''''']] 17:52, 27 Jun 2005 (UTC) {{Chess diagram|= | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} ::There is a nice project going on for a cross-wiki Chess diagram template. See [[:meta:WikiProject_Chess]] for details. I've copied the new "standard" template from Commons to WikiBooks. The template is called Chess_diagram, and here's what it looks like: ::If there are no objections, I'd like to start using this template to clean up the Chess WikiBook. [[User:Bjimba|Bjimba]] 14:59, 25 August 2005 (UTC) == Chess variants == There is a VfD discussion that has an impact on this Wikibook at the moment. Don't worry, we are not trying to delete this Wikibook, but there is a Wikibook that appears to be a chess variant, and perhaps its content could be modified and adapted to be included in this Wikibook. See [[Wikibooks:Votes for deletion#NeoRandom Chess]] for further details. The point here is that this Wikibook is inappropriate if left alone, but my opinion is that it should be included in this Wikibook. If you (any reader who gets to this point) feel it perhaps should go elsewhere, speak your mind on the VfD page or "forever hold your peace". If there are any active participants on this Wikibook, I would invite you to join in the discussion. --[[User:Robert Horning|Rob Horning]] 10:42, 20 August 2005 (UTC) == Important notice == The Chess wikibook had separate chapters called Basic Openings and Opening Theory. The Opening Theory module covered the same broad subject as Basic Openings but using a significantly different approach. While Basic Openings was a linear chapter, Opening Theory aimed to be an opening explorer along the lines of this web site [http://www.eudesign.com/chessops]. In addition, Basic Openings was... basic, while Opening Theory had a theoretically unlimited depth. '''I have made the former Opening Theory chapter of the Chess wikibook into a separate wikibook, called 'Opening theory in chess'.''' My reasons for doing this centre on the fact that the Chess wikibook is meant to a) reach 100% completion eventually and b) be something that a reader can get through from cover to cover and which will provide a working knowledge of the basics of chess. The Opening Theory chapter was inconsistent with this because: *Opening theory ''dwarfs'' the rest of chess literature. One needs only to look at the typical bookstall at a chess tournament to see this. It would take a long time and a lot of effort to create the definitive guide to chess openings, which would retard the completion of the Chess wikibook as a whole. Indeed, Chess is nearing completion, while Opening theory in chess is close to 0%. *The Opening Theory chapter was intended to be open-ended and constantly evolving in breadth and depth, like the Cookbook, with the result that Chess could ''never'' be 100% complete. Better, to my mind, to have one complete and readable book with a link to another constantly evolving one 'for further information'. *The concepts behind opening theory get complicated and potentially off-putting to someone who simply wants to know a bit about chess. I believe this complies with Wikibooks' no-forking policy because: *The approaches used by the two books are completely different *The content itself differs in scope and depth *The minimal actual duplication of material is for the greater good of Wikibooks as I have explained above. [[User:Chi Sigma|Chi Sigma]] 10:18, 8 October 2005 (UTC) == Transwiki == If any one is till paying attenetoin, [[Transwiki:Sample chess game]] [[User:141.156.219.89|141.156.219.89]] 21:03, 22 March 2007 (UTC) :I took care of it in July. [[User:ZeroOne|ZeroOne]] 22:55, 15 October 2007 (UTC) == Chess puzzles for one and all == I am preparing a set of chess puzzles from actual games and published problems for my students in a real-life chess class. I have decided to use the Wiki software to make the chess diagrams. The puzzles, with solutions given on a separate page, are available on my userpage. At some later time, I intend to copy them into the chess book. If anyone wishes to do it immediately, I have no objection, as long as I can keep the original copy in my userspace. I hope everyone who wants to try the puzzles will enjoy them. [[User:Shalom|Shalom]] ([[User talk:Shalom|talk]]) 02:59, 7 December 2007 (UTC) ::Checking them out [[User:ChessCreator|ChessCreator]] ([[User talk:ChessCreator|talk]]) 16:22, 10 December 2007 (UTC) :::I am copying them into the chess book page. If anyone wishes to remove them, I won't object. [[User:Shalom Yechiel|Shalom Yechiel]] ([[User talk:Shalom Yechiel|talk]]) 15:09, 18 July 2008 (UTC) ==See also== #[[Chess/Computer Chess]] #[[Chess/Optional homework]] == New Wikibook == The endgame section isn't really finished yet, but I still think that endgames are complex enough that they deserve to be a seperate wikibook, like Chess Opening Theory. [[User:AltoStev|AltoStev]] ([[User talk:AltoStev|discuss]] • [[Special:Contributions/AltoStev|contribs]]) 13:44, 4 December 2020 (UTC) == Intro == # This introduction is about history. ## Wikipedia has a much better (or more detailed) introduction right now. Maybe some details could be added. ## https://en.wikipedia.org/wiki/Talk:Chess#Chess_origin quote "My purpose was indeed to say that the origin of chess is a very controversial issue, that several places have serious claims, India, Persia, China, Central Asia, explaining why. The story is much more complex than saying chess is born in India or in China or anywhere full stop" ### So the sentence saying that it comes from India (full stop) should be changed or expanded somehow ## "Chess Update Log" by Ilyx (on youtube) also has a nice history-ish introduction [[User:AltoStev|AltoStev]] ([[User talk:AltoStev|discuss]] • [[Special:Contributions/AltoStev|contribs]]) 16:15, 9 April 2021 (UTC) == Chess kastle 2000/0000!== En cy -s'p re me.org/0000 -clopedia 2w5h2jf2l46ut8znfu5f69qg6mem45s 4444381 4444378 2024-11-11T09:10:31Z Xeverything11 3410648 Reverted 1 edit by [[Special:Contributions/188.69.87.157|188.69.87.157]] ([[User talk:188.69.87.157|talk]]) to last revision by Antandrus (TwinkleGlobal) 4444381 wikitext text/x-wiki {{ChessMenu}}{{ChessProject|importance=Top|class=B}} __TOC__ We've got that large tabley thing set up in the conventions (It might be better placed under the board set up section). However that table would be a real headache to use repeatedly (its huge HTML code). The best solution I've seen yet is that chess board tex markup from wikisophia (see it here: http://wikisophia.org/wiki/Wikitex#Chess). However from my simple little tests that isn't supported yet here. So for standard representation of chess boards, for now I recommend we just stick to simple to complex Ascii diagrams, using PNBRKQ/pnbrkq for black and white respectively. That should do until that sweet sweet wikitex project becomes more standard in the wikiworld. : I hope you're not referring to algebraic notation, the virtual ''lingua franca'' of chess notation. Fine for ASCII showing the boards or whatever, but its important to teach writing chess as well... [[User:Dysprosia|Dysprosia]] 03:59, 3 Feb 2004 (UTC) : Why is uppercase for Black and lowercase for White? The standard convention is the opposite, e.g. [http://en.wikipedia.org/wiki/Forsyth-Edwards_Notation Forsyth-Edwards_Notation]. --[[User:68.122.41.19|68.122.41.19]] 18:55, 26 Mar 2005 (UTC) No (that former post was mine), the tex markup, just lets a tex backend generate a diagram of the chess set up. A very very nice looking diagram. As we'll it labels the move history, so its ideal for transcribing chess games. [[User:WarrenWilkinson|WarrenWilkinson]] 21:53, 3 Feb 2004 (UTC) : Problem is it uses ''long'' algebraic, not short! :C I like the rendering, but it means I have to sit there and by sight transcribe famous games if I want them to be rendered by WikiTeX! [[User:Dysprosia|Dysprosia]] 22:22, 3 Feb 2004 (UTC) ::WikiTeX now supports SAN and PGN in addition to algebraic. [[User:Peter Danenberg|Peter Danenberg]] 11:28, 10 Mar 2005 (UTC) I'm still not entirely sure what you mean. Do you mean it uses the notation like QP2-QP4, instead of like e4-e6? Or are you against having to reproduce a chess match in part to display a picture of the certain result? [[User:WarrenWilkinson|WarrenWilkinson]] 03:33, 4 Feb 2004 (UTC) : long - b1-c3 , short - Nc3. The Wikisophia Chess markup handles moves ''only'' in long algebraic, and ''not'' short which all game records use, so in order to use the Wikisophia markup to show a game it has to be translated into long algebraic first which is a pain - the \move or \ply commands only does b1c3, for example. [[User:Dysprosia|Dysprosia]] 03:56, 4 Feb 2004 (UTC) (Brainstorming) How about a special moves section that details moves like castling and ''en passant'' and where they apply. Possibly also mention non-standard chess pieces and chess problems? -- [[User:Emperorbma|Emperorbma]] 19:12, 4 Feb 2004 (UTC) : Yeah, I was just thinking where to slot it in... [[User:Dysprosia|Dysprosia]] 20:59, 4 Feb 2004 (UTC) I didn't know there were non-standard chess pieces. Do you mean chess varients? Or do other places play standard Chess with an alternate piece set? If its the former a section on chess varients may be appropriate, if the latter we should try to slot them into the actual document. Does anyone here know the names of different Chess notations? I'd like to include them, currently I've added the relative position, for lack of a better name, it looks like this :'''1. QN1-QB3, ... ''' (1. B1-C3) (Queens Night to Bishop 3) I've added that under the topic 'Alternate' Notation. Does anyone know its name, and/or the names of other notations?[[User:WarrenWilkinson|WarrenWilkinson]] 03:17, 6 Feb 2004 (UTC) :: That's a European style notation, and is really rather ancient, and not many use it any more. Should we really include it here? (I'll find the name, in any case). There aren't really nonstandard ''chess'' pieces, but in chess ''variants'' you can have these. [[User:Dysprosia|Dysprosia]] 11:46, 6 Feb 2004 (UTC) ::Non-standard chess pieces... aka [[en:Fairy chess piece]]s. -- [[User:Emperorbma|Emperorbma]] 07:40, 8 Feb 2004 (UTC) The alternate notation is called 'Descriptive Notation' and although it is not used much anymore it is worth knowing because there are a few books written in it which are worth reading (e.g. Irving Chernev's "The Most Instructive Games of Chess Ever Played"). == Organizing the book == Hi, the chess book has been growing for a while, and it covers enough content to think about splitting it into several sub-pages. There are various ways of doing this, as discussed in [[Wikibooks:Hierarchy naming scheme]]. I would recommend having only a short introduction on the main page of chess, and a table of contents like [[Chess]] [[Chess/Conventions]] [[Chess/Basics]] [[Chess/Playing The Game]] [[Chess/Notating The Game]] and so on. Avoid having red links or very short pages. A couple of chapters should be enough. Using subpages, each page gets an automatic link back to the main chess page. Have a look at [[Hamster Care]] or [[How To Build A Computer]] how it is done there, or look at the recent conversions [[User talk:Ojmorales0002#Organization of the Golden Bough]] or [[Talk:How To Build A Computer#Organizing the book]]. Let me know if you need help or if there are questions. --[[User:Andreas Ipp|Andreas]] 11:53, 20 Mar 2005 (UTC) There is a section called 'Notating The Game'. Could it be renamed to 'Annotating The Game' because notating is not a real word, and the correct word is annotating -- CRF - Chessplayer :No, we can't. "Notating" is in fact a real word. However, you're right in that "Notating" is not the correct term, but "annotating" refers to making comments about the moves played in the game, giving variations, evaluating positions, etc. The correct term is "scoring". --[[User:Anonymouse|Anonymouse--nerd and proud of it]] ([[User talk:Anonymouse|talk]]) 11:52, 23 June 2008 (UTC) :I was just going to suggest that but I see you were faster. :) I would break it using the existing top level headings: [[Chess]] [[Chess/Basics]] [[Chess/Playing The Game]] [[Chess/Notating The Game]] [[Chess/Tactics]] [[Chess/Strategy]] [[Chess/Basic Openings]] [[Chess/The Endgame]] :--[[User:ZeroOne|ZeroOne]] 20:30, 25 Mar 2005 (UTC) :I have split the book into the heading listed above. This should allow for quicker load times and easier editing. [[User:Darvian|Darvian]] 20 Apr 2005 ::The current one is: [[Chess/Playing The Game|Playing The Game]] [[Chess/Notating The Game|Notating The Game]] [[Chess/Tactics|Tactics]] [[Chess/Tactics Exercises|Tactics Exercises]] [[Chess/Strategy|Strategy]] [[Chess/Basic Openings|Basic Openings]] [[Chess/Sample chess game|Sample chess game]] [[Chess/The Endgame|The Endgame]] [[Chess/Variants|Variants]] [[Chess/Tournaments|Tournaments]] [[Chess/Puzzles|Puzzles]] [[Chess/Optional homework|Optional homework]] ::[[Chess/Basics]], and [[Chess/Conventions]] got deleted. ::[[Chess]] got removed because it is the title of the page. == Maybe use template? == What do you think of using the template for chess boards (borrowed from the English Wikipedia), instead of the long table? Here is an example of its use, along with the old style: {| class="collapsible" style="text-align:left;" !Old |- |<pre> <!-- ########## CHESS TABLE BELOW ############ --> {| rows="9" cols="9" width="315" height="315" border="0" cellspacing="0" cellpadding="0" |- height ="35" align="center" | width="35" | '''8''' <!-- A8 Below--> | width="35" bgcolor="#C8C8DE" | '''R''' <!-- B8 Below--> | width="35" bgcolor="#8888AA" | '''N''' <!-- C8 Below--> | width="35" bgcolor="#C8C8DE" | '''B''' <!-- D8 Below--> | width="35" bgcolor="#8888AA" | '''Q''' <!-- E8 Below--> | width="35" bgcolor="#C8C8DE" | '''K''' <!-- F8 Below--> | width="35" bgcolor="#8888AA" | '''B''' <!-- G8 Below--> | width="35" bgcolor="#C8C8DE" | '''N''' <!-- H8 Below--> | width="35" bgcolor="#8888AA" | '''R''' |- height="35" align="center" | width="35" | '''7''' <!-- A7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- B7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- C7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- D7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- E7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- F7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- G7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- H7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' |- height="35" align="center" | width="35" | '''6''' <!-- A6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- B6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- C6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- D6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- E6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- F6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- G6 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- H6 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; |- height="35" align="center" | width="35" | '''5''' <!-- A5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- B5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- C5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- D5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- E5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- F5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- G5 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- H5 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; |- height="35" align="center" | width="35" | '''4''' <!-- A4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- B4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- C4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- D4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- E4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- F4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- G4 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- H4 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; |- height="35" align="center" | width="35" | '''3''' <!-- A3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- B3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- C3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- D3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- E3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- F3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; <!-- G3 Below--> | width="35" bgcolor="#8888AA" | &amp;nbsp; <!-- H3 Below--> | width="35" bgcolor="#C8C8DE" | &amp;nbsp; |- height="35" align="center" | width="35" | '''2''' <!-- A2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- B2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- C2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- D2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- E2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- F2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- G2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- H2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> |- height="35" align="center" | width="35" | '''1''' <!-- A1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''r'''</font> <!-- B1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''n'''</font> <!-- C1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''b'''</font> <!-- D1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''q'''</font> <!-- E1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''k'''</font> <!-- F1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''b'''</font> <!-- G1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''n'''</font> <!-- H1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''r'''</font> |- align="center" | || '''A''' || '''B''' || '''C''' || '''D''' | '''E''' || '''F''' || '''G''' || '''H''' |} <!-- ########## END OF CHESS BOARD ############ --> </pre> |} New: <pre> {{chess position|= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd|pd|pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | | | | | |= 4 | | | | | | | | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl|pl|pl|pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h |40}} </pre> They produce, respectively: {| !Old !New |- | <!-- ########## CHESS TABLE BELOW ############ --> {| rows="9" cols="9" width="315" height="315" border="0" cellspacing="0" cellpadding="0" |- height ="35" align="center" | width="35" | '''8''' <!-- A8 Below--> | width="35" bgcolor="#C8C8DE" | '''R''' <!-- B8 Below--> | width="35" bgcolor="#8888AA" | '''N''' <!-- C8 Below--> | width="35" bgcolor="#C8C8DE" | '''B''' <!-- D8 Below--> | width="35" bgcolor="#8888AA" | '''Q''' <!-- E8 Below--> | width="35" bgcolor="#C8C8DE" | '''K''' <!-- F8 Below--> | width="35" bgcolor="#8888AA" | '''B''' <!-- G8 Below--> | width="35" bgcolor="#C8C8DE" | '''N''' <!-- H8 Below--> | width="35" bgcolor="#8888AA" | '''R''' |- height="35" align="center" | width="35" | '''7''' <!-- A7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- B7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- C7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- D7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- E7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- F7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' <!-- G7 Below--> | width="35" bgcolor="#8888AA" | '''P''' <!-- H7 Below--> | width="35" bgcolor="#C8C8DE" | '''P''' |- height="35" align="center" | width="35" | '''6''' <!-- A6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- B6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- C6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- D6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- E6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- F6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- G6 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- H6 Below--> | width="35" bgcolor="#8888AA" | &nbsp; |- height="35" align="center" | width="35" | '''5''' <!-- A5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- B5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- C5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- D5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- E5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- F5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- G5 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- H5 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; |- height="35" align="center" | width="35" | '''4''' <!-- A4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- B4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- C4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- D4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- E4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- F4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- G4 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- H4 Below--> | width="35" bgcolor="#8888AA" | &nbsp; |- height="35" align="center" | width="35" | '''3''' <!-- A3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- B3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- C3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- D3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- E3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- F3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; <!-- G3 Below--> | width="35" bgcolor="#8888AA" | &nbsp; <!-- H3 Below--> | width="35" bgcolor="#C8C8DE" | &nbsp; |- height="35" align="center" | width="35" | '''2''' <!-- A2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- B2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- C2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- D2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- E2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- F2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> <!-- G2 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''p'''</font> <!-- H2 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''p'''</font> |- height="35" align="center" | width="35" | '''1''' <!-- A1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''r'''</font> <!-- B1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''n'''</font> <!-- C1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''b'''</font> <!-- D1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''q'''</font> <!-- E1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''k'''</font> <!-- F1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''b'''</font> <!-- G1 Below--> | width="35" bgcolor="#8888AA" | <font color="white">'''n'''</font> <!-- H1 Below--> | width="35" bgcolor="#C8C8DE" | <font color="white">'''r'''</font> |- align="center" | || '''A''' || '''B''' || '''C''' || '''D''' | '''E''' || '''F''' || '''G''' || '''H''' |} <!-- ########## END OF CHESS BOARD ############ --> | {{chess position|= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd|pd|pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | | | | | |= 4 | | | | | | | | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl|pl|pl|pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h |40}} |} :&ndash; [[User:ABCD|AB]][[User talk:ABCD|'''''CD''''']] 17:52, 27 Jun 2005 (UTC) {{Chess diagram|= | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} ::There is a nice project going on for a cross-wiki Chess diagram template. See [[:meta:WikiProject_Chess]] for details. I've copied the new "standard" template from Commons to WikiBooks. The template is called Chess_diagram, and here's what it looks like: ::If there are no objections, I'd like to start using this template to clean up the Chess WikiBook. [[User:Bjimba|Bjimba]] 14:59, 25 August 2005 (UTC) == Chess variants == There is a VfD discussion that has an impact on this Wikibook at the moment. Don't worry, we are not trying to delete this Wikibook, but there is a Wikibook that appears to be a chess variant, and perhaps its content could be modified and adapted to be included in this Wikibook. See [[Wikibooks:Votes for deletion#NeoRandom Chess]] for further details. The point here is that this Wikibook is inappropriate if left alone, but my opinion is that it should be included in this Wikibook. If you (any reader who gets to this point) feel it perhaps should go elsewhere, speak your mind on the VfD page or "forever hold your peace". If there are any active participants on this Wikibook, I would invite you to join in the discussion. --[[User:Robert Horning|Rob Horning]] 10:42, 20 August 2005 (UTC) == Important notice == The Chess wikibook had separate chapters called Basic Openings and Opening Theory. The Opening Theory module covered the same broad subject as Basic Openings but using a significantly different approach. While Basic Openings was a linear chapter, Opening Theory aimed to be an opening explorer along the lines of this web site [http://www.eudesign.com/chessops]. In addition, Basic Openings was... basic, while Opening Theory had a theoretically unlimited depth. '''I have made the former Opening Theory chapter of the Chess wikibook into a separate wikibook, called 'Opening theory in chess'.''' My reasons for doing this centre on the fact that the Chess wikibook is meant to a) reach 100% completion eventually and b) be something that a reader can get through from cover to cover and which will provide a working knowledge of the basics of chess. The Opening Theory chapter was inconsistent with this because: *Opening theory ''dwarfs'' the rest of chess literature. One needs only to look at the typical bookstall at a chess tournament to see this. It would take a long time and a lot of effort to create the definitive guide to chess openings, which would retard the completion of the Chess wikibook as a whole. Indeed, Chess is nearing completion, while Opening theory in chess is close to 0%. *The Opening Theory chapter was intended to be open-ended and constantly evolving in breadth and depth, like the Cookbook, with the result that Chess could ''never'' be 100% complete. Better, to my mind, to have one complete and readable book with a link to another constantly evolving one 'for further information'. *The concepts behind opening theory get complicated and potentially off-putting to someone who simply wants to know a bit about chess. I believe this complies with Wikibooks' no-forking policy because: *The approaches used by the two books are completely different *The content itself differs in scope and depth *The minimal actual duplication of material is for the greater good of Wikibooks as I have explained above. [[User:Chi Sigma|Chi Sigma]] 10:18, 8 October 2005 (UTC) == Transwiki == If any one is till paying attenetoin, [[Transwiki:Sample chess game]] [[User:141.156.219.89|141.156.219.89]] 21:03, 22 March 2007 (UTC) :I took care of it in July. [[User:ZeroOne|ZeroOne]] 22:55, 15 October 2007 (UTC) == Chess puzzles for one and all == I am preparing a set of chess puzzles from actual games and published problems for my students in a real-life chess class. I have decided to use the Wiki software to make the chess diagrams. The puzzles, with solutions given on a separate page, are available on my userpage. At some later time, I intend to copy them into the chess book. If anyone wishes to do it immediately, I have no objection, as long as I can keep the original copy in my userspace. I hope everyone who wants to try the puzzles will enjoy them. [[User:Shalom|Shalom]] ([[User talk:Shalom|talk]]) 02:59, 7 December 2007 (UTC) ::Checking them out [[User:ChessCreator|ChessCreator]] ([[User talk:ChessCreator|talk]]) 16:22, 10 December 2007 (UTC) :::I am copying them into the chess book page. If anyone wishes to remove them, I won't object. [[User:Shalom Yechiel|Shalom Yechiel]] ([[User talk:Shalom Yechiel|talk]]) 15:09, 18 July 2008 (UTC) ==See also== #[[Chess/Computer Chess]] #[[Chess/Optional homework]] == New Wikibook == The endgame section isn't really finished yet, but I still think that endgames are complex enough that they deserve to be a seperate wikibook, like Chess Opening Theory. [[User:AltoStev|AltoStev]] ([[User talk:AltoStev|discuss]] • [[Special:Contributions/AltoStev|contribs]]) 13:44, 4 December 2020 (UTC) == Intro == # This introduction is about history. ## Wikipedia has a much better (or more detailed) introduction right now. Maybe some details could be added. ## https://en.wikipedia.org/wiki/Talk:Chess#Chess_origin quote "My purpose was indeed to say that the origin of chess is a very controversial issue, that several places have serious claims, India, Persia, China, Central Asia, explaining why. The story is much more complex than saying chess is born in India or in China or anywhere full stop" ### So the sentence saying that it comes from India (full stop) should be changed or expanded somehow ## "Chess Update Log" by Ilyx (on youtube) also has a nice history-ish introduction [[User:AltoStev|AltoStev]] ([[User talk:AltoStev|discuss]] • [[Special:Contributions/AltoStev|contribs]]) 16:15, 9 April 2021 (UTC) == New variant wikibook? == I feel like the current pages on chess variants here on Wikibooks are somewhat lacking in nature, so I would like to start work on a separate "Chess Variants" wikibook if that's cool. –&nbsp;[[User:Itswikisam|Itswikisam]]&nbsp;<sup><span style="font-variant:small-caps">([[User talk:Itswikisam|t]]&nbsp;•&nbsp;[[Special:Contributions/Itswikisam|c]])</span></sup> 02:37, 6 June 2022 (UTC) :Since no-one has responded, I will assume everyone is okay with it. – [[User:Itswikisam|Itswikisam]] <sup>([[User talk:Itswikisam|t]] • [[Special:Contributions/Itswikisam|c]])</sup> 01:57, 14 June 2022 (UTC) 0ygo9s84wjj103zmo13tlew33ycg4zm The Linux Kernel 0 17309 4444326 4441027 2024-11-10T20:16:30Z Conan 3188 processes to memory 4444326 wikitext text/x-wiki {|style="width:100%; text-align:center;border-spacing: 0; color:black;border: 0" cellpadding=5pc |+<big>API and internals visual reference</big> |- |<small>[[/About|<div style="color:black"><div style='text-align:left'>about</div><div style='text-align:right;color:black'>functionalities→</div><div style='text-align:left;color:black'>layers↓</div></div>]]</small> |bgcolor=#fee|'''[[/Human interfaces/|<small>human<br>interfaces</small>]]''' |||bgcolor=#edf| '''[[/System|system]]''' |||bgcolor=#ffd|'''[[/Multitasking/|multitasking]]''' |||bgcolor=#bfd|'''[[/Memory|memory]]''' |||bgcolor=#cef|'''[[/Storage|storage]]''' |||bgcolor=#dff|'''[[/Networking|networking]]''' | |-style="" |bgcolor=#cff|'''User space<br>interfaces''' |bgcolor=#edd| [[/Human_interfaces#Text interfaces|text interfaces]] |bgcolor=#cff| ||bgcolor=#cdf|[[/System#User_space_communication|interfaces core]]<p>[[/Syscalls/]]</p> |bgcolor=#cff| ||bgcolor=#eed colspan=3| {|style="width:100%" |bgcolor=#dec|[[/Memory#Processes|processes]] |} |bgcolor=#cff| ||bgcolor=#aef|[[The_Linux_Kernel/Storage#Files_and_directories|files & directories<br>access]] |bgcolor=#cff| ||bgcolor=#bff|[[/Networking#Sockets|sockets access]] |bgcolor=#cff| |-style="" |bgcolor=#adf|'''virtual''' |bgcolor=#dcd| [[/Human_interfaces#Security|security]] |bgcolor=#adf| |bgcolor=#abe| [[The Linux Kernel/System#Containerization|containerization]] |bgcolor=#adf| ||bgcolor=#bbc|[[/Multitasking#Threads_or_tasks|threads]] |bgcolor=#adf| ||bgcolor=#9ed|[[/Memory#Virtual_memory|virtual memory]] |bgcolor=#adf| ||bgcolor=#8cf|[[/Storage#Virtual File System|Virtual<br>File System]] |bgcolor=#adf| ||bgcolor=#9df|[[/Networking#Address_families|address families:<br>inet, unix]] |bgcolor=#adf| |-style="" |bgcolor=#99c|'''[[w:Bridge pattern|<span style="color:black">bridges</span>]]''' |bgcolor=#cbb| [[/Debugging|debugging]] |bgcolor=#99c| |bgcolor=#aad| [[The Linux Kernel/System#Driver Model|Driver Model]] |bgcolor=#99c| ||bgcolor=#cbc|[[/Multitasking#Synchronization|synchronization]] |bgcolor=#99c| ||bgcolor=#acc colspan=5| {|style="width:100%" |bgcolor=#aca|[[/Memory#Memory_mapping|memory<br>mapping]] |bgcolor=#acb|[[/Storage#Page_cache|page cache]]<br>[[/Memory#Swap|swap]] |bgcolor=#acd colspan=2 |[[/Networking#Network_storage|network storage]] <!--|style="width:25%"|       |style="width:25%"|       --> |- |bgcolor=#abc colspan=4|[[/Storage#Zero-copy|zero-copy splice]] <!-- |bgcolor=#acc| --> |} |bgcolor=#99c| |-style="" |bgcolor=#79a|'''logical''' |bgcolor=#baa|[[/Human_interfaces#Multimedia subsystems|multimedia<br>subsystems]] |bgcolor=#79a| ||bgcolor=#99c|[[/Modules/|modules]] |bgcolor=#79a| ||bgcolor=#aaa|[[/Multitasking#Scheduler|Scheduler]] |bgcolor=#79a| ||bgcolor=#8b9|[[/Memory#Logical_memory|logical memory]] |bgcolor=#79a| ||bgcolor=#7ac|[[/Storage#Logical file systems|logical<br>file systems]] |bgcolor=#79a| ||bgcolor=#8bb|[[/Networking#Protocols|protocols]] |bgcolor=#79a| |-style="" |bgcolor=#788|'''devices<br>control''' |bgcolor=#a99|[[/Human_interfaces#HID|{{abbr|HID|human interface devices}}]]<p>[[/Human_interfaces#Input_devices|input]]</p> |bgcolor=#788| ||bgcolor=#88a|[[/System#Peripheral_buses|buses]], [[The_Linux_Kernel/PCI|PCI]] |bgcolor=#788| ||bgcolor=#999|[[/Multitasking#Interrupts|interrupts core]] |bgcolor=#788| ||bgcolor=#7a7|[[The Linux Kernel/Memory#Page Allocator|Page Allocator]] |bgcolor=#788| ||bgcolor=#69a|[[/Storage#Block_device_layer|block devices]] |bgcolor=#788| ||bgcolor=#7a9|[[/Networking#Network_device_interfaces|network interfaces]] |bgcolor=#788| |-style="" |bgcolor=#676|'''hardware<br>interfaces''' |bgcolor=#877|[[/Human_interfaces#HI_device_drivers|HI drivers]] |bgcolor=#676| ||bgcolor=#889|[[/System#Hardware_interfaces|hardware<br>interfaces]]<p>[[/System#Booting_and_halting|[re]booting]]</p> |bgcolor=#676| ||bgcolor=#887|[[/Multitasking#CPU_specific|CPU specific]] |bgcolor=#676| ||bgcolor=#686|[[/Memory#Pages|pages]] |bgcolor=#676| ||bgcolor=#689|[[/Storage#Storage_drivers|storage<br>drivers]] |bgcolor=#676| ||bgcolor=#798|[[/Networking#Network_drivers|network<br>drivers]] |bgcolor=#676| |- bgcolor=#575 style="color:#ddd" | {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |<span style="color:#ddd">'''electronics'''</span> |} || {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |[[w:peripherals|<span style="color:#ddd">user<br>peripherals</span>]] |} |bgcolor=#575| || {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |&nbsp;&nbsp;[[w:I/O|<span style="color:#ddd">I/O</span>]]&nbsp;&nbsp;<br>[[w:Advanced_Configuration_and_Power_Interface|<span style="color:#ddd">ACPI</span>]] |} |bgcolor=#575| || {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |[[w:CPU|<span style="color:#ddd">CPU</span>]]<br><small><small><span style="color:#ddd">regs</span> [[w:Advanced_Programmable_Interrupt_Controller|<span style="color:#ddd">APIC</span>]]</small></small> |} |bgcolor=#575| || {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |<span style="color:#ddd">memory</span><br><small><small>[[w:RAM|<span style="color:#ddd">RAM</span>]] <span style="color:#ddd">DMA MMU</span></small></small> |} |bgcolor=#575| || {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |<span style="color:#ddd">storage</span><br><small><small>[[w:Serial ATA|<span style="color:#ddd">SATA</span>]] [[w:NVM Express|<span style="color:#ddd">NVMe</span>]]</small></small> |} |bgcolor=#575| || {|bgcolor=#666 style="text-align:center;border-spacing: 0; margin:auto;" cellpadding=5pc |[[w:Network interface controller|<span style="color:#ddd">NICs</span>]]<br><small><small>[[w:Ethernet|<span style="color:#ddd">Ethernet</span>]] [[w:Wi-Fi|<span style="color:#ddd">Wi-Fi</span>]]</small></small> |} |bgcolor=#575| |} == Contents == {{reading level|advanced}} {{prerequisite|Linux Basics|C Programming}} * [[/About/|About the book]] * '''[[/Human interfaces/]]''' ** about HID, media, v4l, UVC, ALSA, console, input, cdev, security * '''[[/System/]]''' ** about booting, [[/System#Devices|devices]], [[/System#Buses:_Input,_PCI_and_USB|buses]], [[The_Linux_Kernel/PCI|PCI]], interfaces, '''[[/Syscalls/]]''', /sys, /proc, [[/System#Modules|modules]], [[/Updating|updating]] and [[/Human_interfaces#Debugging|debugging]] * '''[[/Multitasking/]]''' ** about processes, threads, scheduling, [[/Multitasking#Synchronization|synchronization]], [[/Multitasking#Interrupts|interrupts]] * '''[[/Memory/]]''' ** about address spaces, memory allocation, memory mapping, VM, pages, data types, swap * '''[[/Storage/]]''' ** about block devices, filesystems, VFS, ext3, disk cache, SATA, SCSI, * '''[[/Networking/]]''' ** about network drivers, Ethernet, sockets, TCP/IP, NFS *[[/External links/]] __NOTOC__ __NOEDITSECTION__ {{Alphabetical|L}} {{Shelves|Linux}} {{status|50%}} 7ne4c4e5x3psqgvtmqjyk1icuqvd1v3 Cookbook:Herring 102 26504 4444367 4339583 2024-11-11T04:16:20Z Kittycataclysm 3371989 flesh out 4444367 wikitext text/x-wiki __NOTOC__ {{Ingredient summary | Image = [[File:Herring-01.jpg|300px]] | Category = Seafood }} {{ingredient}} | [[Cookbook:Seafood|Seafood]] '''Herring''' is a group of small oily fish found in temperate waters.<ref name=":0">{{Cite book |last=Kipfer |first=Barbara Ann |url=https://books.google.com/books?id=7xUafQwz2tkC&newbks=0&hl=en&source=newbks_fb |title=The Culinarian: A Kitchen Desk Reference |date=2012-04-11 |publisher=Houghton Mifflin Harcourt |isbn=978-0-544-18603-3 |language=en}}</ref><ref name=":7">{{Cite web |title=Herring {{!}} Good Food |url=https://www.bbcgoodfood.com/glossary/herring-glossary |access-date=2024-11-10 |website=www.bbcgoodfood.com |language=en}}</ref><ref name=":1">{{Cite book |last=The Culinary Institute of America (CIA) |first= |url=https://books.google.com/books?id=JQUJzgEACAAJ&newbks=0&hl=en |title=Kitchen Pro Series: Guide to Fish and Seafood Identification, Fabrication and Utilization |last2=Ainsworth |first2=Mark |date=2009-02-04 |publisher=Cengage Learning |isbn=978-1-4354-0036-8 |language=en}}</ref> == Characteristics == Herring are small, elongated, silvery fish with fatty flesh (up to 20% fat) and a strong flavor.<ref name=":3" /><ref name=":2">{{Cite book |last=Labensky |first=Sarah R. |url=https://books.google.com/books?id=E3t-swEACAAJ&newbks=0&hl=en |title=On Cooking: A Textbook of Culinary Fundamentals |last2=Hause |first2=Alan M. |last3=Martel |first3=Priscilla |date=2018-01-18 |publisher=Pearson |isbn=978-0-13-444190-0 |language=en}}</ref><ref name=":4">{{Cite book |last=Davidson |first=Alan |url=http://www.oxfordreference.com/view/10.1093/acref/9780199677337.001.0001/acref-9780199677337 |title=The Oxford Companion to Food |date=2014-01-01 |publisher=Oxford University Press |isbn=978-0-19-967733-7 |editor-last=Jaine |editor-first=Tom |doi=10.1093/acref/9780199677337.001.0001}}</ref><ref name=":5">{{Cite book |last=McGee |first=Harold |url=https://www.google.com/books/edition/On_Food_and_Cooking/bKVCtH4AjwgC?hl=en&gbpv=0 |title=On Food and Cooking: The Science and Lore of the Kitchen |date=2007-03-20 |publisher=Simon and Schuster |isbn=978-1-4165-5637-4 |language=en}}</ref> They typically reach up to 8 ounces (225 g).<ref name=":3" /><ref name=":2" /> The pin bones are very small, which allows them to break down and become edible during cooking.<ref name=":1" /> While they can be cooked from fresh, there is a very long history of salt-curing and smoking or pickling herring, and this is the more common form. {| class="wikitable" |+Varieties of Salted Herring !Variety !Cuisine of origin !Pickled? !Smoked? !Description |- |Bismarck herring | |Yes | |Single fillets, sometimes cut shorter; pickled in vinegar with onion<ref name=":4" /><ref name=":8">{{Cite web |last=Rigby |first=Graeme |date=2019-05-20 |title=ROLLMOPS & BISMARCKS |url=https://www.herripedia.com/rollmops-bismarck-herrings/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |- |Buckling |German | |Yes (hot) |Hot-smoked; may be beheaded and gutted<ref name=":0" /><ref name=":4" /> |- |Bloaters | | |Yes (cold) |Whole fish; lightly salted, dried, and lightly cold-smoked; plump-looking; eaten raw or cooked<ref name=":4" /><ref name=":9">{{Cite web |last=Rigby |first=Graeme |date=2019-02-08 |title=KIPPER |url=https://www.herripedia.com/kippers/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |- |Red, golden, and silver herring | | |Yes (cold) |Whole herring; very heavily salted before cold smoking; red is smoked the longest (on the order of weeks), followed by golden, then silver.<ref name=":4" /><ref>{{Cite web |last=Rigby |first=Graeme |date=2019-02-11 |title=RED HERRING |url=https://www.herripedia.com/red-and-black-herring/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref><ref>{{Cite web |last=Rigby |first=Graeme |date=2019-02-11 |title=GOLDEN HERRING |url=https://www.herripedia.com/golden-and-silver-herring/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref><ref>{{Cite web |last=Rigby |first=Graeme |date=2019-02-12 |title=SILVER HERRING |url=https://www.herripedia.com/silver-herring/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |- |Hareng saur | | |Yes |Similar to red herring, being salted and smoked, but usually with a milder cure than red herring; typically saltier than kippers and bloaters<ref>{{Cite web |last=Rigby |first=Graeme |date=2019-02-12 |title=HARENG SAUR |url=https://www.herripedia.com/hareng-saur-le/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |- |Kipper | | |Yes (cold) |Gutted and split; relatively lightly salted and cold-smoked<ref name=":3" /><ref name=":4" /><ref name=":9" /> |- |Maatjes (''Hollandse Nieuwe''/New Catch Herring) |Dutch | | |Young, fatty herring; gibbed (beheaded and cleaned, leaving the pancreas); lightly salted and ripened for hours to days; usually frozen to kill parasites; eaten eaw<ref name=":6">{{Cite web |title=Rejoice! New Catch Holland Herring Season Is Upon Us |url=https://www.seriouseats.com/rejoice-new-catch-holland-herring-season-is-upon-us |access-date=2024-11-10 |website=Serious Eats |language=en}}</ref><ref name=":5" /> |- |Rollmops | |Yes | |Small herring; cleaned, butterflied, and wrapped around a pickled cucumber; salted overnight and pickled with vinegar and onion.<ref name=":1" /><ref name=":4" /><ref name=":8" /> |- |Schmaltz herring |Jewish | |Sometimes |Variety of salted herring preparations; may be smoked or not; often sold in oil<ref>{{Cite web |last=Rigby |first=Graeme |date=2019-02-12 |title=SCHMALTZ HERRING |url=https://www.herripedia.com/schmaltz-herring/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |- |Soused herring | |Yes | |Brined and marinated in a vinegar-based pickling liquid |- |Surstomming |Swedish |No | |Salted and allowed to ferment; strong odor<ref name=":7" /><ref name=":4" /><ref>{{Cite web |last=Rigby |first=Graeme |date=2019-01-21 |title=SURSTRÖMMING |url=https://www.herripedia.com/surstromming/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |- |White/salt herring | |Yes | |Pickled in brine<ref>{{Cite web |last=Rigby |first=Graeme |date=2019-02-11 |title=WHITE HERRING |url=https://www.herripedia.com/white-herring/ |access-date=2024-11-11 |website=Rigby’s Encyclopaedia of the Herring |language=en-GB}}</ref> |} == Selection and storage == Due in part to its high fat content,<ref name=":3">{{Cite book |last=Gisslen |first=Wayne |url=https://books.google.com/books?id=q7dnmwEACAAJ&newbks=0&hl=en |title=Professional Cooking |date=2014-04-15 |publisher=Wiley |isbn=978-1-118-63672-5 |language=en}}</ref> fresh herring is even more perishable than other fish, so it is not always commonly available.<ref name=":2" /> It should have the same markers of quality as other fresh fish, with a fresh smell.<ref name=":7" /><ref name=":1" /> Cook as soon as possible.<ref name=":7" /> == Use == As described above, the most common use for herring is to be salted and smoked or pickled.<ref name=":0" /><ref name=":1" /> Fresh herring is often prepared using dry heat methods, such as grilling, frying, or baking.<ref name=":7" /><ref name=":3" /><ref name=":2" /><ref name=":4" /> Herring roe are called ''kazunoko'' and eaten in Japan.<ref name=":1" /> == Substitution == == Recipes == <categorytree mode="all">Herring recipes</categorytree> == References == [[Category:Saltwater fish]] hw76kllnrce3dg3ftw88dikh1of3l7q Spanish/Reflexive Verbs 0 32892 4444353 4441493 2024-11-11T00:04:15Z MuffinHunter0 3483602 Undid revision 4441493 by [[Special:Contributions/38.146.204.114|38.146.204.114]] ([[User talk:38.146.204.114|discuss]]) Unconstructive. 4444353 wikitext text/x-wiki Reflexive verbs indicate that the action of the verb reflects back on the subject. In their infinitive forms, reflexive verbs end in -se. Examples: *'''lavarse'''- to wash oneself *'''vestirse'''- to dress oneself Conjugation requires removing the -se ending and conjugating normally. The reflexive pronouns are then placed before the conjugated form of the verb. '''Lavarse''' :yo - '''me''' lavo - I wash myself :tú - '''te''' lavas - you wash yourself :él/ella/Ud. - '''se''' lava - he/she/it washes himself/herself/itself :nosotros - '''nos''' lavamos - we wash ourselves :vosotros - '''os''' laváis - you (plural) wash yourselves :ellos/ellas/Uds. - '''se''' lavan - they wash themselves '''Vestirse''' :yo - '''me''' visto - I dress myself :tú - '''te''' vistes - you dress yourself :él/ella/Ud. - '''se''' viste - he/she/it dresses himself/herself/itself :nosotros - '''nos''' vestimos - we dress ourselves :vosotros - '''os''' vestís - you (plural) dress yourselves :ellos/ellas/Uds. - '''se''' visten - they dress themselves Reflexive verbs often have to do with personal hygiene, grooming, and dressing: *'''peinarse'''- to brush one's hair *'''maquillarse'''- to make-up oneself *'''cepillarse (los dientes)'''- to brush one's teeth *'''bañarse'''- to bathe oneself Remember that the reflexive pronoun (me, te, se, etc.) ''must'' be included with the verb, even if the subject pronoun (yo, tú, él, etc.) is not. List of reflexive verbs: * aburrirse - to get bored *acercarse - to get close to *acordarse de - to remember *acostarse - to go to bed *acostumbrarse a - to get accustomed to (to get use to) * afeitarse - to shave *aficionarse a - to become interested in * alegrarse - to become (be) happy *alejarse de - to get/move away from (a person, place or thing) *animarse - to cheer up, to decide to/game to/become interested in doing *arreglarse - to get ready, to come to agreement with s.o, to dress(not get dressed) - Ella se arregla bien.; to improve or work out right; to make due *apartarse de - to move away from (irse), to stray, to move aside, to withdraw or cut oneself off from *apoderarse de - to seize, to take possession of *apoyarse en - to support *apresurarse a - to hurry *aprovecharse de - to profit from, to take advantage of *asustarse - to get or become afraid *atreverse a - to dare to *bañarse - to take a bath *burlarse de - to make fun of *caerse - to fall (down) *calmarse - to calm down *cansarse de - to get tired of *casarse con - to marry *cepillarse - to brush (hair, teeth..) *colocarse de - to get/take a job *colocarse - to find a job, to place oneself (in a certain spot) *comerse - to eat something all up *compadecerse de - to sympathize with or take pity on *complacerse en - to take pleasure in *comunicarse - to communicate *conformarse con - to be conform to or comply with, to agree with, to get used to the idea or resign oneself to *contentarse con - to cheer up, to make do *convertirse en - to become, to convert, to turn into *cuidarse - to take care *darse cuenta de - to realize *decidirse a - to make up one's mind, to decide to *dedicarse a - to dedicate oneself to (profession, activity, etc.) *despedirse de - to say goodbye *desayunarse - to eat breakfast *despertarse - to wake up *despojarse de - to give up or forsake *desvestirse - to undress *dirigirse a - to go/make one's way toward; to address someone (in speech or writing) *disponerse a - to prepare or get ready *divertirse de - to have fun *dormirse - to go to sleep *ducharse - to shower *echarse a - to begin to (many other definitions) *emocionarse - to get excited *empeñarse en - to persist or insist on; to commit or bind oneself to *enamorarse de - to fall in love with *encargarse de - to take charge of or be responsible for; to look after or attend to; to take care of or see to *encogerse de hombros - to shrug (shoulders) *encontrarse con - to meet with *enfermarse - to get sick *enojarse - to get or become angry *enterarse de - to find out, to realize *entenderse con - to get along with; to agree or come to an agreement *exponerse a - to expose oneself to or run the risk of *exponerse de - to run the risk of *fijarse en - to pay attention to *fiarse de - to trust something or someone *fiarse en - to trust in something or someone *irse - to go (away) or to leave *jugarse - to play *lavarse - to wash (any body part) *levantarse - to get up *marearse - to get sick, to get dizzy *maquillarse - to put makeup on *meterse con - to pick on, to pick a fight with *meterse en - to get into *motivarse a- to become or get motivated to *moverse - to move oneself, to do or be in charge of *mudarse - to "move" (change residence) *negarse a - to refuse to *obsesionarse con - to be/get obsessed with *ocuparse de - to look after *olvidarse de - to forget *parecerse a - to look like *peinarse - to brush or comb hair *ponerse - to put on (clothing), to get dressed *ponerse de acuerdo - to come to an agreement with someone *ponerse en camino - to get on (your)way *portarse - to behave *preocuparse de - to worry about *prepararse a - to prepare to *probarse - to try on *quebrarse - to break (an arm, leg...) *quejarse de - to complain about *quedarse - to remain/ to stay *quemarse - to burn (oneself, one's body) *quitarse - to take off (clothing) *reirse de - to laugh about *resignarse a - to resign oneself to *resolverse a - to resolve oneself to *reunirse - to meet up or reunite *romperse - to break (an arm, leg...) *secarse - to dry (a body part) *sentarse - to sit down *sentirse - to feel *servirse - to help oneself to *suicidarse - to commit suicide, to kill oneself. *tratarse de - to have dealings with or associate oneself with someone *vestirse - to get dressed {{BookCat}} nexf5j50ukm6j60gugrbu8ua0bh7r68 Muggles' Guide to Harry Potter/Books/Philosopher's Stone/Chapter 17 0 35839 4444358 4331012 2024-11-11T01:27:47Z Smartyllama 115251 /* Greater Picture */ rephrase 4444358 wikitext text/x-wiki {{Muggles' Guide to Harry Potter/Book/Page|prev=Chapter 16|tab=17|title=The Man with Two Faces}} == Synopsis == Note: This chapter ties up many plot threads in a rather short space. In order to explain the necessary high points, the synopsis (and the following analysis) must be relatively long. {{spoiler}} The man in the final chamber is [[Muggles' Guide to Harry Potter/Characters/Professor Quirrell|Quirrell]]. But a changed Quirrell, no longer twitching, stuttering or timid. He tells [[Muggles' Guide to Harry Potter/Characters/Harry Potter|Harry]] how [[Muggles' Guide to Harry Potter/Characters/Lord Voldemort|Lord Voldemort]] possessed him while he was traveling abroad. Quirrell claims he was a foolish man, full of ridiculous ideas about good and evil, until meeting Voldemort, who showed him that there is no good or evil, only power, and those too weak to seek it. Quirrell is quick to point out that being seen as poorly skilled, particularly alongside [[Muggles' Guide to Harry Potter/Characters/Severus Snape|Snape]], is a very effective disguise. Snape was suspected of creating all the mischief that Quirrell was responsible for, such as enchanting Harry's [[Muggles' Guide to Harry Potter/Magic/Brooms|broom]] in [[Muggles' Guide to Harry Potter/Books/Philosopher's Stone/Chapter 11|the Quidditch match against Slytherin]] – apparently Snape was working a counter-charm, and it was [[Muggles' Guide to Harry Potter/Characters/Hermione Granger|Hermione]] knocking Quirrell off his feet that interrupted the jinx. Quirrell also admits to having a particular talent with [[Muggles' Guide to Harry Potter/Magic/Troll|trolls]], having set one loose into the dungeons [[Muggles' Guide to Harry Potter/Books/Philosopher's Stone/Chapter 10|at Hallowe'en]] as a diversion, so he could see what was guarding the [[Muggles' Guide to Harry Potter/Magic/Philosopher's Stone|Stone]]; he was thwarted by Snape, however. Now, all that stands before him is the final obstacle guarding the Stone, which Harry recognizes as the [[Muggles' Guide to Harry Potter/Magic/Mirror of Erised|Mirror of Erised]]. While examining the Mirror, Quirrell mentions that Snape was at school with [[Muggles' Guide to Harry Potter/Characters/James Potter|Harry's father]], and that they loathed each other, which is why he hates Harry, though Snape never wanted him dead. He also says that "his Master", which apparently means Lord Voldemort, is with him wherever he goes. When Quirrell is unable to decode the Mirror's secret, a voice tells him to "use the boy". Quirrell stands Harry in front of the mirror, and Harry sees himself removing the Stone from his pants pocket, then discovers that it is actually in his pocket. He tells Quirrell that he only sees himself shaking hands with Dumbledore and winning the [[Muggles' Guide to Harry Potter/Major Events/House Cup|House Cup]] but the mysterious voice says he is lying and demands to speak to Harry face-to-face. Quirrell demurs, but eventually removes his turban to reveal Lord Voldemort's face on the back of his head. Voldemort orders Quirrell to seize Harry, but Quirrell's skin burns and blisters when he touches Harry. As Quirrell is about to perform a deadly curse, Harry grabs his opponent's face, leaving Quirrell in too much pain to utter the incantation. By now, the pain in Harry's scar is so intense that it renders him unconscious. Harry awakens in the hospital wing; [[Muggles' Guide to Harry Potter/Characters/Albus Dumbledore|Professor Dumbledore]], who arrived at the Chamber just in time to save Harry from Quirrell, is standing nearby. He tells Harry that the Stone has been destroyed, and Nicolas Flamel and his wife, Perenelle, will die, but they have enough time left to get their affairs in order. "After all," he says, "to the well-organized mind, death is but the next great adventure." Dumbledore agrees with Harry that Voldemort is still out there, possibly searching for another body to inhabit, or looking for some other means to return. Dumbledore refuses, for now, to answer Harry's question about why Voldemort wanted to kill him. He does tell him that Quirrell was unable to touch Harry because [[Muggles' Guide to Harry Potter/Characters/Lily Potter|Harry's mother]] died to save him, and a love that strong can provide protection against Dark magic. Dumbledore admits it was he who gave Harry the [[Muggles' Guide to Harry Potter/Magic/Invisibility Cloak|Invisibility Cloak]] - saying Harry's father left it in his care. Dumbledore also explains that Snape hates Harry because Harry's father saved Snape's life, leaving Snape in his debt, something Snape deeply resents. Dumbledore explains how Harry was able to retrieve the Stone from the enchanted Mirror: anyone who wanted to use the Stone would only see themselves using it, but would be prevented from taking it, while someone who was only seeking it but did not wish to use it, would find it. After Dumbledore's departure, [[Muggles' Guide to Harry Potter/Characters/Ron Weasley|Ron]] and [[Muggles' Guide to Harry Potter/Characters/Hermione Granger|Hermione]] are allowed to visit. Harry recounts what happened in the last chamber and what Dumbledore told him. They conclude Dumbledore allowed Harry to fight Voldemort, if he chose, rather than trying to protect him from the Dark Lord. The next day, Harry has another visitor: [[Muggles' Guide to Harry Potter/Characters/Rubeus Hagrid|Hagrid]], who is in tears because he gave Quirrell the final piece of information he needed to reach the Stone. After Harry calms him, Hagrid remembers he has a gift for him, a photo album, containing wizarding pictures of Harry's parents. Late in the day, [[Muggles' Guide to Harry Potter/Characters/Poppy Pomfrey|Madam Pomfrey]], the nurse, relents and allows Harry to attend the Leaving Feast. There, <!-- not AFTER much good food --> Professor Dumbledore rises to award the House Cup. Slytherin is in the lead, partly because without Harry playing in the final match, Ravenclaw defeated Gryffindor at Quidditch, and also because Harry lost Gryffindor so many House points in the [[Muggles' Guide to Harry Potter/Books/Philosopher's Stone/Chapter 14|Norbert debacle]]. "However, recent events must be taken into account - I have some last-minute points to dish out." Harry, Ron, Hermione, and – surprisingly – [[Muggles' Guide to Harry Potter/Characters/Neville Longbottom|Neville]] have earned between them enough House points to regain the lead and win the House Cup for [[Muggles' Guide to Harry Potter/Places/Gryffindor House|Gryffindor]]. Exam results are revealed and Hermione, as expected, has the best marks of the year, while both Ron and Harry have managed decent passes; even Neville has scraped through. Finally it is time for the Hogwarts Express to take students home. Ron and Hermione promise to write, and Ron says he will invite them both to visit him. And though everyone has received notices warning them that no magic is permitted outside school, Harry knows the Dursleys have no idea about that. "I'm going to have a lot of fun with [[Muggles' Guide to Harry Potter/Characters/Dudley Dursley|Dudley]] this summer..." == Analysis == The story ends on a high note, and Harry has won the battle, but the reader can see that the war has just begun. Voldemort, though thwarted, has indeed survived, and he will likely attempt other ways to restore his body, biding his time before launching another assault on Harry and the wizarding world. Quirrell's comment that there is no good or evil, only power, and those who are too weak to seek it, reflects Voldemort's belief that achieving his goal will justify whatever means he employs to obtain it. That goal, based on his past history, is conquering the wizard realm, and for Voldemort, good and evil truly are non-existent concepts. Instead, there is only his insatiable lust for power and a self-determined right to satisfy it. This also reflects how Voldemort's [[Muggles' Guide to Harry Potter/Major Events/Death Eaters|Death Eaters]], and Slytherins in general, appear to think and function, seizing whatever they want, whenever they want, and by any means deemed necessary, often taking the easiest and shortest route possible. However, an old axiom states that absolute power corrupts absolutely, and Voldemort, already corrupt, is likely to become even more so, probably to where he retains little rationality or sanity. As contrasted by Dumbledore, with power comes responsibility and morality, along with continual cooperation, oversight, and loyalty in order to operate and maintain a stable and productive society. Without it, a state is destined to decay through internal conflict, strife, and greed until it totally collapses. Even if Voldemort can conquer the wizard realm, retaining his power and maintaining an orderly and productive rule while keeping his followers loyal and placated would be an indomitable, if not impossible, task for him. In this we can see some similarities to Niccolò Machiavelli's 16th century political treatise, ''The Prince'', which advocates that to obtain or maintain power, a prince should adopt a moral public facade while secretly implementing whatever extreme amoral methods are necessary to gain and retain control, without regard to the individual or civil rights. That belief has even been utilized in the modern era by dictators such as Adolph Hitler to fuel his rise to power in mid-20th century Germany. The series' overall theme of good vs. evil, and which path, dark or light, a wizard can and will choose to follow, will seem blurred by Voldemort, who cares about neither. Though his overall plan is yet unclear, he may want to keep his presence concealed and true intentions ambiguous while insidiously plotting to take control. This would make it difficult for Voldemort's opponents to fight him if he has already solidified and entrenched his power structure once he does emerge. While Voldemort apparently cares little for appearances, when he reveals himself, his public persona, rather than a moralistic image, may instead espouse principles and ideals crafted to appeal to those already bent towards his beliefs, or those who have been denied equality under the current wizard rule and can further support the Dark Lord's rise to power. He is unconcerned about what methods he employs to achieve this, and it seems doubtful that Voldemort intends to share power once he obtains it or allow others to reap benefits from his takeover. He will, however, likely have to offer at least simplistic rewards to gain that power, and mete out penalties to retain it. Clearly the big surprise in the story is that it was Quirrell, not Snape, who was behind the ongoing attacks on Harry. We know Snape and Harry deeply dislike one another, but Harry's animosity had biased him into wrongly believing that Snape was responsible. Harry, still too single-minded and immature, fails to consider that there could be other reasons behind Snape's behavior; Snape's hatred apparently stems from his relationship with Harry's father, James Potter, though the full circumstances are still unknown, nor why Snape would transfer this resentment to James' young son. Snape's antagonism toward Harry is widely known, even among the staff, though Dumbledore seems to discount it somewhat; Snape almost certainly was questioned following the attacks and had been cleared, though Harry apparently presumes that an interrogation never occurred, and does not realize that teachers are unlikely to discuss such matters with a first-year student, even one as directly involved as Harry is. Life, death, and resurrection are also ongoing themes in the series, and it is reinforced here, though Quirrell's death and the Flamels' impending demise are indirectly shown, unlike the slain [[Muggles' Guide to Harry Potter/Magic/Unicorn|Unicorn]] seen in the [[Muggles' Guide to Harry Potter/Places/Forbidden Forest|Forbidden Forest]]. As Dumbledore explains it to Harry, death is but a gateway to another realm, likely one that is better and more enjoyable than the living world, and it is a natural progression that should be embraced, not feared, though both Voldemort and Flamel apparently do; this may partially explain why some who die, like [[Muggles' Guide to Harry Potter/Characters/Nearly Headless Nick|Nearly Headless Nick]], become [[Muggles' Guide to Harry Potter/Magic/Ghost|ghosts]] and remain bound to the living world, rather than moving on to the "other side." While Voldemort, whose name can be translated from French as "flight from death", seeks any means to become immortal, Flamel instead chooses to end his life for the betterment and safety of wizard society. Immortality has a high price, and anyone possessing that secret holds the most sought after and valuable prize that many would pay any amount or perform any act, including murder, to obtain. Flamel realizes that the Stone is far too dangerous to exist because innocent people will be killed as others, such as Voldemort, will always seek its power. Flamel opts to destroy the Stone, finally accepting mortality as an inevitable part of living. Even if Voldemort can obtain a new body and immortality, his life will probably always be cursed and incomplete, his shredded soul never fully restored, and unable to attain love and friendship, whose power is incomprehensible to him. Harry also learns more about his tie to the Dark Lord, his family, and that it was his mother's love for him and sacrificing her life for his that created the magical protection against Voldemort's attack when Harry was an infant. It is this same love within Harry that burned Voldemort when Harry touched Quirrell. This protection will likely continue to play an important role in the story's plot. While Harry has a better understanding regarding his relationship with Voldemort, Dumbledore's refusal to explain why Voldemort wants to kill Harry can only add to Harry's confusion and fears. There are a few concerns regarding "one of Dumbledore's 'better ideas'", hiding the Stone in the Mirror of Erised. Dumbledore says that anyone who wanted to use the Stone, would only see themselves using it but would be unable to take it, while someone who was only seeking it but did not wish to use it, would find it. Quirrell reports that he sees himself in the Mirror, giving the Stone to his Master, which seems to fit the requirement of not using it himself. Why did Dumbledore's spell prevent the Stone from being released to Quirrell? This question must remain unanswered, but there are at least two possible reasons. The most likely reason is that Quirrell is simply lying, saying what he thinks Voldemort wants to hear while he actually sees himself amassing piles of Stone-created gold. However, it can be argued that Voldemort can sense falsehoods, as he seems to be able to sense that Harry is lying. An alternate explanation would be that Dumbledore's spell is detecting both Quirrell handing over the Stone and Voldemort using it, and is refusing to release it to Voldemort. Also, many fan sites have noticed a discrepancy in this chapter. Hermione says that she found Dumbledore in the Entrance Hall as she was on her way to send him an owl. Yet the trap door is located in the third-floor hallway, and the Owlery, we learn later, is high in the castle, on the seventh floor. Why would Hermione head down to the main floor on her way from the third to the seventh floor? One possible answer to this can actually be found in the Harry Potter films, in which we see a large central stairwell in the castle. Combine that with [[Muggles' Guide to Harry Potter/Characters/Percy Weasley|Percy]]'s [[Muggles' Guide to Harry Potter/Books/Philosopher's Stone/Chapter 7|earlier warning]] that the stairways like to move, and it is entirely possible that Hermione, emerging from the third floor corridor, would have found herself on the side of the central stairwell away from the Owlery with no staircases leading upwards from there. While descending to access a staircase that would bridge the gap, she might either have needed to go through the Entrance Hall, or else happened to see Dumbledore, below her, as he returned to the castle. This speculation is only intended to quiet a small issue that can hamper the story's enjoyment; it is unsupported by anything in the books. == Questions == {{Muggles' Guide to Harry Potter/Questions}} === Review === #Why does Snape seem to hate Harry? #How was Quirrell able to frame Snape for the attacks on Harry? #Why did Snape suspect Quirrell? Did anyone else suspect him? #Why was Harry able to retrieve the Stone from the Mirror, but Quirrell could not? #How did Voldemort know that Harry had the Stone? #Why was Harry able to burn Quirrell's skin? === Further Study === #What does Quirrell mean when he says, "There is no good or evil, only power, and those too weak to seek it"? #Why would Dumbledore have had James Potter's Invisibility Cloak, given that Dumbledore can make himself invisible without one? #How can Snape justify his hating Harry for something he has had no responsibility for? #What does Dumbledore mean when he says that death is, "the next great adventure"? #Why did Nicolas Flamel agree to destroy the Stone, knowing that this represented a death sentence for himself? #Why would Dumbledore refuse to say why Voldemort wants to kill Harry? #Harry, Ron, and Hermione think that rather than try to protect Harry, Dumbledore allowed him to fight Voldemort. Is that true? If so, why? == Greater Picture == {{Muggles' Guide to Harry Potter/Intermediate Spoiler}} Harry survives his second encounter with Lord Voldemort, and what protected him the first time, his mother's love, protects him again, and apparently will continue to do so. We later learn that this protection also requires Harry to live in a home where his mother's blood kin resides (in this case, her sister, Harry's [[Muggles' Guide to Harry Potter/Characters/Petunia Dursley|Aunt Petunia]]). This is why Harry must return to [[Muggles' Guide to Harry Potter/Places/Privet Drive|Privet Drive]] each summer, until <!-- maybe hint that 17 is the age of wizarding maturity --> his 17th birthday, as much as he detests being there. On several occasions however, he will be prematurely liberated from his enforced confinement to spend time with the Weasleys. While Harry has already suspected that Snape has the ability to read minds, we do not yet know whether this is a magical ability. It turns out that it is; [[Muggles' Guide to Harry Potter/Books/Order of the Phoenix/Chapter 24|much later]], Professor Snape will be called upon to teach [[Muggles' Guide to Harry Potter/Magic/Occlumency|Occlumency]] to Harry, at which time we will learn, not only that there is a magical ability to examine the mind's contents ([[Muggles' Guide to Harry Potter/Magic/Legilimency|Legilimency]]), but also that Voldemort is a master at it. Weakened as he is, Voldemort still seems quite able to read Harry's mind, of determining what Harry sees in the mirror, and that he has obtained the Stone. We will learn, much later, details of the linkage that exists between Voldemort and Harry, here shown by the recurring pain in Harry's scar. Voldemort, however, will remain unsure of the linkage's nature until [[Muggles' Guide to Harry Potter/Books/Order of the Phoenix/Chapter 21|Harry's fifth year]], apparently assuming until that point that the ability to read Harry's thoughts is purely his Legilimency skills. The seeming hatred between James Potter and Severus Snape is mentioned for the first time here. This features prominently in later books, especially the [[Muggles' Guide to Harry Potter/Books/Order of the Phoenix|fifth]]. As this apparent hatred is a focal point on which the series' plot turns, we will see it repeatedly over the entire story arc. [[Muggles' Guide to Harry Potter/Books/Deathly Hallows/Chapter 33|Eventually]], the reason for it is revealed. A key question driving the series is asked, and left unanswered, for the first time. Harry asks why Voldemort wants to kill him; Dumbledore responds that he must refuse to answer that. We learn later about a prophecy that predicts that either Harry or Voldemort must die, as "neither can live while the other survives." Dumbledore feels that as a child of 11 years, Harry is still too young to be told this arguably harsh fact. The prophecy will be revealed to Harry [[Muggles' Guide to Harry Potter/Books/Order of the Phoenix/Chapter 37|in four years]], along with Dumbledore's reasons for withholding it. Also, Dumbledore voices a philosophy that centers the series: "after all, to the well-organized mind, death is but the next great adventure." This does not, at first glance, seem to be a particularly useful philosophy, but it is the key difference between Voldemort and those who would defeat him. Much of the series revolves around death and the attitudes towards it. Voldemort fears death, so much so that he kills others in cold blood to preserve his own life by creating [[Muggles' Guide to Harry Potter/Magic/Horcrux|Horcruxes]]. Dumbledore, and to a large extent Harry, are prepared to die, if necessary, to destroy Voldemort's great evil. It is the one who is prepared to meet death, on his own terms, who fully masters it; running from death does not avoid it. This, we are told, is why Harry is the stronger Wizard when he confronts and duels Voldemort [[Muggles' Guide to Harry Potter/Books/Goblet of Fire/Chapter 34|near the end of book 4]]. To defeat Quirrell (and Voldemort), Harry had to follow a designated path, containing dangerous obstacles he had to overcome, before confronting the Dark Lord. This same scenario is echoed in the next book, ''Harry Potter and the Chamber of Secrets'', where Harry travels through an underground passage leading to a hidden chamber beneath Hogwarts where [[Muggles' Guide to Harry Potter/Characters/Tom Marvolo Riddle|Tom Riddle]] (Voldemort) awaits. And though Voldemort does not appear in ''Prisoner of Azkaban'', Harry (and Hermione) clambers through a secret tunnel leading to the Shrieking Shack where the fugitive and the Dark Lord's supposedly loyal supporter, Sirius Black, has taken Ron. In ''Harry Potter and the Goblet of Fire'', Harry must navigate an enchanted maze filled with riddles and dangerous creatures as part of a Tournament, only to again face Voldemort. Harry is lured to the Ministry of Magic in ''Order of the Phoenix'', where he maneuvers his way through the convoluted halls and mysterious rooms of the Department of Mysteries to confront the Dark Lord's minions, as well as his own destiny in the form of a prophecy. Finally, in ''Harry Potter and the Deathly Hallows'', he travels a dark path through the Forbidden Forest that will lead to his seemingly final encounter with Voldemort. Following a defined, but unknown and dangerous pathway symbolizes Harry's progression through the entire series, and it is the only way he will be able to defeat Lord Voldemort. At each juncture, he has the option to turn back, but instead chooses to move forward; each time he is only able reach the final destination with help from Ron and Hermione, and later, other allies such as Neville Longbottom and [[Muggles' Guide to Harry Potter/Characters/Luna Lovegood|Luna Lovegood]]. It should be noted that Neville's being awarded House points for showing courage by standing up to his friends, though wholly deserved, may seem like a fluke or even an act of generosity by Dumbledore. However, at the end of Order of the Phoenix, Professor McGonagall will award Neville, along with Harry, Hermione, Ron, and Luna Lovegood, 50 House points for his part in the battle at the Ministry of Magic and for warning the Wizarding world of Voldemort's return. In the last book, he will continue to show exemplary courage, and throughout the series, most notably in ''Harry Potter and the Order of the Phoenix'', we will see him and grow into a strong wizard and capable leader. === Connections === * "After all, to the well-organized mind, death is but the next great adventure." This aphorism is applied here by Dumbledore in reference to Nicolas Flamel. While we do not recognize it directly at the time of [[Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 27|Dumbledore's death]], we will find [[Muggles' Guide to Harry Potter/Books/Deathly Hallows/Chapter 33|in the final book]] that Dumbledore had applied it to himself as well. And Harry's [[Muggles' Guide to Harry Potter/Books/Deathly Hallows/Chapter 34|subsequent realization]] that in order to master Death, one must not fear it, is closely related. * Voldemort here is seen to have survived his own apparent death. This, of course, sets up the entire seven-book story arc, and will be referred to multiple times throughout the series. The fact that the mechanism depends on fragments of Voldemort's soul being attached to physical objects ("[[Muggles' Guide to Harry Potter/Magic/Horcrux|Horcruxes]]"), and that Harry contains a piece of Voldemort's soul within himself, is not yet known; but the connection between Harry and Voldemort, visible in Harry's scar and known by the pain in that scar, would indicate that the nature of Voldemort's immortality had been largely worked out this early in the series. * Dumbledore's reasons for awarding House points to Neville do not become fully apparent until much later in the series, where we learn of Dumbledore's deep regrets for failing to stand up to one of his own friends, and the tragic consequences that followed. He is likely pleased that Neville has succeeded where he failed. almwug5jta7rdx6xxba032j8gj9qtzc X86 Assembly/Shift and Rotate 0 51945 4444359 4441805 2024-11-11T02:00:17Z Kai Burghardt 153973 undo [[Special: Diff/4441805|revision 43C6CD]] by [[Special:Contributions/8dcc|8dcc]] ([[User talk:8dcc|discuss]]): no, LSB becomes MSB, the preceding revision was correct 4444359 wikitext text/x-wiki {{x86 Assembly Page}} == Logical Shift Instructions == In a '''logical shift''' instruction (also referred to as '''unsigned shift'''), the bits that slide off the end disappear (except for the last, which goes into the carry flag), and the spaces are always filled with zeros. Logical shifts are best used with unsigned numbers. {{x86-inst-2|shr|cnt|dest}} Logical shift <code>dest</code> to the right by <code>cnt</code> bits. {{x86-inst-2|shl|cnt|dest}} Logical shift <code>dest</code> to the left by <code>cnt</code> bits. Examples ([[X86 Assembly/GAS Syntax|GAS Syntax]]): <syntaxhighlight lang="asm"> movw $ff00,%ax # ax=1111.1111.0000.0000 (0xff00, unsigned 65280, signed -256) shrw $3,%ax # ax=0001.1111.1110.0000 (0x1fe0, signed and unsigned 8160) # (logical shifting unsigned numbers right by 3 # is like integer division by 8) shlw $1,%ax # ax=0011.1111.1100.0000 (0x3fc0, signed and unsigned 16320) # (logical shifting unsigned numbers left by 1 # is like multiplication by 2) </syntaxhighlight> == Arithmetic Shift Instructions == In an '''arithmetic shift''' (also referred to as '''signed shift'''), like a logical shift, the bits that slide off the end disappear (except for the last, which goes into the carry flag). But in an arithmetic shift, the spaces are filled in such a way to preserve the sign of the number being slid. For this reason, arithmetic shifts are better suited for signed numbers in two's complement format. {{x86-inst-2|sar|cnt|dest}} Arithmetic shift <code>dest</code> to the right by <code>cnt</code> bits. Spaces are filled with sign bit (to maintain sign of original value), which is the original highest bit. {{x86-inst-2|sal|cnt|dest}} Arithmetic shift <code>dest</code> to the left by <code>cnt</code> bits. The bottom bits do not affect the sign, so the bottom bits are filled with zeros. This instruction is synonymous with SHL. Examples ([[X86 Assembly/GAS Syntax|GAS Syntax]]): <syntaxhighlight lang="asm"> movw $ff00,%ax # ax=1111.1111.0000.0000 (0xff00, unsigned 65280, signed -256) salw $2,%ax # ax=1111.1100.0000.0000 (0xfc00, unsigned 64512, signed -1024) # (arithmetic shifting left by 2 is like multiplication by 4 for # negative numbers, but has an impact on positives with most # significant bit set (i.e. set bits shifted out)) sarw $5,%ax # ax=1111.1111.1110.0000 (0xffe0, unsigned 65504, signed -32) # (arithmetic shifting right by 5 is like integer division by 32 # for negative numbers) </syntaxhighlight> == Extended Shift Instructions == The names of the ''double precision'' shift operations are somewhat misleading, hence they are listed as ''extended'' shift instructions on this page. They are available for use with 16- and 32-bit data entities (registers/memory locations). The <code>src</code> operand is always a register, the <code>dest</code> operand can be a register or memory location, the <code>cnt</code> operand is an immediate byte value or the CL register. In 64-bit mode it is possible to address 64-bit data as well. {{x86-inst-3|shld|src|dest|cnt}} The operation performed by <code>shld</code> is to shift the most significant <code>cnt</code> bits out of <code>dest</code>, but instead of filling up the least significant bits with zeros, they are filled with the most significant <code>cnt</code> bits of <code>src</code>. {{x86-inst-3|shrd|src|dest|cnt}} Likewise, the <code>shrd</code> operation shifts the least significant <code>cnt</code> bits out of <code>dest</code>, and fills up the most significant <code>cnt</code> bits with the least significant bits of the <code>src</code> operand. Intel's nomenclature is misleading, in that the shift does not operate on double the basic operand size (i.e. specifying 32-bit operands doesn't make it a 64-bit shift): the <code>src</code> operand always remains unchanged. Also, Intel's manual<ref>[http://download.intel.com/products/processor/manual/325383.pdf Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 2] ([[w:PDF|PDF]], 6.2 MB)</ref> states that the results are undefined when <code>cnt</code> is greater than the operand size, but at least for 32- and 64-bit data sizes it has been observed that shift operations are performed by (<code>cnt [[w:Modulo_operator|mod]] n</code>), with n being the data size. Examples ([[X86 Assembly/GAS Syntax|GAS Syntax]]): <syntaxhighlight lang="asm"> xorw %ax,%ax # ax=0000.0000.0000.0000 (0x0000) notw %ax # ax=1111.1111.1111.1111 (0xffff) movw $0x5500,%bx # bx=0101.0101.0000.0000 shrdw $4,%ax,%bx # bx=1111.0101.0101.0000 (0xf550), ax is still 0xffff shldw $8,%bx,%ax # ax=1111.1111.1111.0101 (0xfff5), bx is still 0xf550 </syntaxhighlight> Other examples ('''decimal numbers are used instead of binary number to explain the concept''') <syntaxhighlight lang="asm"> # ax = 1234 5678 # bx = 8765 4321 shrd $3, %ax, %bx # ax = 1234 5678 bx = 6788 7654 </syntaxhighlight> <syntaxhighlight lang="asm"> # ax = 1234 5678 # bx = 8765 4321 shld $3, %ax, %bx # bx = 5432 1123 ax = 1234 5678 </syntaxhighlight> == Rotate Instructions == === Rotate Right === In a rotate instruction, the bits that slide off the end of the register are fed back into the spaces. {{x86-inst-2|ror|offset|variable}} Rotate <var><code>variable</code></var> to the right by <var><code>offset</code></var> bits. Here is a graphical representation how this looks like: ╭─────────────────╮ %al old     │ 0 0 1 0'0 1 1 1 │ ror 1, %al ╰─╮╲ ╲ ╲ ╲ ╲ ╲ ╲╰─╯ %al new       1 0 0 1'0 0 1 1 The number of bits to rotate <var><code>offset</code></var> is masked to the lower 5&nbsp;bits (or 6&nbsp;bits in 64-bit mode). This is equivalent to a <math>\text{offset}\!\!\!\!\mod 32</math> operation, i.&#8239;e. the remainder of integer division (note: <math>2^5 = 32</math>). This means, you can never do one or more “complete” rotations. ==== Operands ==== * <var><code>Variable</code></var> has to be a register or memory location. * <var><code>Offset</code></var> can be either ** an immediate value (where the value <code>1</code> has a dedicated opcode), ** or the <syntaxhighlight lang="asm" inline>cl</syntaxhighlight> register (that is the lowest byte of <syntaxhighlight lang="asm" inline>ecx</syntaxhighlight>). ==== Modified Flags ==== <syntaxhighlight lang="asm" inline>ror</syntaxhighlight> only alters flags if the masked <var><code>offset</code></var> is ''non''-zero. The <var>{{abbr|CF|carry flag}}</var> becomes the most recently rotated bit, so in the case of <syntaxhighlight lang="asm" inline>ror</syntaxhighlight> the <var>result</var>’s {{abbr|MSB|most-significant bit}} (the “sign”). Furthermore, if the masked <var><code>offset</code></var> = 1, <var>{{abbr|OF|overflow flag}}</var> ≔ <var>result</var>[{{abbr|MSB|most-signifcant bit}}] ⊻ <var>result</var>[{{abbr|MSB|most-significant bit}}−1], so the OF tells us, whether “the sign” has changed. === Rotate Left === {{x86-inst-2|rol|offset|variable}} Rotate <var><code>variable</code></var> to the left by <var><code>offset</code></var> bits. Operands and modified flags are pretty much the same as for [[#Rotate Right|<syntaxhighlight lang="asm" inline>ror</syntaxhighlight>]]. However, in the case that the masked <var><code>offset</code></var> = 1, the {{abbr|OF|overflow flag}} is defined differently, although it has effectively same meaning. For <syntaxhighlight lang="asm" inline>rol 1, x</syntaxhighlight> the <var>{{abbr|OF|overflow flag}}</var> ≔ <var>result</var>[MSB] ⊻ <var>result</var>[{{abbr|LSB|least-signifcant bit}}]. Note that the {{abbr|CF|carry flag}} contains the {{abbr|LSB|least-signifcant bit}} in the case of <syntaxhighlight lang="asm" inline>rol</syntaxhighlight>. == Rotate With Carry Instructions == Like with shifts, the rotate can use the carry bit as the "extra" bit that it shifts through. {{x86-inst-2|rcr|cnt|dest}} Rotate <code>dest</code> to the right by <code>cnt</code> bits with carry. {{x86-inst-2|rcl|cnt|dest}} Rotate <code>dest</code> to the left by <code>cnt</code> bits with carry. == Number of arguments == Unless stated, these instructions can take either one or two arguments. If only one is supplied, it is assumed to be a register or memory location and the number of bits to shift/rotate is one (this may be dependent on the assembler in use, however). <code> shrl $1, %eax </code> is equivalent to <code> shrl %eax</code> (GAS syntax). == Notes == {{reflist|colwidth=30em}} 0wx8h03vahbgvqzi9awvzfs4xcg814l Cascading Style Sheets/Color 0 92338 4444377 4341880 2024-11-11T08:46:32Z Xeverything11 3410648 /* Using English names */ flexbox 4444377 wikitext text/x-wiki Colors can be specified for various objects. These include text ("<code>color: white</code>"), background ("<code>background-color: white</code>"), and borders ("<code>border-color: gray</code>"). An example CSS rule that sets all <code>h1</code> elements to have white text on a red background: <syntaxhighlight lang="css"> h1 { color: white; background-color: red; } </syntaxhighlight> Methods of specification of colors, an overview: * English name, such as <code>color: white</code> * The CSS color name transparent creates a completely transparent color = rgba(0, 0, 0, 0) * Hexadecimal RGB value, such as <code>color: #ff0000</code> * Soft colours in hexadecimal RGB value like <code>color: #f00</code> * Decimal RGB value, such as <code>color: rgb(255, 0, 0)</code> * Decimal RGBA value, such as <code>color: rgba(255, 0, 0, 0.2)</code> * HSL value, such as <code>color: hsl(120, 100%, 50%)</code> * HSLA value, such as <code>color: hsla(0, 100%, 50%, 0.5)</code> Specification of colors is detailed in the following sections. If you set any colors in your web page, you should set both the background and text color for the body element of the page. Imagine if you set the text color to black and did not set the background color. A user has their preferred colors set to yellow text on a black background, a fairly common combination for users with low vision. The page is rendered with your black text on their black background and is unusable. ==color values syntax== Formal syntax <pre> <color> = <absolute-color-base> | currentcolor | <system-color> <absolute-color-base> = <hex-color> | <absolute-color-function> | <named-color> | transparent <absolute-color-function> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <color()> <rgb()> = <legacy-rgb-syntax> | <modern-rgb-syntax> <rgba()> = <legacy-rgba-syntax> | <modern-rgba-syntax> <hsl()> = <legacy-hsl-syntax> | <modern-hsl-syntax> <hsla()> = <legacy-hsla-syntax> | <modern-hsla-syntax> <hwb()> = hwb( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <lab()> = lab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <lch()> = lch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? ) <oklab()> = oklab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <oklch()> = oklch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? ) <color()> = color( <colorspace-params> [ / [ <alpha-value> | none ] ]? ) <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? ) <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? ) <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? ) <legacy-hsl-syntax> = hsl( <hue> , <percentage> , <percentage> , <alpha-value>? ) <modern-hsl-syntax> = hsl( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <legacy-hsla-syntax> = hsla( <hue> , <percentage> , <percentage> , <alpha-value>? ) <modern-hsla-syntax> = hsla( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <hue> = <number> | <angle> <alpha-value> = <number> | <percentage> <colorspace-params> = <predefined-rgb-params> | <xyz-params> <predefined-rgb-params> = <predefined-rgb> [ <number> | <percentage> | none ]{3} <xyz-params> = <xyz-space> [ <number> | <percentage> | none ]{3} <predefined-rgb> = srgb | srgb-linear | display-p3 | a98-rgb | prophoto-rgb | rec2020 <xyz-space> = xyz | xyz-d50 | xyz-d65 </pre> Examples: <syntaxhighlight lang="css"> /* Keyword values */ color: currentcolor; /* <named-color> values */ color: red; color: orange; color: tan; color: rebeccapurple; /* <hex-color> values */ color: #090; color: #009900; color: #090a; color: #009900aa; /* <rgb()> values */ color: rgb(34, 12, 64, 0.6); color: rgba(34, 12, 64, 0.6); color: rgb(34 12 64 / 0.6); color: rgba(34 12 64 / 0.3); color: rgb(34 12 64 / 60%); color: rgba(34.6 12 64 / 30%); /* <hsl()> values */ color: hsl(30, 100%, 50%, 0.6); color: hsla(30, 100%, 50%, 0.6); color: hsl(30 100% 50% / 0.6); color: hsla(30 100% 50% / 0.6); color: hsl(30 100% 50% / 60%); color: hsla(30.2 100% 50% / 60%); /* <hwb()> values */ color: hwb(90 10% 10%); color: hwb(90 10% 10% / 0.5); color: hwb(90deg 10% 10%); color: hwb(1.5708rad 60% 0%); color: hwb(0.25turn 0% 40% / 50%); /* Global values */ color: inherit; color: initial; color: revert; color: revert-layer; color: unset; </syntaxhighlight> <syntaxhighlight lang="css"> /* Named colors */ rebeccapurple aliceblue /* RGB Hexadecimal */ #f09 #ff0099 /* RGB (Red, Green, Blue) */ rgb(255 0 153) rgb(255 0 153 / 80%) /* HSL (Hue, Saturation, Lightness) */ hsl(150 30% 60%) hsl(150 30% 60% / 0.8) /* HWB (Hue, Whiteness, Blackness) */ hwb(12 50% 0%) hwb(194 0% 0% / 0.5) /* LAB (Lightness, A-axis, B-axis) */ lab(50% 40 59.5) lab(50% 40 59.5 / 0.5) /* LCH (Lightness, Chroma, Hue) */ lch(52.2% 72.2 50) lch(52.2% 72.2 50 / 0.5) /* Oklab (Lightness, A-axis, B-axis) */ oklab(59% 0.1 0.1) oklab(59% 0.1 0.1 / 0.5) /* Oklch (Lightness, Chroma, Hue) */ oklch(60% 0.15 50) oklch(60% 0.15 50 / 0.5) /* light-dark */ light-dark(white, black) light-dark(rgb(255 255 255), rgb(0 0 0)) </syntaxhighlight> ==Using English names== The following 16 values are defined: <div style="display: flex; flex-basis: 0; flex-grow: 1; flex-wrap: wrap; margin: auto; text-align: center; justify-content: center;"> <div style="padding: 8px;"> aqua<div style="background-color: aqua; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> black <div style="background-color: black; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> blue <div style="background-color: blue; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> fuchsia <div style="background-color: fuchsia; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> gray <div style="background-color: gray; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> green <div style="background-color: green; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> lime <div style="background-color: lime; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> maroon <div style="background-color: maroon; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> navy <div style="background-color: navy; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> olive <div style="background-color: olive; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> purple <div style="background-color: purple; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> red <div style="background-color: red; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> silver <div style="background-color: silver; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> teal <div style="background-color: teal; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> yellow <div style="background-color: yellow; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> white <div style="background-color: white; height: 80px; width: 80px; border: 1px solid black;"></div> </div> </div> CSS does not define the exact shade that should be used for the named colours. Use RGB-values if the exact shade is important. ==Hexadecimal RGB value== <div style="text-align: center; float: right; margin: 1em 1em 1em 1em; background-color:silver"> {| class="wikitable" ! Hex !! Bin !! Dec |- | 0 || 0000 || 0 |- | 1 || 0001 || 1 |- | 2 || 0010 || 2 |- | 3 || 0011 || 3 |- | 4 || 0100 || 4 |- | 5 || 0101 || 5 |- | 6 || 0110 || 6 |- | 7 || 0111 || 7 |- | 8 || 1000 || 8 |- | 9 || 1001 || 9 |- | A || 1010 || 10 |- | B || 1011 || 11 |- | C || 1100 || 12 |- | D || 1101 || 13 |- | E || 1110 || 14 |- | F || 1111 || 15 |} </div> The mixture ratio of a color to be displayed is specified in [[w:hexadecimal|hexadecimal]] notation. That is, they are written in base-16 as opposed to the more familiar base 10. A reference table is included, courtesy [[w:Main Page|Wikipedia]]. The two first hexadecimal digits specify the amount of red in the color<ref>{{cite web|url=http://www.w3schools.com/cssref/css_colors.asp|title=CSS colors}}</ref>, the third and fourth specify the amount of green and the last two figures specify the amount of blue. <syntaxhighlight lang="css"> h1 { color: #ff0000; } /* All h1 headings are printed in bright red. */ </syntaxhighlight> A short-hand notation is permitted: <code>#rgb</code> is equivalent to <code>#rrggbb</code>, e.g. <code>#3cf</code> is equivalent to <code>#33ccff</code>. Note that the range of values possible is hexadecimal 00 (= decimal 0) to hexadecimal ff (= decimal 255). This is the same range that is available using the rgb notation from the next section. == RGB value == RGB is a abbreviation for red, green and blue – the three colors that are mixed to create all the other colors on a computer screen. The basic syntax is <code>rgb(red-value, green-value, blue-value)</code>. The different values can be set using two different approaches. A number from 0 to 255 <syntaxhighlight lang="css"> h1 { color: rgb(255, 0, 0); } /* All h1 headings are printed in bright red. */ </syntaxhighlight> A decimal figure from 0% to 100% <syntaxhighlight lang="css"> h1 { color: rgb(100%, 0, 0); } /* All h1 headings are printed in bright red. */ </syntaxhighlight> Modern (css-color-4) rgb and rgba syntax <syntaxhighlight lang="css"> rgb() = [ <legacy-rgb-syntax> | <modern-rgb-syntax> ] rgba() = [ <legacy-rgba-syntax> | <modern-rgba-syntax> ] <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? ) <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? ) <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? ) </syntaxhighlight> Percentages Allowed for r, g and b Percent reference range: For r, g and b: 0% = 0.0, 100% = 255.0 For alpha: 0% = 0.0, 100% = 1.0 ==RGBA value== RGBA is RGB with an added [[w:alpha channel|alpha channel]] as its 4th argument. The alpha channel is a value between 0 (fully transparent) and 1 (opaque). RGBA is part of CSS3. <syntaxhighlight lang="css"> div { background-color: rgba(255, 0, 0, 0.5); } /* All divs are in bright red with 50% opacity. */ </syntaxhighlight> <div style="background-color: silver; background-image: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 10); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);</div> </div> Please note that [[MediaWiki]] blocks the use of the background-image property, so you must copy the code used below to a file or your snippet editor to see the full effect. <syntaxhighlight lang="html4strict"> <div style="background: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 0.9); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);</div> </div> </syntaxhighlight> Here is the example again, with a <span style="text-color: silver;">silver</span> background: <div style="background-color: silver;"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 0.9); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);, which is the: rgb(255, 0, 0)</div> </div> ==HSL value== HSL stands for [[w:HSL and HSV|hue, saturation and lightness]]. It is the color value system used by many [[w:cathode-ray tube|cathode-ray tube]] devices. HSL is part of CSS3. * hsl(color-angle, saturation%, lightness%); <syntaxhighlight lang="css"> div.red { background-color: hsl(0, 100%, 50%); } /* red in HSL */ div.green { background-color: hsl(120, 100%, 50%); } /* green in HSL */ div.blue { background-color: hsl(240, 100%, 50%); } /* blue in HSL */ </syntaxhighlight> Red: <div style="background-color: hsl(0, 100%, 50%); height: 1em; width: 18em;"></div> Green: <div style="background-color: hsl(120, 100%, 50%); height: 1em; width: 18em;"></div> Blue: <div style="background-color: hsl(240, 100%, 50%); height: 1em; width: 18em;"></div> ==HSLA value== HSLA is the HSL color with an alpha channel. Like RGBA, the 4th argument is a value between 0 and 1. HSLA is part of CSS3. <syntaxhighlight lang="css"> div.red { background-color: hsla(0, 100%, 50%, 0.5); } /* red in HSL with 50% opacity*/ </syntaxhighlight> <syntaxhighlight lang="css"> div { background-color: hsla(0, 100%, 50%, 0.5); } /* All divs are in bright red with 50% opacity. */ </syntaxhighlight> <div style="background-color: silver; background-image: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background:rgba(255,255,255,0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: rgba(1, 1, 1, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);</div> </div> Please note that [[MediaWiki]] blocks the use of the background-image property, so you must copy the code used below a file or your snippet editor to see the full effect. <syntaxhighlight lang="html4strict"> <div style="background: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background-color: hsla(0, 100%, 50%, 0);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);</div> </div> </syntaxhighlight> Here is the example again, with a <span style="text-color: silver;">silver</span> background: <div style="background-color: silver;"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background-color: hsla(0, 100%, 50%, 0);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);, which is the: hsl(0, 100%, 50%)</div> </div> ==hwb== <syntaxhighlight lang="css"> /* These examples all specify varying shades of a lime green. */ hwb(90 10% 10%) hwb(90 10% 10%) hwb(90 50% 10%) hwb(90deg 10% 10%) hwb(1.5708rad 60% 0%) hwb(.25turn 0% 40%) /* Same lime green but with an alpha value */ hwb(90 10% 10% / 0.5) hwb(90 10% 10% / 50%) </syntaxhighlight> ==gamut== css Color Display Quality: the color-gamut feature<ref>[https://drafts.csswg.org/mediaqueries-4/ W3C: Media Queries Level 4]</ref>. Value: srgb | p3 | rec2020 ==References== {{reflist}} {{BookCat}} [[de:Websiteentwicklung: CSS: Farben]] [[es:Lenguaje_HTML/Estilos_CSS]] [[fr:Le langage CSS/Valeurs et unités]] [[nl:Cascading Style Sheets/Kleur]] pi6xhfknvhdni93sf7um4xplyzj2fp6 4444379 4444377 2024-11-11T08:57:23Z Xeverything11 3410648 /* HSL value */ hue 4444379 wikitext text/x-wiki Colors can be specified for various objects. These include text ("<code>color: white</code>"), background ("<code>background-color: white</code>"), and borders ("<code>border-color: gray</code>"). An example CSS rule that sets all <code>h1</code> elements to have white text on a red background: <syntaxhighlight lang="css"> h1 { color: white; background-color: red; } </syntaxhighlight> Methods of specification of colors, an overview: * English name, such as <code>color: white</code> * The CSS color name transparent creates a completely transparent color = rgba(0, 0, 0, 0) * Hexadecimal RGB value, such as <code>color: #ff0000</code> * Soft colours in hexadecimal RGB value like <code>color: #f00</code> * Decimal RGB value, such as <code>color: rgb(255, 0, 0)</code> * Decimal RGBA value, such as <code>color: rgba(255, 0, 0, 0.2)</code> * HSL value, such as <code>color: hsl(120, 100%, 50%)</code> * HSLA value, such as <code>color: hsla(0, 100%, 50%, 0.5)</code> Specification of colors is detailed in the following sections. If you set any colors in your web page, you should set both the background and text color for the body element of the page. Imagine if you set the text color to black and did not set the background color. A user has their preferred colors set to yellow text on a black background, a fairly common combination for users with low vision. The page is rendered with your black text on their black background and is unusable. ==color values syntax== Formal syntax <pre> <color> = <absolute-color-base> | currentcolor | <system-color> <absolute-color-base> = <hex-color> | <absolute-color-function> | <named-color> | transparent <absolute-color-function> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <color()> <rgb()> = <legacy-rgb-syntax> | <modern-rgb-syntax> <rgba()> = <legacy-rgba-syntax> | <modern-rgba-syntax> <hsl()> = <legacy-hsl-syntax> | <modern-hsl-syntax> <hsla()> = <legacy-hsla-syntax> | <modern-hsla-syntax> <hwb()> = hwb( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <lab()> = lab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <lch()> = lch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? ) <oklab()> = oklab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <oklch()> = oklch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? ) <color()> = color( <colorspace-params> [ / [ <alpha-value> | none ] ]? ) <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? ) <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? ) <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? ) <legacy-hsl-syntax> = hsl( <hue> , <percentage> , <percentage> , <alpha-value>? ) <modern-hsl-syntax> = hsl( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <legacy-hsla-syntax> = hsla( <hue> , <percentage> , <percentage> , <alpha-value>? ) <modern-hsla-syntax> = hsla( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <hue> = <number> | <angle> <alpha-value> = <number> | <percentage> <colorspace-params> = <predefined-rgb-params> | <xyz-params> <predefined-rgb-params> = <predefined-rgb> [ <number> | <percentage> | none ]{3} <xyz-params> = <xyz-space> [ <number> | <percentage> | none ]{3} <predefined-rgb> = srgb | srgb-linear | display-p3 | a98-rgb | prophoto-rgb | rec2020 <xyz-space> = xyz | xyz-d50 | xyz-d65 </pre> Examples: <syntaxhighlight lang="css"> /* Keyword values */ color: currentcolor; /* <named-color> values */ color: red; color: orange; color: tan; color: rebeccapurple; /* <hex-color> values */ color: #090; color: #009900; color: #090a; color: #009900aa; /* <rgb()> values */ color: rgb(34, 12, 64, 0.6); color: rgba(34, 12, 64, 0.6); color: rgb(34 12 64 / 0.6); color: rgba(34 12 64 / 0.3); color: rgb(34 12 64 / 60%); color: rgba(34.6 12 64 / 30%); /* <hsl()> values */ color: hsl(30, 100%, 50%, 0.6); color: hsla(30, 100%, 50%, 0.6); color: hsl(30 100% 50% / 0.6); color: hsla(30 100% 50% / 0.6); color: hsl(30 100% 50% / 60%); color: hsla(30.2 100% 50% / 60%); /* <hwb()> values */ color: hwb(90 10% 10%); color: hwb(90 10% 10% / 0.5); color: hwb(90deg 10% 10%); color: hwb(1.5708rad 60% 0%); color: hwb(0.25turn 0% 40% / 50%); /* Global values */ color: inherit; color: initial; color: revert; color: revert-layer; color: unset; </syntaxhighlight> <syntaxhighlight lang="css"> /* Named colors */ rebeccapurple aliceblue /* RGB Hexadecimal */ #f09 #ff0099 /* RGB (Red, Green, Blue) */ rgb(255 0 153) rgb(255 0 153 / 80%) /* HSL (Hue, Saturation, Lightness) */ hsl(150 30% 60%) hsl(150 30% 60% / 0.8) /* HWB (Hue, Whiteness, Blackness) */ hwb(12 50% 0%) hwb(194 0% 0% / 0.5) /* LAB (Lightness, A-axis, B-axis) */ lab(50% 40 59.5) lab(50% 40 59.5 / 0.5) /* LCH (Lightness, Chroma, Hue) */ lch(52.2% 72.2 50) lch(52.2% 72.2 50 / 0.5) /* Oklab (Lightness, A-axis, B-axis) */ oklab(59% 0.1 0.1) oklab(59% 0.1 0.1 / 0.5) /* Oklch (Lightness, Chroma, Hue) */ oklch(60% 0.15 50) oklch(60% 0.15 50 / 0.5) /* light-dark */ light-dark(white, black) light-dark(rgb(255 255 255), rgb(0 0 0)) </syntaxhighlight> ==Using English names== The following 16 values are defined: <div style="display: flex; flex-basis: 0; flex-grow: 1; flex-wrap: wrap; margin: auto; text-align: center; justify-content: center;"> <div style="padding: 8px;"> aqua<div style="background-color: aqua; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> black <div style="background-color: black; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> blue <div style="background-color: blue; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> fuchsia <div style="background-color: fuchsia; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> gray <div style="background-color: gray; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> green <div style="background-color: green; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> lime <div style="background-color: lime; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> maroon <div style="background-color: maroon; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> navy <div style="background-color: navy; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> olive <div style="background-color: olive; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> purple <div style="background-color: purple; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> red <div style="background-color: red; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> silver <div style="background-color: silver; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> teal <div style="background-color: teal; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> yellow <div style="background-color: yellow; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> white <div style="background-color: white; height: 80px; width: 80px; border: 1px solid black;"></div> </div> </div> CSS does not define the exact shade that should be used for the named colours. Use RGB-values if the exact shade is important. ==Hexadecimal RGB value== <div style="text-align: center; float: right; margin: 1em 1em 1em 1em; background-color:silver"> {| class="wikitable" ! Hex !! Bin !! Dec |- | 0 || 0000 || 0 |- | 1 || 0001 || 1 |- | 2 || 0010 || 2 |- | 3 || 0011 || 3 |- | 4 || 0100 || 4 |- | 5 || 0101 || 5 |- | 6 || 0110 || 6 |- | 7 || 0111 || 7 |- | 8 || 1000 || 8 |- | 9 || 1001 || 9 |- | A || 1010 || 10 |- | B || 1011 || 11 |- | C || 1100 || 12 |- | D || 1101 || 13 |- | E || 1110 || 14 |- | F || 1111 || 15 |} </div> The mixture ratio of a color to be displayed is specified in [[w:hexadecimal|hexadecimal]] notation. That is, they are written in base-16 as opposed to the more familiar base 10. A reference table is included, courtesy [[w:Main Page|Wikipedia]]. The two first hexadecimal digits specify the amount of red in the color<ref>{{cite web|url=http://www.w3schools.com/cssref/css_colors.asp|title=CSS colors}}</ref>, the third and fourth specify the amount of green and the last two figures specify the amount of blue. <syntaxhighlight lang="css"> h1 { color: #ff0000; } /* All h1 headings are printed in bright red. */ </syntaxhighlight> A short-hand notation is permitted: <code>#rgb</code> is equivalent to <code>#rrggbb</code>, e.g. <code>#3cf</code> is equivalent to <code>#33ccff</code>. Note that the range of values possible is hexadecimal 00 (= decimal 0) to hexadecimal ff (= decimal 255). This is the same range that is available using the rgb notation from the next section. == RGB value == RGB is a abbreviation for red, green and blue – the three colors that are mixed to create all the other colors on a computer screen. The basic syntax is <code>rgb(red-value, green-value, blue-value)</code>. The different values can be set using two different approaches. A number from 0 to 255 <syntaxhighlight lang="css"> h1 { color: rgb(255, 0, 0); } /* All h1 headings are printed in bright red. */ </syntaxhighlight> A decimal figure from 0% to 100% <syntaxhighlight lang="css"> h1 { color: rgb(100%, 0, 0); } /* All h1 headings are printed in bright red. */ </syntaxhighlight> Modern (css-color-4) rgb and rgba syntax <syntaxhighlight lang="css"> rgb() = [ <legacy-rgb-syntax> | <modern-rgb-syntax> ] rgba() = [ <legacy-rgba-syntax> | <modern-rgba-syntax> ] <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? ) <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? ) <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? ) </syntaxhighlight> Percentages Allowed for r, g and b Percent reference range: For r, g and b: 0% = 0.0, 100% = 255.0 For alpha: 0% = 0.0, 100% = 1.0 ==RGBA value== RGBA is RGB with an added [[w:alpha channel|alpha channel]] as its 4th argument. The alpha channel is a value between 0 (fully transparent) and 1 (opaque). RGBA is part of CSS3. <syntaxhighlight lang="css"> div { background-color: rgba(255, 0, 0, 0.5); } /* All divs are in bright red with 50% opacity. */ </syntaxhighlight> <div style="background-color: silver; background-image: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 10); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);</div> </div> Please note that [[MediaWiki]] blocks the use of the background-image property, so you must copy the code used below to a file or your snippet editor to see the full effect. <syntaxhighlight lang="html4strict"> <div style="background: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 0.9); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);</div> </div> </syntaxhighlight> Here is the example again, with a <span style="text-color: silver;">silver</span> background: <div style="background-color: silver;"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 0.9); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);, which is the: rgb(255, 0, 0)</div> </div> ==HSL value== HSL stands for [[w:HSL and HSV|hue, saturation and lightness]]. It is the color value system used by many [[w:cathode-ray tube|cathode-ray tube]] devices. HSL is part of CSS3. * hsl(color-angle, saturation%, lightness%); <syntaxhighlight lang="css"> div.red { background-color: hsl(0, 100%, 50%); } /* red in HSL */ div.green { background-color: hsl(120, 100%, 50%); } /* green in HSL */ div.blue { background-color: hsl(240, 100%, 50%); } /* blue in HSL */ </syntaxhighlight> Red: <div style="background-color: hsl(0, 100%, 50%); height: 1em; width: 18em;"></div> Green: <div style="background-color: hsl(120, 100%, 50%); height: 1em; width: 18em;"></div> Blue: <div style="background-color: hsl(240, 100%, 50%); height: 1em; width: 18em;"></div> === Hue === Range: 0-360 degrees. Measured in degrees. * 0 degrees = red * 60 degrees = yellow * 120 degrees = green * 180 degrees = cyan * 240 degrees = blue * 300 degrees = magenta {| class="wikitable" |+Hue comparison at 100% saturation and 50% lightness !Hue !Color !Hue !Color !Hue !Color |- |0 | style="background: hsl(0, 100%, 50%)" | |120 | style="background: hsl(120, 100%, 50%)" | |240 | style="background: hsl(240, 100%, 50%)" | |- |10 | style="background: hsl(10, 100%, 50%)" | |130 | style="background: hsl(130, 100%, 50%)" | |250 | style="background: hsl(250, 100%, 50%)" | |- |20 | style="background: hsl(20, 100%, 50%)" | |140 | style="background: hsl(140, 100%, 50%)" | |260 | style="background: hsl(260, 100%, 50%)" | |- |30 | style="background: hsl(30, 100%, 50%)" | |150 | style="background: hsl(150, 100%, 50%)" | |270 | style="background: hsl(270, 100%, 50%)" | |- |40 | style="background: hsl(40, 100%, 50%)" | |160 | style="background: hsl(160, 100%, 50%)" | |280 | style="background: hsl(280, 100%, 50%)" | |- |50 | style="background: hsl(50, 100%, 50%)" | |170 | style="background: hsl(170, 100%, 50%)" | |290 | style="background: hsl(290, 100%, 50%)" | |- |60 | style="background: hsl(60, 100%, 50%)" | |180 | style="background: hsl(180, 100%, 50%)" | |300 | style="background: hsl(300, 100%, 50%)" | |- |70 | style="background: hsl(70, 100%, 50%)" | |190 | style="background: hsl(190, 100%, 50%)" | |310 | style="background: hsl(310, 100%, 50%)" | |- |80 | style="background: hsl(80, 100%, 50%)" | |200 | style="background: hsl(200, 100%, 50%)" | |320 | style="background: hsl(320, 100%, 50%)" | |- |90 | style="background: hsl(90, 100%, 50%)" | |210 | style="background: hsl(210, 100%, 50%)" | |330 | style="background: hsl(330, 100%, 50%)" | |- |100 | style="background: hsl(100, 100%, 50%)" | |220 | style="background: hsl(220, 100%, 50%)" | |340 | style="background: hsl(340, 100%, 50%)" | |- |110 | style="background: hsl(110, 100%, 50%)" | |230 | style="background: hsl(230, 100%, 50%)" | |350 | style="background: hsl(350, 100%, 50%)" | |} ==HSLA value== HSLA is the HSL color with an alpha channel. Like RGBA, the 4th argument is a value between 0 and 1. HSLA is part of CSS3. <syntaxhighlight lang="css"> div.red { background-color: hsla(0, 100%, 50%, 0.5); } /* red in HSL with 50% opacity*/ </syntaxhighlight> <syntaxhighlight lang="css"> div { background-color: hsla(0, 100%, 50%, 0.5); } /* All divs are in bright red with 50% opacity. */ </syntaxhighlight> <div style="background-color: silver; background-image: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background:rgba(255,255,255,0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: rgba(1, 1, 1, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);</div> </div> Please note that [[MediaWiki]] blocks the use of the background-image property, so you must copy the code used below a file or your snippet editor to see the full effect. <syntaxhighlight lang="html4strict"> <div style="background: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background-color: hsla(0, 100%, 50%, 0);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);</div> </div> </syntaxhighlight> Here is the example again, with a <span style="text-color: silver;">silver</span> background: <div style="background-color: silver;"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background-color: hsla(0, 100%, 50%, 0);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);, which is the: hsl(0, 100%, 50%)</div> </div> ==hwb== <syntaxhighlight lang="css"> /* These examples all specify varying shades of a lime green. */ hwb(90 10% 10%) hwb(90 10% 10%) hwb(90 50% 10%) hwb(90deg 10% 10%) hwb(1.5708rad 60% 0%) hwb(.25turn 0% 40%) /* Same lime green but with an alpha value */ hwb(90 10% 10% / 0.5) hwb(90 10% 10% / 50%) </syntaxhighlight> ==gamut== css Color Display Quality: the color-gamut feature<ref>[https://drafts.csswg.org/mediaqueries-4/ W3C: Media Queries Level 4]</ref>. Value: srgb | p3 | rec2020 ==References== {{reflist}} {{BookCat}} [[de:Websiteentwicklung: CSS: Farben]] [[es:Lenguaje_HTML/Estilos_CSS]] [[fr:Le langage CSS/Valeurs et unités]] [[nl:Cascading Style Sheets/Kleur]] reonvfy6l3sexvjo7te7hovehcqkfbc 4444380 4444379 2024-11-11T09:09:34Z Xeverything11 3410648 /* HSL value */ saturation and lightness 4444380 wikitext text/x-wiki Colors can be specified for various objects. These include text ("<code>color: white</code>"), background ("<code>background-color: white</code>"), and borders ("<code>border-color: gray</code>"). An example CSS rule that sets all <code>h1</code> elements to have white text on a red background: <syntaxhighlight lang="css"> h1 { color: white; background-color: red; } </syntaxhighlight> Methods of specification of colors, an overview: * English name, such as <code>color: white</code> * The CSS color name transparent creates a completely transparent color = rgba(0, 0, 0, 0) * Hexadecimal RGB value, such as <code>color: #ff0000</code> * Soft colours in hexadecimal RGB value like <code>color: #f00</code> * Decimal RGB value, such as <code>color: rgb(255, 0, 0)</code> * Decimal RGBA value, such as <code>color: rgba(255, 0, 0, 0.2)</code> * HSL value, such as <code>color: hsl(120, 100%, 50%)</code> * HSLA value, such as <code>color: hsla(0, 100%, 50%, 0.5)</code> Specification of colors is detailed in the following sections. If you set any colors in your web page, you should set both the background and text color for the body element of the page. Imagine if you set the text color to black and did not set the background color. A user has their preferred colors set to yellow text on a black background, a fairly common combination for users with low vision. The page is rendered with your black text on their black background and is unusable. ==color values syntax== Formal syntax <pre> <color> = <absolute-color-base> | currentcolor | <system-color> <absolute-color-base> = <hex-color> | <absolute-color-function> | <named-color> | transparent <absolute-color-function> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <color()> <rgb()> = <legacy-rgb-syntax> | <modern-rgb-syntax> <rgba()> = <legacy-rgba-syntax> | <modern-rgba-syntax> <hsl()> = <legacy-hsl-syntax> | <modern-hsl-syntax> <hsla()> = <legacy-hsla-syntax> | <modern-hsla-syntax> <hwb()> = hwb( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <lab()> = lab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <lch()> = lch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? ) <oklab()> = oklab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <oklch()> = oklch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? ) <color()> = color( <colorspace-params> [ / [ <alpha-value> | none ] ]? ) <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? ) <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? ) <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? ) <legacy-hsl-syntax> = hsl( <hue> , <percentage> , <percentage> , <alpha-value>? ) <modern-hsl-syntax> = hsl( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <legacy-hsla-syntax> = hsla( <hue> , <percentage> , <percentage> , <alpha-value>? ) <modern-hsla-syntax> = hsla( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? ) <hue> = <number> | <angle> <alpha-value> = <number> | <percentage> <colorspace-params> = <predefined-rgb-params> | <xyz-params> <predefined-rgb-params> = <predefined-rgb> [ <number> | <percentage> | none ]{3} <xyz-params> = <xyz-space> [ <number> | <percentage> | none ]{3} <predefined-rgb> = srgb | srgb-linear | display-p3 | a98-rgb | prophoto-rgb | rec2020 <xyz-space> = xyz | xyz-d50 | xyz-d65 </pre> Examples: <syntaxhighlight lang="css"> /* Keyword values */ color: currentcolor; /* <named-color> values */ color: red; color: orange; color: tan; color: rebeccapurple; /* <hex-color> values */ color: #090; color: #009900; color: #090a; color: #009900aa; /* <rgb()> values */ color: rgb(34, 12, 64, 0.6); color: rgba(34, 12, 64, 0.6); color: rgb(34 12 64 / 0.6); color: rgba(34 12 64 / 0.3); color: rgb(34 12 64 / 60%); color: rgba(34.6 12 64 / 30%); /* <hsl()> values */ color: hsl(30, 100%, 50%, 0.6); color: hsla(30, 100%, 50%, 0.6); color: hsl(30 100% 50% / 0.6); color: hsla(30 100% 50% / 0.6); color: hsl(30 100% 50% / 60%); color: hsla(30.2 100% 50% / 60%); /* <hwb()> values */ color: hwb(90 10% 10%); color: hwb(90 10% 10% / 0.5); color: hwb(90deg 10% 10%); color: hwb(1.5708rad 60% 0%); color: hwb(0.25turn 0% 40% / 50%); /* Global values */ color: inherit; color: initial; color: revert; color: revert-layer; color: unset; </syntaxhighlight> <syntaxhighlight lang="css"> /* Named colors */ rebeccapurple aliceblue /* RGB Hexadecimal */ #f09 #ff0099 /* RGB (Red, Green, Blue) */ rgb(255 0 153) rgb(255 0 153 / 80%) /* HSL (Hue, Saturation, Lightness) */ hsl(150 30% 60%) hsl(150 30% 60% / 0.8) /* HWB (Hue, Whiteness, Blackness) */ hwb(12 50% 0%) hwb(194 0% 0% / 0.5) /* LAB (Lightness, A-axis, B-axis) */ lab(50% 40 59.5) lab(50% 40 59.5 / 0.5) /* LCH (Lightness, Chroma, Hue) */ lch(52.2% 72.2 50) lch(52.2% 72.2 50 / 0.5) /* Oklab (Lightness, A-axis, B-axis) */ oklab(59% 0.1 0.1) oklab(59% 0.1 0.1 / 0.5) /* Oklch (Lightness, Chroma, Hue) */ oklch(60% 0.15 50) oklch(60% 0.15 50 / 0.5) /* light-dark */ light-dark(white, black) light-dark(rgb(255 255 255), rgb(0 0 0)) </syntaxhighlight> ==Using English names== The following 16 values are defined: <div style="display: flex; flex-basis: 0; flex-grow: 1; flex-wrap: wrap; margin: auto; text-align: center; justify-content: center;"> <div style="padding: 8px;"> aqua<div style="background-color: aqua; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> black <div style="background-color: black; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> blue <div style="background-color: blue; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> fuchsia <div style="background-color: fuchsia; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> gray <div style="background-color: gray; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> green <div style="background-color: green; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> lime <div style="background-color: lime; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> maroon <div style="background-color: maroon; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> navy <div style="background-color: navy; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> olive <div style="background-color: olive; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> purple <div style="background-color: purple; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> red <div style="background-color: red; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> silver <div style="background-color: silver; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> teal <div style="background-color: teal; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> yellow <div style="background-color: yellow; height: 80px; width: 80px; border: 1px solid black;"></div> </div><div style="padding: 8px;"> white <div style="background-color: white; height: 80px; width: 80px; border: 1px solid black;"></div> </div> </div> CSS does not define the exact shade that should be used for the named colours. Use RGB-values if the exact shade is important. ==Hexadecimal RGB value== <div style="text-align: center; float: right; margin: 1em 1em 1em 1em; background-color:silver"> {| class="wikitable" ! Hex !! Bin !! Dec |- | 0 || 0000 || 0 |- | 1 || 0001 || 1 |- | 2 || 0010 || 2 |- | 3 || 0011 || 3 |- | 4 || 0100 || 4 |- | 5 || 0101 || 5 |- | 6 || 0110 || 6 |- | 7 || 0111 || 7 |- | 8 || 1000 || 8 |- | 9 || 1001 || 9 |- | A || 1010 || 10 |- | B || 1011 || 11 |- | C || 1100 || 12 |- | D || 1101 || 13 |- | E || 1110 || 14 |- | F || 1111 || 15 |} </div> The mixture ratio of a color to be displayed is specified in [[w:hexadecimal|hexadecimal]] notation. That is, they are written in base-16 as opposed to the more familiar base 10. A reference table is included, courtesy [[w:Main Page|Wikipedia]]. The two first hexadecimal digits specify the amount of red in the color<ref>{{cite web|url=http://www.w3schools.com/cssref/css_colors.asp|title=CSS colors}}</ref>, the third and fourth specify the amount of green and the last two figures specify the amount of blue. <syntaxhighlight lang="css"> h1 { color: #ff0000; } /* All h1 headings are printed in bright red. */ </syntaxhighlight> A short-hand notation is permitted: <code>#rgb</code> is equivalent to <code>#rrggbb</code>, e.g. <code>#3cf</code> is equivalent to <code>#33ccff</code>. Note that the range of values possible is hexadecimal 00 (= decimal 0) to hexadecimal ff (= decimal 255). This is the same range that is available using the rgb notation from the next section. == RGB value == RGB is a abbreviation for red, green and blue – the three colors that are mixed to create all the other colors on a computer screen. The basic syntax is <code>rgb(red-value, green-value, blue-value)</code>. The different values can be set using two different approaches. A number from 0 to 255 <syntaxhighlight lang="css"> h1 { color: rgb(255, 0, 0); } /* All h1 headings are printed in bright red. */ </syntaxhighlight> A decimal figure from 0% to 100% <syntaxhighlight lang="css"> h1 { color: rgb(100%, 0, 0); } /* All h1 headings are printed in bright red. */ </syntaxhighlight> Modern (css-color-4) rgb and rgba syntax <syntaxhighlight lang="css"> rgb() = [ <legacy-rgb-syntax> | <modern-rgb-syntax> ] rgba() = [ <legacy-rgba-syntax> | <modern-rgba-syntax> ] <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? ) <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? ) <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? ) </syntaxhighlight> Percentages Allowed for r, g and b Percent reference range: For r, g and b: 0% = 0.0, 100% = 255.0 For alpha: 0% = 0.0, 100% = 1.0 ==RGBA value== RGBA is RGB with an added [[w:alpha channel|alpha channel]] as its 4th argument. The alpha channel is a value between 0 (fully transparent) and 1 (opaque). RGBA is part of CSS3. <syntaxhighlight lang="css"> div { background-color: rgba(255, 0, 0, 0.5); } /* All divs are in bright red with 50% opacity. */ </syntaxhighlight> <div style="background-color: silver; background-image: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 10); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);</div> </div> Please note that [[MediaWiki]] blocks the use of the background-image property, so you must copy the code used below to a file or your snippet editor to see the full effect. <syntaxhighlight lang="html4strict"> <div style="background: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 0.9); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);</div> </div> </syntaxhighlight> Here is the example again, with a <span style="text-color: silver;">silver</span> background: <div style="background-color: silver;"> <div style="background-color: rgba(255, 0, 0, 0); padding: .25em;">background-color: rgba(255, 0, 0, 0);</div> <div style="background-color: rgba(255, 0, 0, 0.1); padding: .25em;">background-color: rgba(255, 0, 0, 0.1);</div> <div style="background-color: rgba(255, 0, 0, 0.2); padding: .25em;">background-color: rgba(255, 0, 0, 0.2);</div> <div style="background-color: rgba(255, 0, 0, 0.3); padding: .25em;">background-color: rgba(255, 0, 0, 0.3);</div> <div style="background-color: rgba(255, 0, 0, 0.4); padding: .25em;">background-color: rgba(255, 0, 0, 0.4);</div> <div style="background-color: rgba(255, 0, 0, 0.5); padding: .25em;">background-color: rgba(255, 0, 0, 0.5);</div> <div style="background-color: rgba(255, 0, 0, 0.6); padding: .25em;">background-color: rgba(255, 0, 0, 0.6);</div> <div style="background-color: rgba(255, 0, 0, 0.7); padding: .25em;">background-color: rgba(255, 0, 0, 0.7);</div> <div style="background-color: rgba(255, 0, 0, 0.8); padding: .25em;">background-color: rgba(255, 0, 0, 0.8);</div> <div style="background-color: rgba(255, 0, 0, 0.9); padding: .25em;">background-color: rgba(255, 0, 0, 0.9);</div> <div style="background-color: rgba(255, 0, 0, 1); padding: .25em;">background-color: rgba(255, 0, 0, 1);, which is the: rgb(255, 0, 0)</div> </div> ==HSL value== HSL stands for [[w:HSL and HSV|hue, saturation and lightness]]. It is the color value system used by many [[w:cathode-ray tube|cathode-ray tube]] devices. HSL is part of CSS3. * hsl(color-angle, saturation%, lightness%); <syntaxhighlight lang="css"> div.red { background-color: hsl(0, 100%, 50%); } /* red in HSL */ div.green { background-color: hsl(120, 100%, 50%); } /* green in HSL */ div.blue { background-color: hsl(240, 100%, 50%); } /* blue in HSL */ </syntaxhighlight> Red: <div style="background-color: hsl(0, 100%, 50%); height: 1em; width: 18em;"></div> Green: <div style="background-color: hsl(120, 100%, 50%); height: 1em; width: 18em;"></div> Blue: <div style="background-color: hsl(240, 100%, 50%); height: 1em; width: 18em;"></div> === Hue === Range: 0-360 degrees. Measured in degrees. * 0 degrees = red * 60 degrees = yellow * 120 degrees = green * 180 degrees = cyan * 240 degrees = blue * 300 degrees = magenta {| class="wikitable" |+Hue comparison at 100% saturation and 50% lightness !Hue !Color !Hue !Color !Hue !Color |- |0 | style="background: hsl(0, 100%, 50%)" | |120 | style="background: hsl(120, 100%, 50%)" | |240 | style="background: hsl(240, 100%, 50%)" | |- |10 | style="background: hsl(10, 100%, 50%)" | |130 | style="background: hsl(130, 100%, 50%)" | |250 | style="background: hsl(250, 100%, 50%)" | |- |20 | style="background: hsl(20, 100%, 50%)" | |140 | style="background: hsl(140, 100%, 50%)" | |260 | style="background: hsl(260, 100%, 50%)" | |- |30 | style="background: hsl(30, 100%, 50%)" | |150 | style="background: hsl(150, 100%, 50%)" | |270 | style="background: hsl(270, 100%, 50%)" | |- |40 | style="background: hsl(40, 100%, 50%)" | |160 | style="background: hsl(160, 100%, 50%)" | |280 | style="background: hsl(280, 100%, 50%)" | |- |50 | style="background: hsl(50, 100%, 50%)" | |170 | style="background: hsl(170, 100%, 50%)" | |290 | style="background: hsl(290, 100%, 50%)" | |- |60 | style="background: hsl(60, 100%, 50%)" | |180 | style="background: hsl(180, 100%, 50%)" | |300 | style="background: hsl(300, 100%, 50%)" | |- |70 | style="background: hsl(70, 100%, 50%)" | |190 | style="background: hsl(190, 100%, 50%)" | |310 | style="background: hsl(310, 100%, 50%)" | |- |80 | style="background: hsl(80, 100%, 50%)" | |200 | style="background: hsl(200, 100%, 50%)" | |320 | style="background: hsl(320, 100%, 50%)" | |- |90 | style="background: hsl(90, 100%, 50%)" | |210 | style="background: hsl(210, 100%, 50%)" | |330 | style="background: hsl(330, 100%, 50%)" | |- |100 | style="background: hsl(100, 100%, 50%)" | |220 | style="background: hsl(220, 100%, 50%)" | |340 | style="background: hsl(340, 100%, 50%)" | |- |110 | style="background: hsl(110, 100%, 50%)" | |230 | style="background: hsl(230, 100%, 50%)" | |350 | style="background: hsl(350, 100%, 50%)" | |} === Saturation === Measured as percentage in a range of 0%-100%. The higher, the more saturated. 0% is pure monochrome gray. === Lightness === Measured as percentage in a range of 0%-100%. The higher, the lighter. 0% is black, and 100% is white. {| class="wikitable" |+ Saturation (left to right) vs lightness (top to bottom) at 330 degrees hue ! % ! 0 ! 10 ! 20 ! 30 ! 40 ! 50 ! 60 ! 70 ! 80 ! 90 ! 100 |- ! 0 | style="background: hsl(330, 0%, 0%)" | | style="background: hsl(330, 10%, 0%)" | | style="background: hsl(330, 20%, 0%)" | | style="background: hsl(330, 30%, 0%)" | | style="background: hsl(330, 40%, 0%)" | | style="background: hsl(330, 50%, 0%)" | | style="background: hsl(330, 60%, 0%)" | | style="background: hsl(330, 70%, 0%)" | | style="background: hsl(330, 80%, 0%)" | | style="background: hsl(330, 90%, 0%)" | | style="background: hsl(330, 100%, 0%)" | |- ! 10 | style="background: hsl(330, 0%, 10%)" | | style="background: hsl(330, 10%, 10%)" | | style="background: hsl(330, 20%, 10%)" | | style="background: hsl(330, 30%, 10%)" | | style="background: hsl(330, 40%, 10%)" | | style="background: hsl(330, 50%, 10%)" | | style="background: hsl(330, 60%, 10%)" | | style="background: hsl(330, 70%, 10%)" | | style="background: hsl(330, 80%, 10%)" | | style="background: hsl(330, 90%, 10%)" | | style="background: hsl(330, 100%, 10%)" | |- ! 20 | style="background: hsl(330, 0%, 20%)" | | style="background: hsl(330, 10%, 20%)" | | style="background: hsl(330, 20%, 20%)" | | style="background: hsl(330, 30%, 20%)" | | style="background: hsl(330, 40%, 20%)" | | style="background: hsl(330, 50%, 20%)" | | style="background: hsl(330, 60%, 20%)" | | style="background: hsl(330, 70%, 20%)" | | style="background: hsl(330, 80%, 20%)" | | style="background: hsl(330, 90%, 20%)" | | style="background: hsl(330, 100%, 20%)" | |- ! 30 | style="background: hsl(330, 0%, 30%)" | | style="background: hsl(330, 10%, 30%)" | | style="background: hsl(330, 20%, 30%)" | | style="background: hsl(330, 30%, 30%)" | | style="background: hsl(330, 40%, 30%)" | | style="background: hsl(330, 50%, 30%)" | | style="background: hsl(330, 60%, 30%)" | | style="background: hsl(330, 70%, 30%)" | | style="background: hsl(330, 80%, 30%)" | | style="background: hsl(330, 90%, 30%)" | | style="background: hsl(330, 100%, 30%)" | |- ! 40 | style="background: hsl(330, 0%, 40%)" | | style="background: hsl(330, 10%, 40%)" | | style="background: hsl(330, 20%, 40%)" | | style="background: hsl(330, 30%, 40%)" | | style="background: hsl(330, 40%, 40%)" | | style="background: hsl(330, 50%, 40%)" | | style="background: hsl(330, 60%, 40%)" | | style="background: hsl(330, 70%, 40%)" | | style="background: hsl(330, 80%, 40%)" | | style="background: hsl(330, 90%, 40%)" | | style="background: hsl(330, 100%, 40%)" | |- ! 50 | style="background: hsl(330, 0%, 50%)" | | style="background: hsl(330, 10%, 50%)" | | style="background: hsl(330, 20%, 50%)" | | style="background: hsl(330, 30%, 50%)" | | style="background: hsl(330, 40%, 50%)" | | style="background: hsl(330, 50%, 50%)" | | style="background: hsl(330, 60%, 50%)" | | style="background: hsl(330, 70%, 50%)" | | style="background: hsl(330, 80%, 50%)" | | style="background: hsl(330, 90%, 50%)" | | style="background: hsl(330, 100%, 50%)" | |- ! 60 | style="background: hsl(330, 0%, 60%)" | | style="background: hsl(330, 10%, 60%)" | | style="background: hsl(330, 20%, 60%)" | | style="background: hsl(330, 30%, 60%)" | | style="background: hsl(330, 40%, 60%)" | | style="background: hsl(330, 50%, 60%)" | | style="background: hsl(330, 60%, 60%)" | | style="background: hsl(330, 70%, 60%)" | | style="background: hsl(330, 80%, 60%)" | | style="background: hsl(330, 90%, 60%)" | | style="background: hsl(330, 100%, 60%)" | |- ! 70 | style="background: hsl(330, 0%, 70%)" | | style="background: hsl(330, 10%, 70%)" | | style="background: hsl(330, 20%, 70%)" | | style="background: hsl(330, 30%, 70%)" | | style="background: hsl(330, 40%, 70%)" | | style="background: hsl(330, 50%, 70%)" | | style="background: hsl(330, 60%, 70%)" | | style="background: hsl(330, 70%, 70%)" | | style="background: hsl(330, 80%, 70%)" | | style="background: hsl(330, 90%, 70%)" | | style="background: hsl(330, 100%, 70%)" | |- ! 80 | style="background: hsl(330, 0%, 80%)" | | style="background: hsl(330, 10%, 80%)" | | style="background: hsl(330, 20%, 80%)" | | style="background: hsl(330, 30%, 80%)" | | style="background: hsl(330, 40%, 80%)" | | style="background: hsl(330, 50%, 80%)" | | style="background: hsl(330, 60%, 80%)" | | style="background: hsl(330, 70%, 80%)" | | style="background: hsl(330, 80%, 80%)" | | style="background: hsl(330, 90%, 80%)" | | style="background: hsl(330, 100%, 80%)" | |- ! 90 | style="background: hsl(330, 0%, 90%)" | | style="background: hsl(330, 10%, 90%)" | | style="background: hsl(330, 20%, 90%)" | | style="background: hsl(330, 30%, 90%)" | | style="background: hsl(330, 40%, 90%)" | | style="background: hsl(330, 50%, 90%)" | | style="background: hsl(330, 60%, 90%)" | | style="background: hsl(330, 70%, 90%)" | | style="background: hsl(330, 80%, 90%)" | | style="background: hsl(330, 90%, 90%)" | | style="background: hsl(330, 100%, 90%)" | |- ! 100 | style="background: hsl(330, 0%, 100%)" | | style="background: hsl(330, 10%, 100%)" | | style="background: hsl(330, 20%, 100%)" | | style="background: hsl(330, 30%, 100%)" | | style="background: hsl(330, 40%, 100%)" | | style="background: hsl(330, 50%, 100%)" | | style="background: hsl(330, 60%, 100%)" | | style="background: hsl(330, 70%, 100%)" | | style="background: hsl(330, 80%, 100%)" | | style="background: hsl(330, 90%, 100%)" | | style="background: hsl(330, 100%, 100%)" | |} ==HSLA value== HSLA is the HSL color with an alpha channel. Like RGBA, the 4th argument is a value between 0 and 1. HSLA is part of CSS3. <syntaxhighlight lang="css"> div.red { background-color: hsla(0, 100%, 50%, 0.5); } /* red in HSL with 50% opacity*/ </syntaxhighlight> <syntaxhighlight lang="css"> div { background-color: hsla(0, 100%, 50%, 0.5); } /* All divs are in bright red with 50% opacity. */ </syntaxhighlight> <div style="background-color: silver; background-image: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background:rgba(255,255,255,0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: rgba(1, 1, 1, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);</div> </div> Please note that [[MediaWiki]] blocks the use of the background-image property, so you must copy the code used below a file or your snippet editor to see the full effect. <syntaxhighlight lang="html4strict"> <div style="background: url('http://upload.wikimedia.org/wikipedia/commons/1/1f/Wallpaper.FALA-S.gif');"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background-color: hsla(0, 100%, 50%, 0);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);</div> </div> </syntaxhighlight> Here is the example again, with a <span style="text-color: silver;">silver</span> background: <div style="background-color: silver;"> <div style="background-color: hsla(0, 100%, 50%, 0); padding: .25em;">background-color: hsla(0, 100%, 50%, 0);</div> <div style="background-color: hsla(0, 100%, 50%, 0.1); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.1);</div> <div style="background-color: hsla(0, 100%, 50%, 0.2); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.2);</div> <div style="background-color: hsla(0, 100%, 50%, 0.3); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.3);</div> <div style="background-color: hsla(0, 100%, 50%, 0.4); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.4);</div> <div style="background-color: hsla(0, 100%, 50%, 0.5); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.5);</div> <div style="background-color: hsla(0, 100%, 50%, 0.6); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.6);</div> <div style="background-color: hsla(0, 100%, 50%, 0.7); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.7);</div> <div style="background-color: hsla(0, 100%, 50%, 0.8); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.8);</div> <div style="background-color: hsla(0, 100%, 50%, 0.9); padding: .25em;">background-color: hsla(0, 100%, 50%, 0.9);</div> <div style="background-color: hsla(0, 100%, 50%, 1); padding: .25em;">background-color: hsla(0, 100%, 50%, 1);, which is the: hsl(0, 100%, 50%)</div> </div> ==hwb== <syntaxhighlight lang="css"> /* These examples all specify varying shades of a lime green. */ hwb(90 10% 10%) hwb(90 10% 10%) hwb(90 50% 10%) hwb(90deg 10% 10%) hwb(1.5708rad 60% 0%) hwb(.25turn 0% 40%) /* Same lime green but with an alpha value */ hwb(90 10% 10% / 0.5) hwb(90 10% 10% / 50%) </syntaxhighlight> ==gamut== css Color Display Quality: the color-gamut feature<ref>[https://drafts.csswg.org/mediaqueries-4/ W3C: Media Queries Level 4]</ref>. Value: srgb | p3 | rec2020 ==References== {{reflist}} {{BookCat}} [[de:Websiteentwicklung: CSS: Farben]] [[es:Lenguaje_HTML/Estilos_CSS]] [[fr:Le langage CSS/Valeurs et unités]] [[nl:Cascading Style Sheets/Kleur]] bowkumja01u0xbc9jxn5vwui7g3wsm1 Flute/Embouchure and Producing Sound 0 92618 4444295 3474269 2024-11-10T13:17:21Z Gisbert K 3298946 photo 4444295 wikitext text/x-wiki {{Flute}} The word bouche is French for ''mouth''. Wind musicians use embouchure to describe the shape of their lips as they play a musical instrument. The ''embouchure hole'' refers to the hole in the mouthpiece (or ''headjoint'') of the instrument. Finding a practicable embouchure on the flute can be extremely difficult at first, but this challenge is easily overcome with perseverance. [[File:Lily_playing flute_at_Jazz_Square.png|thumb|right|Flautist with flute]] '''Examine the shape of your lips''' Look in a mirror at the shape of your lips. Some people have a completely smooth/rounded surface on their inner lip, whilst others may have a 'teardrop' shape in the middle. Some people have a wider part on one side of the teardrop, or perhaps the teardrop is not in the centre of the mouth. Other people have the opposite of a teardrop, where the lip actually rises in the middle. Whatever your shape, you will need to take this into account when attempting to get a sound out of the instrument. '''What am I trying to DO with the air?''' When playing the flute, we do not blow the air directly inside the mouthpiece (as we would do with a recorder or a whistle), but we are instead directing the airstream over the top of the embouchure hole. Perhaps in the past, you have made a sound by blowing over the top of a bottle - it is the same principle as this. The stream of air used to create a sound on the flute should be produced from an ''embouchure'' approximately the size of a drinking straw. Imagine that someone has placed a drinking straw between your lips - this loosely indicates the size of the airstream. '''Some suggestions to get you started''' ''Try this with the headjoint only, at first''. 1. Press your lips together. Roll the lips inward, so that there is no pink showing. (Imagine a woman who is pressing her lipstick between her lips) 2. "Kiss your flute!" - place the ''embouchure hole'' completely against your pressed lips, so that you can feel the full circle around your mouth. 3. Unroll. Roll the flute away from your lips approximately 90 degrees, so that the ''embouchure hole'' is now level with the ceiling. 4. "Spit out a watermelon seed!" Imagine you have a small seed to spit out - this may assist you in finding a good ''embouchure'' shape. If you achieve a sound using this method, try adding a stream of air after your initial "spit". ''''What if that didn't work?'''' *Try it again several times, and try to move the ''embouchure hole'' to the left or right, depending on where your strongest stream of air is coming out. *Experiment, experiment, experiment! As you are blowing, try moving the ''embouchure hole'' to the left, right, roll in/roll out, angle up/angle down, angle forward/angle back, etc... Take deep breaths, so that you have plenty of air to create a strong sound. *Have a look in the mirror as you attempt to make a sound. Closely observe the position of the ''embouchure hole'' against your lips, and attempt to troubleshoot. You may notice a small pattern of condensation appear on the mouthpiece - if you can create a triangular shape with this, you are almost certainly doing well. {{BookCat}} ttavilo4lhgj6cj05p3h9giyj7hnii7 4444296 4444295 2024-11-10T13:18:46Z Gisbert K 3298946 photo 4444296 wikitext text/x-wiki {{Flute}} The word bouche is French for ''mouth''. Wind musicians use embouchure to describe the shape of their lips as they play a musical instrument. The ''embouchure hole'' refers to the hole in the mouthpiece (or ''headjoint'') of the instrument. Finding a practicable embouchure on the flute can be extremely difficult at first, but this challenge is easily overcome with perseverance. [[File:Lily_playing flute_at_Jazz_Square.jpg|thumb|right|Flautist with flute]] '''Examine the shape of your lips''' Look in a mirror at the shape of your lips. Some people have a completely smooth/rounded surface on their inner lip, whilst others may have a 'teardrop' shape in the middle. Some people have a wider part on one side of the teardrop, or perhaps the teardrop is not in the centre of the mouth. Other people have the opposite of a teardrop, where the lip actually rises in the middle. Whatever your shape, you will need to take this into account when attempting to get a sound out of the instrument. '''What am I trying to DO with the air?''' When playing the flute, we do not blow the air directly inside the mouthpiece (as we would do with a recorder or a whistle), but we are instead directing the airstream over the top of the embouchure hole. Perhaps in the past, you have made a sound by blowing over the top of a bottle - it is the same principle as this. The stream of air used to create a sound on the flute should be produced from an ''embouchure'' approximately the size of a drinking straw. Imagine that someone has placed a drinking straw between your lips - this loosely indicates the size of the airstream. '''Some suggestions to get you started''' ''Try this with the headjoint only, at first''. 1. Press your lips together. Roll the lips inward, so that there is no pink showing. (Imagine a woman who is pressing her lipstick between her lips) 2. "Kiss your flute!" - place the ''embouchure hole'' completely against your pressed lips, so that you can feel the full circle around your mouth. 3. Unroll. Roll the flute away from your lips approximately 90 degrees, so that the ''embouchure hole'' is now level with the ceiling. 4. "Spit out a watermelon seed!" Imagine you have a small seed to spit out - this may assist you in finding a good ''embouchure'' shape. If you achieve a sound using this method, try adding a stream of air after your initial "spit". ''''What if that didn't work?'''' *Try it again several times, and try to move the ''embouchure hole'' to the left or right, depending on where your strongest stream of air is coming out. *Experiment, experiment, experiment! As you are blowing, try moving the ''embouchure hole'' to the left, right, roll in/roll out, angle up/angle down, angle forward/angle back, etc... Take deep breaths, so that you have plenty of air to create a strong sound. *Have a look in the mirror as you attempt to make a sound. Closely observe the position of the ''embouchure hole'' against your lips, and attempt to troubleshoot. You may notice a small pattern of condensation appear on the mouthpiece - if you can create a triangular shape with this, you are almost certainly doing well. {{BookCat}} jds3z0d1kfuiu0vfuy2zav30liukgfx 4444297 4444296 2024-11-10T13:19:13Z Gisbert K 3298946 4444297 wikitext text/x-wiki {{Flute}} The word bouche is French for ''mouth''. Wind musicians use embouchure to describe the shape of their lips as they play a musical instrument. The ''embouchure hole'' refers to the hole in the mouthpiece (or ''headjoint'') of the instrument. Finding a practicable embouchure on the flute can be extremely difficult at first, but this challenge is easily overcome with perseverance. [[File:Lily_playing flute_at_Jazz_Square.png|thumb|right|Flautist with flute]] '''Examine the shape of your lips''' Look in a mirror at the shape of your lips. Some people have a completely smooth/rounded surface on their inner lip, whilst others may have a 'teardrop' shape in the middle. Some people have a wider part on one side of the teardrop, or perhaps the teardrop is not in the centre of the mouth. Other people have the opposite of a teardrop, where the lip actually rises in the middle. Whatever your shape, you will need to take this into account when attempting to get a sound out of the instrument. '''What am I trying to DO with the air?''' When playing the flute, we do not blow the air directly inside the mouthpiece (as we would do with a recorder or a whistle), but we are instead directing the airstream over the top of the embouchure hole. Perhaps in the past, you have made a sound by blowing over the top of a bottle - it is the same principle as this. The stream of air used to create a sound on the flute should be produced from an ''embouchure'' approximately the size of a drinking straw. Imagine that someone has placed a drinking straw between your lips - this loosely indicates the size of the airstream. '''Some suggestions to get you started''' ''Try this with the headjoint only, at first''. 1. Press your lips together. Roll the lips inward, so that there is no pink showing. (Imagine a woman who is pressing her lipstick between her lips) 2. "Kiss your flute!" - place the ''embouchure hole'' completely against your pressed lips, so that you can feel the full circle around your mouth. 3. Unroll. Roll the flute away from your lips approximately 90 degrees, so that the ''embouchure hole'' is now level with the ceiling. 4. "Spit out a watermelon seed!" Imagine you have a small seed to spit out - this may assist you in finding a good ''embouchure'' shape. If you achieve a sound using this method, try adding a stream of air after your initial "spit". ''''What if that didn't work?'''' *Try it again several times, and try to move the ''embouchure hole'' to the left or right, depending on where your strongest stream of air is coming out. *Experiment, experiment, experiment! As you are blowing, try moving the ''embouchure hole'' to the left, right, roll in/roll out, angle up/angle down, angle forward/angle back, etc... Take deep breaths, so that you have plenty of air to create a strong sound. *Have a look in the mirror as you attempt to make a sound. Closely observe the position of the ''embouchure hole'' against your lips, and attempt to troubleshoot. You may notice a small pattern of condensation appear on the mouthpiece - if you can create a triangular shape with this, you are almost certainly doing well. {{BookCat}} ttavilo4lhgj6cj05p3h9giyj7hnii7 Cookbook:Stargazy Pie 102 113953 4444368 4397109 2024-11-11T04:17:26Z Kittycataclysm 3371989 added [[Category:Herring recipes]] using [[Help:Gadget-HotCat|HotCat]] 4444368 wikitext text/x-wiki {{Recipe summary | Category = Pie and tart recipes | Difficulty = 2 | Image = [[File:Stargazy pie prebake.jpg|300px]] }} {{recipe}} | [[Cookbook:Cuisine of the United Kingdom|Cuisine of the UK]] '''Stargazy pie''' is a rich fish pie from Cornwall in the [[Cookbook:Cuisine of the United Kingdom|United Kingdom]]. == Ingredients == *As many fresh [[Cookbook:Fish|Herrings, Pilchards or Mackerel]] to fill your [[Cookbook:Pie and Tart Pans|pie dish]] *Sufficient [[Cookbook:Pastry Dough|pastry]] to cover your dish *Fresh chopped [[Cookbook:Parsley|parsley]] *[[Cookbook:Salt|Salt]] *[[Cookbook:Pepper|Pepper]] *Up to 6 [[Cookbook:Egg|eggs]] or ½ [[Cookbook:Pint|pint]] (300 [[Cookbook:Milliliter|ml]]) of [[Cookbook:Cream|cream]] or top-of-the-milk *Fine [[Cookbook:Bread Crumb|breadcrumbs]] *Fat [[Cookbook:Bacon|bacon rashers]] (green or smoked to your preference) *2 tbsp [[Cookbook:Tarragon|tarragon]] [[Cookbook:Vinegar|vinegar]] *[[Cookbook:Butter|Butter]] == Procedure == #Scale, clean, and bone the fish, separating and retaining their heads. #Season inside each with salt, pepper, and parsley. Roll neatly. #Butter [[Cookbook:Pie and Tart Pans|pie dish]], and sprinkle a thick layer of breadcrumbs on. #Lay in some of the fish, then alternate breadcrumbs and fish until dish is full. Cover with bacon rashers. #Beat eggs with vinegar, pour into pie, or use cream. Cover with pastry. #Arrange fish heads on pastry, so as they are looking up (to the stars). #[[Cookbook:Baking|Bake]] in a hot [[Cookbook:Oven|oven]]. #Serve with a sprig of parsley in mouth of each fish. == Notes, tips, and variations == * ''From'' St. Agnes W.I. ''in'' Cornish Recipes, Ancient & Modern, 22nd Edition, The Cornwall Federation of Women's Institutes 1965. ''First collected & published by'' Edith Martin, Tregavethan, Truro, 1929, ''for'' The Cornwall F.of W. I. [[Category:Cornish recipes|{{PAGENAME}}]] [[Category:Fish recipes|{{PAGENAME}}]] [[Category:Pot Pie recipes]] [[Category:Main course recipes]] [[Category:Baked recipes]] [[Category:Recipes with images]] [[Category:Recipes_with_metric_units]] [[Category:Bacon recipes]] [[Category:Egg recipes]] [[Category:Bread crumb recipes]] [[Category:Cream recipes]] [[Category:Herring recipes]] 0941dwms5jb5kv2jt1wl0k7ksbnst9j Cookbook:Arroz con Gandules (Puerto Rican Rice and Pigeon Peas) 102 129807 4444357 4441378 2024-11-11T01:07:40Z 74.101.142.217 4444357 wikitext text/x-wiki __NOTOC__ {{Recipe summary | Category = Rice recipes | Difficulty = 3 }} {{recipe}} '''''Arroz con gandules''''' is a Puerto Rican dish of rice, pigeon peas, smoked meat, and sofrito. ==Ingredients== === Sofrito === * 2 medium yellow [[Cookbook:Onion|onions]], cut into large chunks * 3–4 Italian frying peppers (also known as [[Cookbook:Cubanelle Pepper|cubanelle peppers]]) * 16–20 cloves [[Cookbook:Garlic|garlic]], peeled * 1 large bunch [[Cookbook:Cilantro|cilantro]] macho or common cilantro, washed (with roots if possible but just the leaves and stems are fine) * 10–12 ají dulce [[Cookbook:Chiles|chile peppers]], seeded (e.g. ''ají cachucha'', ''quechucha'', ''ajicito'', or ''ají gustoso'') * 10 leaves of [[Cookbook:Culantro|culantro]] (recao), or another handful of cilantro * 3–4 ripe plum [[Cookbook:Tomato|tomatoes]], seeded, cored and cut into chunks or roasted then skin and seeds removed * 1 large red [[Cookbook:Bell Pepper|bell pepper]], cored, seeded and cut into large chunks or roasted first then seeds and some skin removed === Rice === * ½ [[Cookbook:Cup|cup]] extra-virgin [[Cookbook:Olive Oil|olive oil]] * 1 [[Cookbook:Tablespoon|tablespoon]] achiote ([[Cookbook:Annatto|annatto]]) seeds * 3 cups sofrito (recipe above) * ½ cup coarsely-[[Cookbook:Chopping|chopped]] [[Cookbook:Alcaparrado|alcaparrado]] (manzanilla [[Cookbook:Olive|olives]], pimiento, and [[Cookbook:Caper|capers]]) * 3 tablespoons of salt * 1 tablespoon fresh cracked black [[Cookbook:Pepper|pepper]] * 1 tablespoon [[Cookbook:Cumin|cumin]] seeds or ground cumin or more to taste * 2 teaspoons [[Cookbook:Coriander|coriander]] seeds or ground coriander or more to taste * 5 tablespoons (⅓ cup) chopped [[Cookbook:Mexican Mint|Mexican mint]] (optional) * 2 green plantains or 3 green bananas grated * 1–2 whole pieces of smoked ham hock or smoked turkey, depending how big just for flavor * 1½ [[Cookbook:Pound|pounds]] Puerto Rican [[Cookbook:Salami|salami]] (salchichón), [[Cookbook:Ham|ham]], or chorizo, [[Cookbook:Dice|diced]] * 6 cups medium grain [[Cookbook:Rice|rice]] (do not rinse) * 1 bag (13 [[Cookbook:Ounce|ounces]]) of frozen [[Cookbook:Pigeon Pea|pigeon peas]] or 1 can (15 ounces) of pigeon peas * About 7 cups beef, chicken, turkey, or vegetable [[Cookbook:Broth|broth]] * 6 [[Cookbook:Bay Leaf|bay leaves]] or avocado leaves * 1 [[Cookbook:Banana|banana]] leaf or [[Cookbook:Plantain|plantain]] leaf (optional) ==Procedure== === Sofrito === # Add chopped onions to [[Cookbook:Blender|blender]], and blend until liquefied. #With the motor running, add the remaining sofrito ingredients one at a time and process until smooth. #Remove and reserve 3 cups of sofrito for rice. === Rice === # Heat the oil and annatto seeds in a small [[Cookbook:Skillet|skillet]] over medium heat just until the seeds give off a lively, steady sizzle. Don't overheat the mixture or the seeds will turn black and the oil green. Once they're sizzling, pull the pan from the heat and let stand until the sizzling stops. Strain as much of the oil as you can into a heavy 5-quart pot or [[Cookbook:Dutch Oven|Dutch oven]] and let it stand for at least 5 minutes. # Lightly toast the cumin and coriander seeds in a small skillet over low heat for a few minutes before grinding them releases flavor and aroma. Keep an eye on them, they turn dark fast. Grind in a little [[Cookbook:Spice Grinder|spice grinder]], [[Cookbook:Coffee Grinder|coffee mill]], or [[Cookbook:Mortar and Pestle|mortar and pestle]]. # If using frozen pigeon peas, boil them for 10 minutes before using. If using from a can, drain the liquid and rinse the peas. # Re-heat oil over high heat until rippling. Stir in ham hock and salami and brown. Add sofrito, alcaparrado, grated plantain, and salt. Cook until sofrito stops boiling and sizzles, about 5 minutes. # Add cumin, coriander, orégano brujo, bay leaves or avocado leaves, and black pepper. Cook, stirring in the sofrito for an additional 30–45 seconds until the aroma release from spices. # Stir in the rice and peas until everything is mixed together and rice is coated with oil all over. Stir in enough broth or water to cover the rice by the width of two fingers. Top with banana leaf (or pan lid), folding it up as necessary to fit over rice or can cut what ever sticks out pot. # Bring to a boil, then boil without stirring until the level of liquid meets the rice. Remove the banana leaf, give the rice a big stir, and put leaf back on top. # Reduce the heat to low, cover the pot with lid, and cook until the water has been absorbed and the rice is tender (about 20 minutes). == Notes, tips, and variations == * The remaining sofrito will keep in the refrigerator for up to 3 days or freeze in ice trays and it will last a month. Tomatoes can be roasted and passed threw a strainer, removing seeds and skin as an option. Red peppers are usually roasted on an open flame before blending into sofrito. * Homemade broth is best, but you can use store-bought or water. [[Category:Caribbean recipes]] [[Category:Puerto Rican recipes]] [[Category:Meat recipes]] [[Category:Rice recipes]] [[Category:Main course recipes]] [[Category:Aji dulce recipes]] [[Category:Annatto recipes]] [[Category:Bay leaf recipes]] [[Category:Red bell pepper recipes]] [[Category:Caper recipes]] [[Category:Cilantro recipes]] [[Category:Coriander recipes]] [[Category:Culantro recipes]] [[Category:Pigeon pea recipes]] [[Category:Cumin recipes]] [[Category:Beef broth and stock recipes]] [[Category:Turkey broth and stock recipes]] [[Category:Vegetable broth and stock recipes]] [[Category:Chicken broth and stock recipes]] [[Category:Ham recipes]] lkz3dxceqfjaghg1ke5o2hfsz3steqg Embedded Systems/Linux 0 133124 4444303 4439057 2024-11-10T17:24:19Z Conan 3188 /* Real-time */ Transclusion 4444303 wikitext text/x-wiki {{DISPLAYTITLE:Embedded Linux}} {{w|Linux on embedded systems|Embedded Linux systems}} can range from consumer electronics like smartphones and smart TVs to industrial machinery, medical devices, automotive systems, communication equipment and more. Linux brings the power, flexibility, and stability to these resource-constrained devices. Core components of an Linux on embedded systems are {{w|boot loader}}, custom {{w|Linux kernel}} and {{w|root file system}}. Source code is compiled by {{w|Cross_compiler#GCC_and_cross_compilation|GCC cross compiler}}. Common boot loader is {{w|Das U-Boot}} &ndash; the Universal Boot Loader. Root FS usually is based on {{w|BusyBox}} &ndash; software suite that provides many Unix utilities in a single executable file. Local debugging often is limited, so {{w|gdbserver}} can be used. Basic embedded Linux system can be compiled manually from modules above. There are tools for complete system generation from old and simple {{w|Buildroot}} to huge {{w|Yocto Project}}, which creates customized embedded Linux distributions. PC distributions {{w|Debian}}, {{w|Ubuntu}} ant others have build for {{w|ARM architecture|ARM}} processors. {{w|Raspberry Pi}}, {{w|BeagleBoard}} and {{w|Nvidia Jetson}} are examples of popular {{w|single-board computer}}s supporting embedded Linux. Unlike regular desktop or server distributions of Linux these versions of Linux usually have much fewer libraries and application, {{w|firmware}} is smaller and typically boot from {{w|flash memory}} or {{w|SD card}}. == Projects == === Build frameworks and environments === : {{w|Wear OS}} &ndash; Android for smartwatches and other wearables. : {{w|Android_(operating_system)#AOSP|AOSP &ndash; Android Open Source Project}} : {{w|Buildroot}} &ndash; old simple patch and make based build environment : {{w|Yocto Project}} and {{w|OpenEmbedded}} &ndash; a {{w|BitBake}} based build framework and environment : {{w|BitBake}} &ndash; make-like build tool : {{w|OpenWrt}} &ndash; open wireless router : {{w|Embeddable Linux Kernel Subset}} &ndash; for ancient 16-bit x86 machines and emulators === Components === : [[The Linux Kernel]] : "{{w|init}}" implementations: {{w|OpenRC}}, {{w|runit}} : GUIs: {{w|LXQt}}, {{w|LXDE}}, {{w|Xfce}}, {{w|FLTK}} : {{w|coreboot}} &ndash; lightweight {{w|BIOS}} ==== {{w|C standard library}} variants ==== : General purpose {{w|GNU C Library}} glibc, 7.9 MB : {{w|uClibc}}, 560 KB : {{w|musl}}, 527 KB : {{w|dietlibc}}, 185 KB : {{w|Newlib}} : {{w|klibc}} &ndash; primarily for booting Linux systems : {{W|Bionic (software)|Bionic}} &ndash; originally developed by Google for the Android embedded system operating system Further reading: : [http://www.etalabs.net/compare_libcs.html Comparison of C/POSIX standard library implementations for Linux] : [http://events17.linuxfoundation.org/sites/events/files/slides/libc-talk.pdf Choosing System C library] == Distributions == Distributions for {{w|ARM architecture|ARM}} processors: : {{w|Arch Linux ARM}} &ndash; port of {{w|Arch Linux}} for {{w|ARM architecture|ARM}} processors : {{w|Armbian}} &ndash; {{w|Debian}} and {{w|Ubuntu_(operating_system)|Ubuntu}} based : {{w|RedSleeve}} &ndash; port of {{w|Red Hat Enterprise Linux}} : {{w|emteria.OS}} &ndash; proprietary {{w|Android (operating system)|Android}} based Lightweight cloud oriented systems: : {{w|Alpine Linux}} &ndash; uses {{w|musl}}, {{w|BusyBox}} and {{w|OpenRC}}. : {{w|Fedora_Linux#CoreOS|Fedora CoreOS}} : [https://docs.openshift.com/container-platform/latest/architecture/architecture-rhcos.html RHCOS &ndash; Red Hat Enterprise Linux CoreOS] for {{w|OpenShift Container Platform}} : https://MicroShift.io/ &ndash; lightweight Kubernetes distribution designed for edge and IoT computing environments Lightweight multi-platform distributions: : {{w|Gentoo Linux}} : {{w|Tiny Core Linux}} : {{w|Kali Linux}} : {{w|Lubuntu}} : {{w|Slackware}} : {{w|Void Linux}} : {{w|Xubuntu}} Common multi-platform distributions: : {{w|Debian}} : {{w|Fedora (operating system)|Fedora}} : {{w|openSUSE}} : {{w|Ubuntu_(operating_system)|Ubuntu}} == Features of Linux kernel for embedded systems == : I/O and buses: :: '''GPIO''' ::: {{The Linux Kernel/source|drivers/gpio}}, {{The Linux Kernel/source|tools/gpio}}, {{The Linux Kernel/doc|General Purpose Input/Output|driver-api/gpio}} :: '''SPI''' ::: {{The Linux Kernel/source|drivers/spi}}, {{The Linux Kernel/source|tools/spi}}, {{The Linux Kernel/doc|Serial Peripheral Interface|spi}} :: '''I<sup>2</sup>C''' ::: ⚲ UAPI: {{The Linux Kernel/doc|Instantiate I2C devices from user-space|i2c/instantiating-devices.html?#method-4-instantiate-from-user-space}} ::: {{The Linux Kernel/source|drivers/i2c}}, https://i2c.wiki.kernel.org ::: {{The Linux Kernel/doc|I2C/SMBus Subsystem|i2c}} :: {{The Linux Kernel/source|drivers/net/can}} &ndash; {{w|CAN bus|Controller Area Network bus}} :: {{The Linux Kernel/source|drivers/mfd}} &ndash; [https://www.kernel.org/doc/Documentation/devicetree/bindings/mfd/mfd.txt Multi-Function Devices] : {{The Linux Kernel/source|drivers/usb/gadget}} &ndash; peripheral USB device implementation : {{The Linux Kernel/source|drivers/iio}} &ndash; Industrial I/O : {{The Linux Kernel/source|drivers/pwm}} &ndash; {{w|Pulse-width modulation}} : {{The Linux Kernel/source|drivers/regulator}} &ndash; Generic Voltage and Current Regulator support : {{The Linux Kernel/source|drivers/fpga}} : {{The Linux Kernel/source|drivers/slimbus}} : {{w|SLOB}} &ndash; Simple List Of Blocks memory allocator : {{w|Devicetree}} &ndash; describes hardware components for the kernel === Multimedia === : Audio :: ASoC &ndash; ALSA System on Chip :: {{The Linux Kernel/id|snd_soc_card}} :: {{The Linux Kernel/doc|ASoC &ndash; ALSA SoC Layer|sound/soc}} :: https://www.alsa-project.org/wiki/ASoC : TFT (LCD) &ndash; {{w|Thin-film-transistor liquid-crystal display}} :: {{The Linux Kernel/id|fbtft_display}} === File systems and storage === : {{w|UBIFS}} &ndash; Unsorted Block Image FS : {{w|SquashFS}} &ndash; a compressed read-only FS with low {{w|Overhead (computing)|overhead}} : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} block device : More: {{w|YAFFS}}, {{w|JFFS2}} === MMU less === Linux was originally designed on a processor with a {{w|memory management unit}} (MMU). Most embedded systems do not have a MMU, as we discussed earlier ([[Embedded Systems/Memory]]) and are called {{w|microcontroller}}s. Microcontrollers without a MMU are cheaper consumes less power. Benefits of using a processor with a MMU: : can isolate running "untrusted" machine code from running "critical" code, so the "untrusted" code is guaranteed (in the absence of hardware failures) not to interfere with the "critical" code : makes it easier for the OS to present the illusion of virtual memory : can run "normal" Linux (could also run "μClinux", but what's the point?) {{w|μClinux}} &ndash; "MicroController Linux" is a version of the Linux kernel that supports Altera NIOS, ARM, Freescale M68K (including DragonBall, ColdFire, PowerQUICC and others), Hitachi H8, MIPS, and Xilinx MicroBlaze processors. Disabling parameter [https://elixir.bootlin.com/linux/latest/K/ident/CONFIG_MMU CONFIG_MMU] enables nommu mode. === Real-time === People use a variety of methods to combine {{w|Real-time computing|real-time}} tasks with Linux: # Run the real-time tasks on a dedicated microcontroller; communicate with a (non-real-time) PC that handles non-real-time tasks. This is pretty much your only choice if you need real-time response times below 1 microsecond. # Run the real-time tasks in a "underlying" dedicated real-time operating system; run Linux as a "nested operating system" inside one low-priority task on top of the real-time operating system. Some of these systems claim real-time response times below 500 microseconds. # use a Linux kernel designed to emphasize real-time tasks, and run the real-time tasks with a high priority (perhaps even as a kernel thread). Examples of RT distributions: : {{w|Xenomai}} : {{w|RTAI}} : {{w|RTLinux}} : {{w|MontaVista#Linux|MontaVista Linux}} : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time Red Hat Enterprise Linux for Real Time] : [https://ubuntu.com/blog/real-time-ubuntu-is-now-generally-available Real-time Ubuntu] Several RT features provide real time capabilities: : RT preemption : RT scheduling : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ticklesskernel Dynticks (Tickless, nohz)] {{:The Linux Kernel/Multitasking/Real-time}} === ... === Further readings about Embedded Linux: : [https://www.youtube.com/playlist?list=PLbzoR-pLrL6pY8a8zSKRC6-AihFrruOkq Embedded Linux Conference (ELC) @ EOSS 2023] : https://elinux.org : {{w|Category:Embedded_Linux}} : {{w|Linux kernel interfaces}} : ARM support :: {{The Linux Kernel/source|arch/arm}}, {{The Linux Kernel/doc|ARM Architecture|arch/arm}} :: https://lwn.net/Kernel/Index/#Architectures-ARM :: {{The Linux Kernel/source|arch/arm64}}, {{The Linux Kernel/doc|ARM64 Architecture|arch/arm64}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-5.html architecture-specific initialization] : [[Learning the vi Editor]] {{Shelves|Linux}} {{BookCat}} o1vazn9a0uzj6rtt66vvpkldi8bwfzo 4444320 4444303 2024-11-10T19:12:06Z Conan 3188 /* Real-time */ 4444320 wikitext text/x-wiki {{DISPLAYTITLE:Embedded Linux}} {{w|Linux on embedded systems|Embedded Linux systems}} can range from consumer electronics like smartphones and smart TVs to industrial machinery, medical devices, automotive systems, communication equipment and more. Linux brings the power, flexibility, and stability to these resource-constrained devices. Core components of an Linux on embedded systems are {{w|boot loader}}, custom {{w|Linux kernel}} and {{w|root file system}}. Source code is compiled by {{w|Cross_compiler#GCC_and_cross_compilation|GCC cross compiler}}. Common boot loader is {{w|Das U-Boot}} &ndash; the Universal Boot Loader. Root FS usually is based on {{w|BusyBox}} &ndash; software suite that provides many Unix utilities in a single executable file. Local debugging often is limited, so {{w|gdbserver}} can be used. Basic embedded Linux system can be compiled manually from modules above. There are tools for complete system generation from old and simple {{w|Buildroot}} to huge {{w|Yocto Project}}, which creates customized embedded Linux distributions. PC distributions {{w|Debian}}, {{w|Ubuntu}} ant others have build for {{w|ARM architecture|ARM}} processors. {{w|Raspberry Pi}}, {{w|BeagleBoard}} and {{w|Nvidia Jetson}} are examples of popular {{w|single-board computer}}s supporting embedded Linux. Unlike regular desktop or server distributions of Linux these versions of Linux usually have much fewer libraries and application, {{w|firmware}} is smaller and typically boot from {{w|flash memory}} or {{w|SD card}}. == Projects == === Build frameworks and environments === : {{w|Wear OS}} &ndash; Android for smartwatches and other wearables. : {{w|Android_(operating_system)#AOSP|AOSP &ndash; Android Open Source Project}} : {{w|Buildroot}} &ndash; old simple patch and make based build environment : {{w|Yocto Project}} and {{w|OpenEmbedded}} &ndash; a {{w|BitBake}} based build framework and environment : {{w|BitBake}} &ndash; make-like build tool : {{w|OpenWrt}} &ndash; open wireless router : {{w|Embeddable Linux Kernel Subset}} &ndash; for ancient 16-bit x86 machines and emulators === Components === : [[The Linux Kernel]] : "{{w|init}}" implementations: {{w|OpenRC}}, {{w|runit}} : GUIs: {{w|LXQt}}, {{w|LXDE}}, {{w|Xfce}}, {{w|FLTK}} : {{w|coreboot}} &ndash; lightweight {{w|BIOS}} ==== {{w|C standard library}} variants ==== : General purpose {{w|GNU C Library}} glibc, 7.9 MB : {{w|uClibc}}, 560 KB : {{w|musl}}, 527 KB : {{w|dietlibc}}, 185 KB : {{w|Newlib}} : {{w|klibc}} &ndash; primarily for booting Linux systems : {{W|Bionic (software)|Bionic}} &ndash; originally developed by Google for the Android embedded system operating system Further reading: : [http://www.etalabs.net/compare_libcs.html Comparison of C/POSIX standard library implementations for Linux] : [http://events17.linuxfoundation.org/sites/events/files/slides/libc-talk.pdf Choosing System C library] == Distributions == Distributions for {{w|ARM architecture|ARM}} processors: : {{w|Arch Linux ARM}} &ndash; port of {{w|Arch Linux}} for {{w|ARM architecture|ARM}} processors : {{w|Armbian}} &ndash; {{w|Debian}} and {{w|Ubuntu_(operating_system)|Ubuntu}} based : {{w|RedSleeve}} &ndash; port of {{w|Red Hat Enterprise Linux}} : {{w|emteria.OS}} &ndash; proprietary {{w|Android (operating system)|Android}} based Lightweight cloud oriented systems: : {{w|Alpine Linux}} &ndash; uses {{w|musl}}, {{w|BusyBox}} and {{w|OpenRC}}. : {{w|Fedora_Linux#CoreOS|Fedora CoreOS}} : [https://docs.openshift.com/container-platform/latest/architecture/architecture-rhcos.html RHCOS &ndash; Red Hat Enterprise Linux CoreOS] for {{w|OpenShift Container Platform}} : https://MicroShift.io/ &ndash; lightweight Kubernetes distribution designed for edge and IoT computing environments Lightweight multi-platform distributions: : {{w|Gentoo Linux}} : {{w|Tiny Core Linux}} : {{w|Kali Linux}} : {{w|Lubuntu}} : {{w|Slackware}} : {{w|Void Linux}} : {{w|Xubuntu}} Common multi-platform distributions: : {{w|Debian}} : {{w|Fedora (operating system)|Fedora}} : {{w|openSUSE}} : {{w|Ubuntu_(operating_system)|Ubuntu}} == Features of Linux kernel for embedded systems == : I/O and buses: :: '''GPIO''' ::: {{The Linux Kernel/source|drivers/gpio}}, {{The Linux Kernel/source|tools/gpio}}, {{The Linux Kernel/doc|General Purpose Input/Output|driver-api/gpio}} :: '''SPI''' ::: {{The Linux Kernel/source|drivers/spi}}, {{The Linux Kernel/source|tools/spi}}, {{The Linux Kernel/doc|Serial Peripheral Interface|spi}} :: '''I<sup>2</sup>C''' ::: ⚲ UAPI: {{The Linux Kernel/doc|Instantiate I2C devices from user-space|i2c/instantiating-devices.html?#method-4-instantiate-from-user-space}} ::: {{The Linux Kernel/source|drivers/i2c}}, https://i2c.wiki.kernel.org ::: {{The Linux Kernel/doc|I2C/SMBus Subsystem|i2c}} :: {{The Linux Kernel/source|drivers/net/can}} &ndash; {{w|CAN bus|Controller Area Network bus}} :: {{The Linux Kernel/source|drivers/mfd}} &ndash; [https://www.kernel.org/doc/Documentation/devicetree/bindings/mfd/mfd.txt Multi-Function Devices] : {{The Linux Kernel/source|drivers/usb/gadget}} &ndash; peripheral USB device implementation : {{The Linux Kernel/source|drivers/iio}} &ndash; Industrial I/O : {{The Linux Kernel/source|drivers/pwm}} &ndash; {{w|Pulse-width modulation}} : {{The Linux Kernel/source|drivers/regulator}} &ndash; Generic Voltage and Current Regulator support : {{The Linux Kernel/source|drivers/fpga}} : {{The Linux Kernel/source|drivers/slimbus}} : {{w|SLOB}} &ndash; Simple List Of Blocks memory allocator : {{w|Devicetree}} &ndash; describes hardware components for the kernel === Multimedia === : Audio :: ASoC &ndash; ALSA System on Chip :: {{The Linux Kernel/id|snd_soc_card}} :: {{The Linux Kernel/doc|ASoC &ndash; ALSA SoC Layer|sound/soc}} :: https://www.alsa-project.org/wiki/ASoC : TFT (LCD) &ndash; {{w|Thin-film-transistor liquid-crystal display}} :: {{The Linux Kernel/id|fbtft_display}} === File systems and storage === : {{w|UBIFS}} &ndash; Unsorted Block Image FS : {{w|SquashFS}} &ndash; a compressed read-only FS with low {{w|Overhead (computing)|overhead}} : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} block device : More: {{w|YAFFS}}, {{w|JFFS2}} === MMU less === Linux was originally designed on a processor with a {{w|memory management unit}} (MMU). Most embedded systems do not have a MMU, as we discussed earlier ([[Embedded Systems/Memory]]) and are called {{w|microcontroller}}s. Microcontrollers without a MMU are cheaper consumes less power. Benefits of using a processor with a MMU: : can isolate running "untrusted" machine code from running "critical" code, so the "untrusted" code is guaranteed (in the absence of hardware failures) not to interfere with the "critical" code : makes it easier for the OS to present the illusion of virtual memory : can run "normal" Linux (could also run "μClinux", but what's the point?) {{w|μClinux}} &ndash; "MicroController Linux" is a version of the Linux kernel that supports Altera NIOS, ARM, Freescale M68K (including DragonBall, ColdFire, PowerQUICC and others), Hitachi H8, MIPS, and Xilinx MicroBlaze processors. Disabling parameter [https://elixir.bootlin.com/linux/latest/K/ident/CONFIG_MMU CONFIG_MMU] enables nommu mode. === Real-time === People use a variety of methods to combine {{w|Real-time computing|real-time}} tasks with Linux: # Run the real-time tasks on a dedicated microcontroller; communicate with a (non-real-time) PC that handles non-real-time tasks. This is pretty much your only choice if you need real-time response times below 1 microsecond. # Run the real-time tasks in a "underlying" dedicated real-time operating system; run Linux as a "nested operating system" inside one low-priority task on top of the real-time operating system. Some of these systems claim real-time response times below 500 microseconds. # use a Linux kernel designed to emphasize real-time tasks, and run the real-time tasks with a high priority (perhaps even as a kernel thread). Examples of RT distributions: : {{w|Xenomai}} : {{w|RTAI}} : {{w|RTLinux}} : {{w|MontaVista#Linux|MontaVista Linux}} : [https://docs.redhat.com/en/documentation/red_hat_enterprise_linux_for_real_time/9 Red Hat Enterprise Linux for Real Time] : [https://ubuntu.com/blog/real-time-ubuntu-is-now-generally-available Real-time Ubuntu] Several RT features provide real time capabilities: : RT preemption : RT scheduling : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ticklesskernel Dynticks (Tickless, nohz)] {{:The Linux Kernel/Multitasking/Real-time}} === ... === Further readings about Embedded Linux: : [https://www.youtube.com/playlist?list=PLbzoR-pLrL6pY8a8zSKRC6-AihFrruOkq Embedded Linux Conference (ELC) @ EOSS 2023] : https://elinux.org : {{w|Category:Embedded_Linux}} : {{w|Linux kernel interfaces}} : ARM support :: {{The Linux Kernel/source|arch/arm}}, {{The Linux Kernel/doc|ARM Architecture|arch/arm}} :: https://lwn.net/Kernel/Index/#Architectures-ARM :: {{The Linux Kernel/source|arch/arm64}}, {{The Linux Kernel/doc|ARM64 Architecture|arch/arm64}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-5.html architecture-specific initialization] : [[Learning the vi Editor]] {{Shelves|Linux}} {{BookCat}} c2x18iv4jr8ywjpuywk32z92ojb836o Vehicle Identification Numbers (VIN codes)/Volvo/VIN Codes 0 142027 4444356 4444263 2024-11-11T01:01:07Z JustTheFacts33 3434282 /* Position 4: Vehicle Code */ 4444356 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} [[w:Volvo Cars|Volvo Cars]] uses the following [[Https://en.wikipedia.org/wiki/VIN|VIN]] codes and formats: These VIN number decoding and designation is used primarily only for the North American Market. European and other Asian markets use another nomenclature systems. Volvo Car Corporation is a registered Swedish based company that was headed by parent group FoMoCo PAG until 2010 when Ford Motor Company sold it to Geely Automobile Holdings Ltd. The Volvo Car Corp still has concerns with its past parent AB Volvo when it comes to vehicle safety systems, crash testing, engines, ocean races, and some parts. Volvo Car Corp uses World Manufacturer Identifiers beginning with YV and 7JR. == Volvo VIN History and Updates== The Volvo Cars group started using a standard VIN pattern in 1975 on the 164 and 240 series vehicles. Since the VIN specification had not been defined yet, the codes are a somewhat different configuration than modern VIN codes yet still contain much of the same information. The most distinguishable features are the 2 character manufacturer identifier "VC" and 15 character length. At least European models of 240 series prior to 1981 may have a VIN with 13 characters, or even 12 characters, in this case VIN omitting one number where a two-number motor code should be, right before the year-of-manufacture-letter (B, E, H,L,M for years 1975-1979, respectively). Examples in the internet often prefix the VIN with "VC" or "YV", but this is not always present in these older models. In 1981 Volvo changed the VIN pattern in accordance with the ISO Standard 3779 for vehicle VIN numbers. Volvo cars sold in North America from 1981 to 1991 had a VIN pattern that is slightly different than Volvo cars produced after 1991. The most significant changes in the post 1991 VIN were the 5th and 8th position characters. The 5th character was changed from representing the safety equipment to represent the body style and safety equipment. This also helped ease the integration of front wheel drive configurations (850 series) into the existing VIN pattern. It seems likely that the old (81-91) position 8 character was combined with the position 5 codes in 1992 which resulted in new codes in the 5th character position. This left the 8th character position open to represent the engine emission control setup. With the discontinuation of the rear wheel drive models, Ford acquisition, and new series designations (C, S and V series and later XC) in 1999, Volvo VIN patterns changed again. The main change came again to the 5th character representing body style and safety equipment. After 1998 the 5th character changed to represent the vehicle platform. While the information being represented by the character position was somewhat backwards compatible with the codes used prior to 1999, it should be considered representational of a different data set. After 1999 the 4th character should also be considered representational of a new data set for vehicle code to with the change of series designations. In 2008 the U.S. National Highway Transportation and Safety Administration decided to change the structure of the VIN pattern. For model year 2010 and forward all cars with market code 31 and 39 (USA and Canada) position 4-5 change places with position 6-8 (i.e. 12345678 becomes 12367845). ==Position 1 - 3: World Manufacturer Identifier== *YV1 = Passenger Cars *YV2 = Trucks *YV3 = Buses *YV4 = Multipurpose Passenger Vehicle *YV5 = Trucks - Incomplete Vehicle *XLB = passenger cars built by Volvo Car BV / NedCar BV *LVY = Passenger Cars made in Daqing, China *LYV = Passenger Cars & Multipurpose Passenger Vehicles made in Chengdu & Luqiao District of Taizhou, China *PNV = Passenger Cars made in Malaysia *7JD = Multipurpose Passenger Vehicles made in USA *7JR = Passenger Cars made in USA *MHA = PT. Central Sole Agency ==Position 4: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[1981-1998]'''!!colspan=2|'''[1999-2009]''' |- |'''A'''||240||2006- S80||XC90 (2015+) |- |'''B'''||260||2008- V70, XC70|| |- |'''C'''|| ||XC90 (2002-2014)|| |- |'''D'''||1983-85 760 sedan, 1985 740 sedan || ||XC60 |- |'''E'''||480|| || |- |'''F'''||'85 740 wagon, '86-'92 740|| ||New S60/V60 |- |'''G'''||'85 760 wagon, '86-'90 760|| ||V60 Plug-In Hybrid |- |'''H'''||780 Coupe|| || |- |'''J'''||940|| || |- |'''K'''||440, 960||S90, V90|| |- |'''L'''||460, 850||S70, V70||XC90 (2015+) |- |'''M'''|| ||S40, V50, C30, C70 ||2013- V40 |- |'''N'''|| ||C70 1st gen.|| |- |'''P''' | | |V90 Plug-In Hybrid |- |'''R'''|| ||2000-2009 S60|| |- |'''S'''|| ||2000-2007 V70, XC70|| |- |'''T'''|| ||1999-2006 S80|| |- |'''V'''|| ||S40, V40 1st gen.|| |- |2 | | |EX30 |} ==Position 7: Vehicle Code== {| class="wikitable sortable" |+ ! !!'''[2010-]''' |- |'''A'''||S80 (2010-2014), S80 2wd (2015-2016) |- |'''A'''||S90 T5 2wd (2017-2019), S90 T8 PHEV Awd (2018-) |- |'''B'''||V70 (2010), XC70 (2010-2014), XC70 2wd (2015-2016) |- |'''C'''||XC90 (2010-2014) |- |'''C'''||XC90 7-seat 2wd (2016-), XC90 7-seat T8 PHEV Awd (2019-) |- |'''D'''||XC60 (2010-2014), XC60 2wd (2015-2017) |- |'''D'''||XC60 T8 PHEV Awd (2018-), XC60 T5 2wd (2019-), XC60 T8 PHEV Polestar Engineered Awd (2020-) |- |'''E'''||V60 2wd (2015-2021), V60 T8/Recharge PHEV Awd (Canada: 2020-2023), V60 T8 PHEV Polestar Engineered Awd (2020-) |- |'''F'''||S60 (2011-2014), S60 2wd (2015-), S60 Inscription (LWB) 2wd (2016) |- |'''F'''||S60 2wd (2019-), S60 T8 PHEV Awd (2019-), S60 T8 PHEV Polestar Engineered Awd (2020-) |- |'''G'''||V90 2wd (2018-2021) |- |'''H'''||V60 Cross Country Awd (2015-2016) |- |'''H'''||S60 Inscription (LWB) 2wd (2017-2018) |- |'''H'''||XC40 T4 2wd (2019-) |- |'''J'''|| |- |'''K'''||XC90 5-seat 2wd (2016-) |- |'''L'''|| |- |'''M'''||S40 & V50 (2010-2011), C30 (2010-2013), C70 (2010-2013) |- |'''M'''||S80 Awd (2015) |- |'''M'''||S90 T6 Awd (2017-) |- |'''N'''||XC70 Awd (2015-2016) |- |'''N'''||V90 Cross Country Awd (2017-) |- |'''P'''||XC90 7-seat T5 Awd, T6 Awd (2016-), XC90 7-seat T8 PHEV Awd (2016-2018) |- |'''R'''||XC60 Awd (2015-2017) |- |'''R'''||XC60 T5, T6 Awd (2018-) |- |'''S'''||V60 Awd (2015-2019), V60 T6 Awd (Canada: 2020-2022), V60 B6 Awd (Canada: 2023) |- |'''T'''||S60 Awd (2015-2018), S60 Inscription (LWB) Awd (2016-2018) |- |'''T'''||S60 T6 Awd (2019-) |- |'''U'''||S60 Cross Country Awd (2016-2018) |- |'''U'''||XC40 T5 Awd (2019-) |- |'''V'''||V90 Awd (2017: Canada only, 2018-2021: US & Canada) |- |'''W'''||V60 Cross Country Awd (2017-) |- |'''X'''||XC90 5-seat Awd (2016-2018) |- |'''X'''||XC40 T5 Awd (2019) certain models |- |'''Y'''||EX30 2wd (2025-) |- |'''Z'''||XC90 Excellence 4-seat Awd (2017-2019) |- |'''Z'''||EX30 Awd (2025-) |- |'''0'''||XC90 6-seat T8 PHEV Awd (2020-) |- |'''1'''||XC90 6-seat T6 Awd (2020-) |- |} ==Position 5: Safety Equipment, Body Style, Platform Code== '''[1981-1991] Safety Equipment''' *A = Air bag + 3-point safety harness (seat belt) *C = Air bag + 3-point safety harness (seat belt) + seat belt tensioners *X = 3-point safety harness (seat belt) *Y = 3-point safety harness (seat belt) + seat belt tensioners '''[1992-1998] Body and Safety Equipment''' *S = Sedan (4-door) with Air Bag & 3-Point Safety Harness (Seat Belt) + seat belt pretensioners *W = Wagon (5-door) with Air Bag & 3-Point Safety Harness (Seat Belt) + seat belt pretensioners *T = Sedan (4-door) 3-Point Safety Harness (Seat Belt) - Canada *X = Wagon (5-door) 3-Point Safety Harness (Seat Belt) - Canada '''[1999-Present] Vehicle Platform''' *C = All-New C70 *F = XC90 (2015+) *H = S40 AWD, S60 AWD, S80 AWD *J = V50 AWD, V70 AWD *K = C30 FWD *L = XC60 2WD *M = XC90 5-Seater AWD *N = XC90 5-Seater FWD *R = XC90 5-Seater AWD *S = S40 FWD, S60 FWD, S80 FWD *T = XC90 R-Design *V = V40 FWD *W = V50 FWD, V60 FWD, V60 AWD, V60 Plug-In Hybrid (AWD), V70 FWD, V70 AWD *Y = XC90 7-Seater FWD *Z = XC60 AWD, XC70 AWD, XC90 7-Seater AWD, EX30 '''[2013-Present] ''' *M = V40, V40 Cross Country AWD ==Position 6- 7: Engine Code== Vin Engine *11 = B17A *15 = B20F *16 = B4204S *20 = B200G *21 = B19A, B200FT *22 = B200GT *24 = B19E/B200E *25 = B204FT *26 = B19ET *27 = B200F *37 = D20 *41 = B21A *44 = B21E *45 = B21F (1976-81 US, 1976-80 CDN, 1976-84 JAPAN) *46 = B21ET *47 = B21FT *48 = B21F-LH (LH-Jet 1.0) *49 = B21F-MPG (1981-82) *61 = B27A *62 = B28A *64 = B27E *65 = B27F *68 = B28E, B280E *69 = B28F, B280F *74 = D24 TIC with EGR *75 = D24 TIC without EGR *76 = D24T *77 = D24 (1980-1984) *80 = B230G *81 = B23A, B230A, B230FK *82 = B230GT, B230FD (LH 3.1) *83 = B230FD w/pulsair (LH 2.4) *84 = B23E, B230E, B230GK *85 = B230FB *86 = B23ET, B230ET (1983-88), B230FT - EGR (1994-98?) *87 = B23FT (LH 2.1), B230FT (LH 2.2, 2.4) - non EGR (1984-98) *88 = B23F (1983-1984 - LH 2.0), B230F/FS (1985-95 - LH 2.2, 2.4) *89 = B234F *92 = B6244F *93 = B6254F *95 = B6304F/S 1992-94 *96 = B6304S 1995-98 *98 = N6304G *99 = B6254G *11/12 = B4164 1995-2004 105HK *10 = B4164S2 2000-2004 109HK *13 = B4184SM 1998-2000 125HK *15 = B4184S3 *12 = B4184S 1.8 1995-1999 115HK *14 = B4184S2 1.8 2000-2004 122HK *26 = B4184SJ 1.8i 1995-2004 125HK *28 = B4184S10 *30 = B4184S9 *16 = B4204S 2.0 1995-2004 137HK *17 = B4204S2 2.0 1995-2004 136HK *19 = B4204T 2.0T 1998 160HK *25 = B4204T2 2.0T 1999-2000 160HK *29 = B4204T3 2.0T 2001-2004 160HK *27 = B4204T4 *18 = B4194T T4 1998-1999 200HK *24 = B4194T2 2000 200HK *37 = B4204T5 2001-2004 200HK *73 = D4192T2 1.9d 1999-2001 95HK *78 = D4192T4 D 2001-2004 102HK *70 = D4192T3 1.9D 2001-2004 115HK *04 = B4204S4 C30/S40/V50/V70 2.0 Flexifuel FWD *08 = B4184S8 C30/S40/V50/V70 1.8 Flexifuel FWD *17 = B4204S2 V40 2.0L FWD *18 = B4194T V40 1.9L Turbo FWD *20 = B4164S3 C30 1.6 FWD *21 = B4184S11 V50/S40 1.8 *30 = D5244T18 XC90 2.4 AWD *31 = D5204T7 XC60 *38 = B5244S4 C30/S40/V50 2.4i FWD *39 = B5244S7 S40/V50 2.4i FWD *40 = B4204T11 S60/V60 2.0 T5 FWD *41 = B5202S 850/V70 2.0i FWD *43 = B5204T3 850/V70/S80 2.0 T5 FWD, or B4204S3 S80(2.0F 2007-2010) *47 = B5204T 850/V70 2.0 T5 FWD *50 = B5234T4 V70 R AWD *51 = B5252S 850/V70 2.5i FWD or D5204T6 V40/V40CC D3/D4 *52 = B5254T4 S60/V70 R AWD *53 = B5234T3 S60/V70 T5 FWD *54 = B5244T5 S60 T5 FWD *55 = B5254S; B5254FS 850/V70/S70 FWD *56 = B5254T S70/V70 GLT FWD V70 XC AWD - 1999 *56 = B5244T 2000 - *57 = B5234T 850/V70 2.3T FWD Turbo *58 = B5234T5 1995-1997 850 T-5R/R ; B5244T3 S60/V70/S80/XC70 2000 - *59 = B5254T2 S80/S60/XC90 2.5T FWD/AWD, V70 2.5T FWD, XC70 AWD *60 = B5254T10 V70/S80 2.5t FWD/AWD *61 = B5244S S60/V70 2.4 FWD *64 = B5244S6 S60/V70 2.4 FWD *65 = B5244S2 S80/V70/S60 2.4 FWD *66 = B5244S5 S40/V50 2.4 FWD *67 = B5254T7 C30/C70/V50 T5 FWD/AWD *68 = B5254T3 S40/V50 T5 FWD/AWD *69 = D5244T5 S80/V70 2.4D FWD *70 = D4192T3 S40/V40 *70 = D5244T10 XC60 AWD D5(205) *71 = D5244T4 V70 AWD D5(185), XC90 AWD D5(185) *72 = D5252T S70/S80 2.5TDi FWD *73 = D4204T5 S60/V60 *73 = D4192T2 S40/V40 *74 = D5244T2 *75 = D4204T C30, S40 2.0D *76 = D4164T V50, 1.6D (PSA-Ford Engine) *77 = D5244T8 S40 D5 AT *78 = D4192T4 S40/V40 *79 = D5244T D5(163) *81 = D5244T7 V70 2.4 D5 93kW (2005-2007) *82 = D5244T15 XC60/V60 AWD D5(215) *84 = D4162T C30, V50, V70, S60 1.6D/DRIVe (PSA-Ford Engine) *85 = B8444S XC90/S80 V8 AWD *88 = D5204T3 XC60 *90 = B6284T S80 2.8 T6 *91 = B6294T S80/XC90 2.9 T6 *94 = B6294S S80 2.9 FWD *97 = B6304S S80 2.9 FWD *98 = B6324S XC90/S80/V70 3.2 FWD/XC70 AWD *99 = B6304T4 S80 3.0 T6 AWD *A0 = B4204T43 S60/V60 Polestar 2.0L (362 hp) *A2 = B4204T27 S60/V60, XC60, S90/V90, XC90 2.0 T6 (320 hp) *A3 = B4204T29 S60/V60, XC60, S90/V90, XC90 2.0 T6 (310 hp) *A4 = D4204T11 S60/V60, XC90 D5 *A5 = D5244T21 V60 2.4 D4 *A6 = D4204T12 XC40 D4 *A8 = D4204T14 V40, V60, 2.0 D4 *A9 = B6304T5 S60/V60 Polestar 3.0L (350 hp) *AA = D82PHEV V60 Plug-In Hybrid *AC = B4204T47 XC40 T4 *AJ = D5244T22 (220 hp) *BR = B4204TSH S60/V60 T8, S90/V90 T8, XC60 T8, XC90 T8 (313hp+87hp) *BK = B4204TSH S60/V60/XC60 T8 Polestar Engineered (328hp+87hp) *H5 = XC90 T8 (313hp+87hp) ==Position 8: Body Style/Emissions Code== '''[1981-1991] Body Style''' *2 = 2 Door / 2 Door Coupe (US/Canada 780 Coupe by Bertone) *4 = 4 Door *5 = 5 Door (Wagon) *7 = 2 Door Coupe (262C Coupe by Bertone) '''[1992-Present] Emission Control Equipment''' *0 = Federal (49-state) non-EGR Bosch / Engine codes 55, 82, 83, 87, 88, 95; SULEV+ (Super Ultra Low Emissions Vehicle) / Engine Codes 39, 55, 64, 72 *1 = 50-state w/EGR Bosch / Engine codes 55, 57, 82, 83, 86, 88, 95 *2 = ULEV2 (Ultra Low Emissions Vehicle) / Engine Codes 38, 41, 51, 59, 61, 67, 68, 85, 98, 99 *3 = Federal (49-state) non-EGR Bendix / Engine Code 88 *4 = Engine Codes 71 *5 = ? *7 = LEV2 (Low Emissions Vehicle) / Engine Codes 52, 54 *8 = Engine Codes 70 *C = EURO 6 *D = L6 *K = What the mean??? *L = What does it mean? *V = what does it mean? *U = PHEV ==Position 9: Gearbox/Check Digit== * USA /Canada [[Vehicle Identification Numbers (VIN codes)/Check digit|Check digit]] * Elsewhere used for gearbox: : 700/900/90 series gearbox : 1 = M90 manual : 2 = M46 Manual : 3 = M47 Manual : 5 = ZF22 : 6 = AW70/71/72 lock-up : 7 = AW70/71 no lock-up : 850/60/70/80 series : 1 = M59 manual : 2 = M56 Manual : 3 = M58 Manual : 4 = M66 Manual : 5 = AW55-51SN Auto : 6 = AW42 Auto : 7 = AW50AWD Auto : 8 = AW42AWD Auto : 9 = AW55-50SN Auto C30/V50, AW55-51 S40D5 AT : 0 = [[wikipedia:AWTF-80_SC|AWTF-80 SC]] : 2 = MTX75 Manual : D = Automatic ==Position 10: Year Model Code== ''See: [[Vehicle Identification Numbers (VIN codes)/Model year]]'' ==Position 11: Plant of Assembly Code== *0 = [Sweden] Kalmar Plant *1 = [Sweden] Torslanda Plant VCT 21(Volvo Torslandaverken) (Gothenburg) *2 = [Belgium] Ghent Plant VCG 22 *3 = [Canada] Halifax, Nova Scotia Plant *4 = [Thailand] - Samut Prakarn (Thai-Swedish Assembly Co. Ltd.) *5 = [Malaysia] - Shah Alam (Volvo Car Manufacturing Malaysia Sdn. Bhd.) *6 = [Australia] - Clayton, Victoria (Motor Producers Ltd./Nissan Motor Australia) *7 = [Indonesia] - North Jakarta (PT Indonesia Swedish Manufacturing Co.) *A = [Sweden] Uddevalla Plant VCU 38 (Volvo Cars) 1991-1993 940 *B = [China] - Chengdu, Sichuan Province *D = [Italy] - Grugliasco. Bertone plant: 262C (US/CDN), 780 *E = [Singapore] - Jurong (Singapore Nissan Motors) *F = [The Netherlands] Born Plant (NEDCAR) *G = [United States] Charleston Plant - Ridgeville, South Carolina *J = [Sweden] Uddevalla Plant (AutoNova/Pininfarina Sverige AB) C70 *L = [China] - Luqiao District, Taizhou, Zhejiang Province *P = [China] - Daqing, Heilongjiang Province *S = [China] - Zhangjiakou, Hebei Province {{BookCat}} ewb7qtncm8rgobow80eupemmz2rbl50 Photography Equipment/What should I get? 0 147825 4444337 4443653 2024-11-10T22:37:17Z 102.168.143.13 $250000 4444337 wikitext text/x-wiki ===== {{DISPLAYTITLE:Photography Equipment/Introduction for beginners: What should I get?}} ===== =It depends.$25000/= The numTheerous options available today can be overwhelming, furthermore, entire publications dedicate themselves to talking about the necessity of the latest camera gear. However, digital cameras starting from 2012 and lenses from at least [[wikipedia:Cooke_triplet|1893]] are able to produce top-quality results, that easily find themselves on large posters, magazine front covers and much more. Knowing what to buy and what will serve you well, will protect you from overspending. If you are seriously interested in photography and just starting out, you are generally best served with a camera with an interchangeable lens. In photography, the lens is the most important factor for technical image quality, the camera is secondary. Furthermore, optics have had minor developments for more than 100 years, so you have a massive catalogue of affordable, high-quality optics, even more so in the used market. As for the camera itself, it should be“[[wikipedia:Raw_image_format|RAW]] capable”, that '''is the most important aspect''' '''of the camera body.''' “[[wikipedia:Raw_image_format|RAW]] capable” means that the camera can output the unaltered sensor data to a storage medium, this will open an entire world of new creative possibilities for you and can even save shots you thought you missed. == All that glitters is not gold == Pure technological capability is meaningless, if your audience cannot enjoy it. It does not matter if a camera is able to produce 20 % better results than the average, if the “worst” model already far exceeds the capability of the human eye. If you buy a camera that is above the average, do it, because you like it, or you need that model’s capability for a specific application, not because it is so terribly useful everywhere. Photography is a social art-form and not the technophilic science of ever increasing capability or quality. == Introduction to camera classes == === Compact Digitals === These are for casual photographers: "point & shoot" If you do not want to dedicate much time or money, want a camera that fits in a pocket or purse, and just want to easily take photos to view on computers or small prints, compact digitals are ideal, and the choice of 100 million people per year. Conversely, they are generally of lower quality than more advanced cameras, their automatic operation takes control of the image away from the photographer and they lack interchangeable lenses, although, they retract the lenses into the body, which gives them a tiny foot print, more akin to a phone, rather than a camera. === 35mm Digital Single Lens Reflex (DSLR) and Mirrorless cameras === The ideal choice for hobbyists and professionals alike. 35mm cameras are suitable for all purposes, they can provide excellent quality and are reasonably portable and affordable. New cameras start from below € 500.00 and used ones are even cheaper. 35mm cameras today are all mirrorless, they show you a video of what the sensor is seeing. Therefore, exposure, compositional aides, remaining shots and much more is being presented to you as it happens in real time. Preferably, choose a mirrorless camera, as they have adapters to almost all lens mounts that were ever created and therefore have superior lens choice. Digital Single Lens Reflex (DSLR) cameras do not have these two benefits, other than that, they are identical. Over 5 million bodies are sold per year. === Digital Medium Format (> 35 mm) === Top quality, at a high price. Digital “Medium Format” cameras are designed to achieve optimal image quality, at the expense of everything else. While nowadays most medium format cameras are as portable as 35mm cameras, they are expensive, significantly slower and strict in their workflow. They are meant to be used on high-end commercial sets or in the studio, where you have controlled lighting and actors. While the price hike from high-end 35mm to medium format is manageable, as your first, or hobby camera, they are a bad choice. That being said, they have the highest image quality of any digital camera by far. Their optics are second to none, due to sensor size, they have significantly more resolution, better tonal reproduction, higher dynamic range, superior accuracy in colour reproduction and much more. If you pursue a career in art, high-end advertising photography or scientific imaging, they are the tool of choice. === Large Format (≥ 9 x 12 cm) === Unique images and unique baggage. Large Format refers to any sensory medium that is at least 9 x 12 cm large. They are specialised cameras, most of them need a tripod to be even properly used. They are heavy, bulky and the by far slowest, many of them even require their own suitcase to be transported. They are exclusive to film, as a digital large format sensor costs about € 375,000.00; needs to be cooled with liquid nitrogen and is only custom manufactured for high-end telescopes. Their benefit however, is that the position of the lens and the film cassette can be freely changed, this allows you to manipulate your image in ways the other formats cannot natively do. Digital cameras can do some of their perspective correction, but that requires a high-resolution image and even then, is only an approximation of this effect. The larger your sensor or film, the more natural the perspective of your image will be, as this is a side-effect of magnification. Spaces and objects will look more like they do to normal human vision and naturally, large format has the this effect to the strongest extent. Lastly, if loaded with the right film, they will surpass the resolution of even high-end digital medium format significantly. == Sensor size == [[File:SensorSizes.svg|thumb|Relative [[w:Image sensor format|sensor sizes]] of common formats.]] The key reason that compact digitals are disdained by serious photographers is that the sensors are small. All else equal, a bigger sensor is better – the typical compact [[w:Image sensor format|digital sensor size]] is 25 mm<sup>2</sup>, while the smallest DSLR sensors are 9 times bigger, more typically 13–15 times bigger, with the biggest DSLR sensors being over 34 times bigger. This results in a major difference in quality, but an increase in cost and size – bigger sensors are harder to make, and require bigger (and heavier) lenses. The larger sensors in DSLRs provide ''very significant'' advantages in low-light sensitivity, [[w:dynamic range|dynamic range]] and [[w:image noise|image noise]].<ref>{{cite web|url=http://www.clarkvision.com/imagedetail/digital.sensor.performance.summary/index.html|title= Digital Camera Sensor Performance Summary|author=R. N. Clark|publisher=ClarkVision.com|date=2008-12-26}}</ref> Sensors have a “crop factor”, which derives magnification, the ''lower the crop factor'', the ''larger the sensor'' and ''the less the magnification'' of said sensor; the reverse applies. This means wider lenses are needed for general use, hence the added magnification of the sensor needs to be offset by the lens. An all-rounder camera should have a '''crop factor of at most 1.5,''' smaller sensors than that will have degraded performance in all situations, adding to that is the severely limited lens choice, as you will need extremely wide lenses to accommodate the massive magnification of a small sensor. Common crop factors are: {| class="wikitable" |+ !Sensor Class !Size !Crop Factor |- |Micro Four Thirds |17.3 x 13.0 mm |2 |- |APS-C |23.5 x 15.6 mm |1.5 |- |35 mm |36.0 x 24.0 mm |1 |- |Common smaller Medium Format |43.8 x 32.9 mm |0.8 |- |Digital 645 Medium Format |53.4 x 40.0 mm |0.644 |} Focal length in a lens, which is printed on the lens tube in millimetres, together with the crop factor of the sensor, will both influence the field of view. Human vision is similar to a 42 mm lens on a Crop Factor 1 camera. If the focal length is longer than 42 mm, the more an object will be magnified; the reverse applies again. If the same 42 mm lens were mounted on an APS-C (Crop Factor: 1.5) camera, the field of view will be equal to a 63 mm lens (63 mm = 42 mm x 1.5) on a Crop Factor 1 camera. A crop factor of 1.5 is still manageable, has increased reach and can be beneficial for optical quality, as it will only use the centre of the lens, which is its best part. If you were to mount a 600 mm lens for wildlife photography on an APS-C camera, you will actually have a 900 mm lens, for sports/action/wildlife and macro photography an APS-C camera is especially beneficial. The quality gap between APS-C and 35mm sensors is minor. The most commonly manufactured lenses have a focal length of 50 mm and thus are very close to natural human vision. APS-C cameras will enhance the optical quality of those lenses, but they will be effectively 75 mm, which could be limiting, depending on the application. A Crop factor of 2 is more akin to a compact digital camera, since the sensor will have significantly degraded performance and to get a workable field of view, extreme wide angle lenses need to be used, which is detrimental in all applications, considering that extreme wide angle lenses (< 35 mm focal length) add a high amount of extension distortion, which cannot be removed. Close objects seem closer, than they are and far objects seem farther than they are. You can photograph your own face closely with your phone and see how distorted especially the nose, cheekbones and chin will be. For starting out, both 35 mm or APS-C cameras are a good choice, choosing a system depends on what you want. You can either go with the extremely flexible 35 mm sensors, or the slightly more inflexible APS-C sensors, which enhance optical quality, at the cost of higher magnification. ==Compact digitals== Compact digitals vary greatly in appearance, interface, and features, and substantially in price, but rather little in image quality. Specific models are hard to recommend because of the rapid replacement cycle in this category. Biggest issues (beyond price) are generally portability (does it fit where you want to carry it?) and usability: does the interface work for you? ''Auxiliary camera.'' Compact cameras are widely used and recommended as auxiliary cameras – a camera is no good if it is at home – and thus many photographers will carry around a pocket or purse-sized camera when not on a specifically photographic expedition. ''Ignore pixel count.'' At these sensor sizes, higher pixels yield higher noise which swamp the higher resolution and instead yield ''worse'' image quality, not better. * [http://photo.net/equipment/best-digital-camera/ The Best Digital Cameras], by Philip Greenspun These have caused some measure of excitement, as they allow high quality images in a camera that can easily be carried around and thus are suited as an auxiliary camera for when one does not wish to carry around a DSLR. == Bridge cameras == [[w:Bridge camera|Bridge camera]]s — cameras between compact digitals and DSLRs — form an amorphous category, which has become essentially obsolete. If quality is a concern, buy an entry-level DSLR or mirror-less camera; if budget is a concern, buy a compact digital and play to its strengths. === Usual meaning === They generally mean "a small sensor with a big lens" – thus a style similar to a DSLR, but with a small sensor and hence relatively poor image quality. By comparison with compact digitals, they have bigger and faster lenses – hence can take photographs in lower light and of moving objects – while by comparison with DSLRs the lenses are much easier to make, and hence are generally super-zoom. These fill a niche which is increasingly small as the price of DSLRs has come down, and one is almost always better served by an entry level DSLR or mirror-less camera. Currently in the US<ref>(2009-APR)</ref> entry DSLRs (with kit lens) retail for $375 (Nikon D40) to $600 (Canon Digital Rebel XSi), while bridge cameras are in the $250 to $400 range. === Micro Four Thirds System === The “[[wikipedia:Micro_Four_Thirds_system|Micro Four Thirds]]” system is a joint standard of Panasonic and Olympus, which feature a small sensor and were targeted primarily at the video-market; before [[wikipedia:Media_processor|media processors]] were capable enough for that application. Cameras with this system have both interchangeable and fixed lenses, although, they posses a Crop Factor of 2, which means that all regular lenses are effectively unusable. To get usable lenses, you will be locked in to the manufacturers of the [[wikipedia:Micro_Four_Thirds_system|Micro Four Thirds]] system and the only other lens choice you have is the “[[wikipedia:C_mount|C-Mount]]” system, which is a special system of interchangeable lenses designed for machine vision tasks, microscopes, surveillance cameras and extremely compact television cameras. While they used to have their niche, since a smaller sensor enabled manufacturers to build a smaller camera and made high-speed processing applications, such as quality video recordings, cheaply possible, they have developed into the missing middle, that no one asked for. Hence media processors, together with the larger APS-C, 35 mm and even medium format sensors, are nowadays superior in the ''only niche'' that the Micro Four Thirds system excelled at, there is no positive aspect left, that would offset the system’s massive flaw – the Crop Factor of 2. == DSLR and mirror-less cameras == It used to be that if you were buying a camera, you were primarily buying into that manufacturers system, however, thanks to mirror-less cameras and their enabling of lens adapting, that is largely false nowadays. Largely false, since modern lenses are electronically controlled, meaning when adapting lenses manufactured after ~2017 to a different mount, you would lack control over it. More on adapting lenses in the chapter “[[adapting lenses]]”. Since about 2012, it is basically impossible to buy an APS-C or 35 mm camera with bad image output. All APS-C and 35 mm cameras output RAW data and are fully capable of producing professional results. While there are minute differences between cameras, such as in gain behaviour (“high ISO” capability), signal-to-noise ratio, colour reproduction, or others; they are often times negligible for professionals and hobbyists alike. The largest differentiator between models is how “fast” they are. In sports/action/wildlife photography, a camera with quick auto-focus capability and a high number of frames per second taken (≥ 7 fps), is useful. On the other hand, if you were to frequently make large prints (> ISO A2), a higher resolution camera will be useful. Any camera in this class can do anything and everything, again, it depends on what you primarily need and is therefore better for your application. As for camera systems, there are many to choose from. Bellow are the most common and notable ones. === Fujifilm === Fujifilm manufactures APS-C and medium format cameras. They are renowned for their quality native optics. Their APS-C cameras feature a variation of the usual [[wikipedia:Bayer_filter|“Bayer” colour filter array]], Fujifilm claims that this [[wikipedia:Fujifilm_X-Trans_sensor|“X-Trans” arrangement]] enhances colour reproduction and resolution, while minimising moiré and therefore eliminate the need for an optical low-pass filter. Their medium format cameras use a conventional Bayer colour filter, this is because of the increased processing requirements for X-Trans, according to Fujifilm. === Nikon === [[File:Micro-Nikkor AFS VR 105 mm lens bayonet.jpg|thumb|The flange of a current F-mount lens, including aperture lever (upper left) and CPU contacts (bottom).]] Nikon is known for having the largest lens product line of any camera or optics manufacturer. Their catalogue includes many extremely high quality lenses, which are perfectly adapted to other cameras, thanks to their long standing tradition of purely mechanical control. Their “[[wikipedia:Nikon_F-mount|Nikon F]]” bayonet was introduced in 1959 and up until about 2016, all [[wikipedia:Nikon_F-mount|Nikon F]] apertures were controlled exclusively mechanically. Even if their pre-2016 lenses lack an aperture ring, as long as there is a slit with a small lever sticking out of the mounting bayonet, it can be controlled via the adapter on a non-Nikon camera. Nikon themself sells the “FTZ” adapters, such that [[wikipedia:Nikon_F-mount|Nikon F]] lenses can be mounted on their newer mirror-less “Nikon Z” mount cameras. === Sony === Sony is responsible for kicking off the transition from DSLR to mirror-less cameras, at the time they were at the cutting edge for professional video. Their native optics range is considered subpar, it is best to adapt other manufacturer’s lenses to Sony cameras. === Panasonic (35 mm product line) === Panasonic used to be the primary manufacturer for Micro Four Thirds cameras, nowadays they almost exclusively manufacture 35 mm sensor cameras, their mount system is the [[wikipedia:Leica_L-Mount|Leica L]] mount system, which shared by multiple other manufacturers and therefore has the most ''natively'' supported lens mount. == Lenses == Lenses are the number one aspect that changes your images and at that irreversibly so. One lens might have better resolution, the other better inter-tonal detail and another might render the out-of-focus blur significantly better than both. All optical designs have their negatives; there are no lenses which are “perfect” and in optical design there is always a price to pay. That is exactly what makes lenses interesting, every lens has unique characteristics which permanently imprint themselves onto every image they create. As explained previously, lenses have a focal length, which together with the crop factor of your camera dictate the field of view. 42 mm on Crop Factor 1 is almost perfectly natural human vision. Additionally, lenses have an aperture, the ''lower'' the number is, the ''more light'' it lets into the camera and the ''less the area of acceptable focus'' (depth of field) is. The higher the number, the more light is needed to achieve a normally exposed picture and the larger the area of acceptable focus (depth of field) will be. The aperture of a lens is printed on the lens tube as well; a 50 mm F2.8 lens will have 50 mm focal length and a maximum aperture of 2.8, maximum meaning wide-open. Most lenses have their highest resolution, when making the aperture smaller, usually between F8 to F11. As a first lens, it is recommended to buy a professional standard zoom lens, native to your camera mount, as this will give you the usual luxuries such as autofocus, automatic aperture control and more. Most professional standard zoom lenses have the 24-70 mm focal length and a fixed aperture of 2.8. If a professional lens is outside of your budget, use a [[wikipedia:Nikon_F-mount|Nikon F]] adapter to use the “Nikkor 28-85 mm f/3.5-4.5 AF”, which is extremely affordable costing < €100.-, it has a macro-switch to focus very close and the quality is good, with the price in consideration however, the quality is astounding. In general, one begins with a '''[[Photography_Equipment/Lenses/Overview#Standard_Lenses|standard lens]]''', and subsequently buys lenses as necessary for particular subjects. See [[../Lenses|lenses]] for details. As a standard lens, most commonly people use the zoom lens that is included with the DSLR body (called the '''[[w:kit lens|kit lens]]'''). Indeed, many people use no other lenses, and thus reap relatively little of the flexibility benefits that a DSLR affords. Others decry this practice<ref>http://photo.net/equipment/building-a-digital-slr-system/</ref> and suggest instead that one use a (prime) [[w:normal lens|normal lens]]. Kit lenses are not the highest quality zoom lenses, having low Image Quality and being slow (hence needed lots of light and not being capable of Depth of Field effects); they sometimes may be a good value though. Some common recommendations follow. * [http://www.bobatkins.com/photography/digital/10d300dlenses.html Canon Lenses Overview by Bob Atkins], especially for APS-C (Rebel, 20D/30D/40D) * [http://www.the-digital-picture.com/Canon-Lenses/Canon-General-Purpose-Lens.aspx General Purpose Canon Lenses (from The-Digital-Picture)] Sample professional collections: *[http://www.luminous-landscape.com/reviews/lenses/canon_lenses.shtml Canon lenses] *[http://www.outbackphoto.com/reviews/equipment/lenses/ronreznick.html Nikon lenses] ====Canon==== [[Photography Equipment/Lenses/Canon standard]] =====Standard Zoom===== * kit lenses: [[w:Canon EF-S 18-55mm lens|Canon EF-S 18-55mm]]: considered very soft * [[w:Canon EF-S 17-55mm lens|Canon EF-S 17-55mm]] ($1,300) excellent general-purpose lens =====Standard Prime===== * Sigma 30mm f/1.4 for Canon ($400) ====Nikon==== [[Photography Equipment/Lenses/Nikon standard]] =====Standard Zoom===== * Kit ** Nikkor 18-55mm (various versions) ** [[w:Nikon 18-70mm f/3.5-4.5G ED-IF AF-S DX Zoom-Nikkor|Nikon 18-70mm f/3.5-4.5]] * Nikkor 28-105mm f/3.5-4.5, ~$325 * [http://www.cameralabs.com/reviews/Nikkor_kit_lens_group_test/ Comparison of popular Nikon zoom lenses] * Nikkor 28-115mm =====Standard Prime===== * Sigma 30mm f/1.4 for Nikon ($400) ==Medium Format == Medium Format (MF) . Digital backs (bodies/sensors) exist, but are quite expensive or limited in their availability. Medium format may be the most vague sensory medium category, as it starts from the nameless 0.8 Crop Factor, purely digital Medium format up until 6x9 cm, exclusive to film, it even includes special formats like the 24x65 mm format, shot by the Fujifilm TX panorama cameras. Medium format has one thing in common however, very high quality with a very slow workflow. The quality is one of the main reasons as to why it is so slow. When you have a 16 Megapixel sensor on APS-C for example, errors in focus, sensor dust, or other defects, will not be recorded since the resolution is to low, that changes when your sensor is more than 60-100 Megapixels, while still having massive photodiodes. Every small error in tonality, focus, or others will be recorded perfectly well. Since focus is now critical, Medium Format cameras need to precisely focused, either manually, or with autofocus, which will take much more time, adding to that, are their lenses, which have a significantly reduced depth of field since they are longer focal lengths and being used closer to a subject, than on cameras with smaller sensory mediums. Medium Format cameras find themselves on high-end advertising sets, or with professional artists needing to make very large prints, or in scientific imaging applications. There are nowadays only a few manufacturers of digital medium format cameras. === Phase One === Phase One A/S is truly embracing the mantra of quality, at the expense of everything else. Even in the Medium Format class, their optics are significantly ahead in terms of quality, compared with the competition. A single lens costs between € 6,000.- and € 12,000.-, with one camera body about € 10,000.- and finally a digital back costing between € 40,000.- and € 50,000.-. Although, in the used market, it is a different story, a camera body can be had for about 10-30 % compared to the new price, their newest generation digital back for about 50 %, or an older “[[wikipedia:Charge-coupled_device|CCD]]” generation, with almost identical specifications and performance, for < 10 % of a new digital back. The lenses are the most affordable, since the newest “blue-ring” generation is just a product line consolidation after their acquisition of Mamiya, another Medium Format camera and optics manufacturer, the blue ring lenses being equipped with a [[wikipedia:Shutter_(photography)#Diaphragm_shutter|leaf shutter]] and autofocus for the two optically identical Mamiya 645 AF lenses, while all "Silver Ring" series lenses had both from the start. All Mamiya 645 AF lenses are compatible with the XF camera body and the older film lenses are compatible with the predecessor model “Mamiya/Phase One 645 DF”. To make the XF camera accept older film lenses, refer to the chapter "[[adapting lenses]]". Below is a table outlining their lens product catalogue and which optical formula is identical and therefore yields equal performance, at a fraction of the price: {| class="wikitable" |+ !Modern "Blue Ring" Lens !Optical Formula Identical to Predecessor “Silver Ring” Series? !Optical Formula Identical to Mamiya 645 |- |Schneider Kreuznach 40-80mm LS f/4.0-5.6 |Yes |/ |- |Schneider Kreuznach 75-150mm LS f/4.0-5.6 |Yes |/ |- |Schneider Kreuznach 35 mm f3,5 LS D |No |/ |- |Schneider Kreuznach LS 45mm f/3.5 |No |/ |- |Schneider Kreuznach 55mm LS f/2.8 |Yes |/ |- |Schneider Kreuznach 80mm LS f/2.8 (MK.I) |Yes |/ |- |Schneider Kreuznach 80mm LS f/2.8 (MK.II) |No |/ |- |Schneider Kreuznach 110mm LS f/2.8 |Yes |/ |- |Schneider Kreuznach 120mm LS f/4.0 Macro |/ |Mamiya 645 120mm f/4.0 Macro MF |- |Schneider Kreuznach 150mm LS f/3.5 |Yes |Mamiya 645 150mm f/3.5 AF |- |Schneider Kreuznach 150mm LS f/2.8 IF |/ |/ |- |Schneider Kreuznach 240mm LS f/4.5 IF |Yes |/ |} === Fujifilm === Fujifilm is the manufacturer responsible for making digital medium format affordable for the mass-market. While still more expensive than professional APS-C and 35mm, the price gap is rather manageable. Fujifilm medium format “GFX”-series cameras have the smaller and nameless 0.8 Crop Fact sensor format, meaning they are 43.8 x 32.9 mm large. Their lenses are extremely flexible medium format optics, as most of them have usual 35 mm niceties such as linear autofocus motors, image stabilisation and some feature very large apertures. If there were a middle-ground between traditional medium format and 35 mm, it would be the Fujifilm GFX product line. It’s Fujifilm G mount also has a range of adapters available for it, even for 35 mm mounts and although it is ''mechanically possible'' to mount lenses intended for smaller formats on a GFX camera, it should be avoided, as the image the sensor is now receiving will be far outside it’s intended image circle and therefore the quality will be severely degraded or the image will be even missing entirely. In the menu it is possible to tell the camera, to only use a 36 x 24 mm centre crop of the sensor, although if you were to primarily use small picture lenses – and there are very good reasons to do so for most applications –, a GFX camera would be a waste of money. If you adapt lenses, it is recommended to exclusively adapt other medium format lenses, such as: * Mamiya 645 ** No control over modern, electronically controlled lenses. * Hasselblad V * Contax G * Contax 645 * Pentax 6x7 * Bronica ETR * ARRI PL ** Medium Format lenses are extremely rare, but available, for this bayonet. ===Film=== *[http://photo.net/equipment/medium-format/choosing Choosing a Medium Format Camera], by Philip Greenspun *[http://photo.net/equipment/large-format/choosing Choosing a Large Format Camera], by Philip Greenspun ===Digital=== MF backs exist that are similar to DSLR sensors: a full sensor. These are extremely expensive, but can be rented. == Large Format == LF backs are '''scanning backs''': a sensor the size of a LF image would be prohibitively expensive, so instead one uses a row of sensors which scans across the image, with exposures measured in minutes. They are thus only suited for photography of static objects. ==References== {{reflist}} *[http://photo.net/equipment/what-camera What Camera Should I Buy?], by Philip Greenspun {{BookCat}}{{DEFAULTSORT:Photography Equipment/Introduction for beginners: What should I get?}} oiuud4909wzdmodjuz8zpgqalcyuaw3 4444340 4444337 2024-11-10T22:54:30Z Kittycataclysm 3371989 Rejected the last text change (by [[Special:Contributions/102.168.143.13|102.168.143.13]]) and restored revision 4443653 by 3LM6wjuS 4444340 wikitext text/x-wiki {{DISPLAYTITLE:Photography Equipment/Introduction for beginners: What should I get?}} =It depends.= The numerous options available today can be overwhelming, furthermore, entire publications dedicate themselves to talking about the necessity of the latest camera gear. However, digital cameras starting from 2012 and lenses from at least [[wikipedia:Cooke_triplet|1893]] are able to produce top-quality results, that easily find themselves on large posters, magazine front covers and much more. Knowing what to buy and what will serve you well, will protect you from overspending. If you are seriously interested in photography and just starting out, you are generally best served with a camera with an interchangeable lens. In photography, the lens is the most important factor for technical image quality, the camera is secondary. Furthermore, optics have had minor developments for more than 100 years, so you have a massive catalogue of affordable, high-quality optics, even more so in the used market. As for the camera itself, it should be“[[wikipedia:Raw_image_format|RAW]] capable”, that '''is the most important aspect''' '''of the camera body.''' “[[wikipedia:Raw_image_format|RAW]] capable” means that the camera can output the unaltered sensor data to a storage medium, this will open an entire world of new creative possibilities for you and can even save shots you thought you missed. == All that glitters is not gold == Pure technological capability is meaningless, if your audience cannot enjoy it. It does not matter if a camera is able to produce 20 % better results than the average, if the “worst” model already far exceeds the capability of the human eye. If you buy a camera that is above the average, do it, because you like it, or you need that model’s capability for a specific application, not because it is so terribly useful everywhere. Photography is a social art-form and not the technophilic science of ever increasing capability or quality. == Introduction to camera classes == === Compact Digitals === These are for casual photographers: "point & shoot" If you do not want to dedicate much time or money, want a camera that fits in a pocket or purse, and just want to easily take photos to view on computers or small prints, compact digitals are ideal, and the choice of 100 million people per year. Conversely, they are generally of lower quality than more advanced cameras, their automatic operation takes control of the image away from the photographer and they lack interchangeable lenses, although, they retract the lenses into the body, which gives them a tiny foot print, more akin to a phone, rather than a camera. === 35mm Digital Single Lens Reflex (DSLR) and Mirrorless cameras === The ideal choice for hobbyists and professionals alike. 35mm cameras are suitable for all purposes, they can provide excellent quality and are reasonably portable and affordable. New cameras start from below € 500.00 and used ones are even cheaper. 35mm cameras today are all mirrorless, they show you a video of what the sensor is seeing. Therefore, exposure, compositional aides, remaining shots and much more is being presented to you as it happens in real time. Preferably, choose a mirrorless camera, as they have adapters to almost all lens mounts that were ever created and therefore have superior lens choice. Digital Single Lens Reflex (DSLR) cameras do not have these two benefits, other than that, they are identical. Over 5 million bodies are sold per year. === Digital Medium Format (> 35 mm) === Top quality, at a high price. Digital “Medium Format” cameras are designed to achieve optimal image quality, at the expense of everything else. While nowadays most medium format cameras are as portable as 35mm cameras, they are expensive, significantly slower and strict in their workflow. They are meant to be used on high-end commercial sets or in the studio, where you have controlled lighting and actors. While the price hike from high-end 35mm to medium format is manageable, as your first, or hobby camera, they are a bad choice. That being said, they have the highest image quality of any digital camera by far. Their optics are second to none, due to sensor size, they have significantly more resolution, better tonal reproduction, higher dynamic range, superior accuracy in colour reproduction and much more. If you pursue a career in art, high-end advertising photography or scientific imaging, they are the tool of choice. === Large Format (≥ 9 x 12 cm) === Unique images and unique baggage. Large Format refers to any sensory medium that is at least 9 x 12 cm large. They are specialised cameras, most of them need a tripod to be even properly used. They are heavy, bulky and the by far slowest, many of them even require their own suitcase to be transported. They are exclusive to film, as a digital large format sensor costs about € 375,000.00; needs to be cooled with liquid nitrogen and is only custom manufactured for high-end telescopes. Their benefit however, is that the position of the lens and the film cassette can be freely changed, this allows you to manipulate your image in ways the other formats cannot natively do. Digital cameras can do some of their perspective correction, but that requires a high-resolution image and even then, is only an approximation of this effect. The larger your sensor or film, the more natural the perspective of your image will be, as this is a side-effect of magnification. Spaces and objects will look more like they do to normal human vision and naturally, large format has the this effect to the strongest extent. Lastly, if loaded with the right film, they will surpass the resolution of even high-end digital medium format significantly. == Sensor size == [[File:SensorSizes.svg|thumb|Relative [[w:Image sensor format|sensor sizes]] of common formats.]] The key reason that compact digitals are disdained by serious photographers is that the sensors are small. All else equal, a bigger sensor is better – the typical compact [[w:Image sensor format|digital sensor size]] is 25 mm<sup>2</sup>, while the smallest DSLR sensors are 9 times bigger, more typically 13–15 times bigger, with the biggest DSLR sensors being over 34 times bigger. This results in a major difference in quality, but an increase in cost and size – bigger sensors are harder to make, and require bigger (and heavier) lenses. The larger sensors in DSLRs provide ''very significant'' advantages in low-light sensitivity, [[w:dynamic range|dynamic range]] and [[w:image noise|image noise]].<ref>{{cite web|url=http://www.clarkvision.com/imagedetail/digital.sensor.performance.summary/index.html|title= Digital Camera Sensor Performance Summary|author=R. N. Clark|publisher=ClarkVision.com|date=2008-12-26}}</ref> Sensors have a “crop factor”, which derives magnification, the ''lower the crop factor'', the ''larger the sensor'' and ''the less the magnification'' of said sensor; the reverse applies. This means wider lenses are needed for general use, hence the added magnification of the sensor needs to be offset by the lens. An all-rounder camera should have a '''crop factor of at most 1.5,''' smaller sensors than that will have degraded performance in all situations, adding to that is the severely limited lens choice, as you will need extremely wide lenses to accommodate the massive magnification of a small sensor. Common crop factors are: {| class="wikitable" |+ !Sensor Class !Size !Crop Factor |- |Micro Four Thirds |17.3 x 13.0 mm |2 |- |APS-C |23.5 x 15.6 mm |1.5 |- |35 mm |36.0 x 24.0 mm |1 |- |Common smaller Medium Format |43.8 x 32.9 mm |0.8 |- |Digital 645 Medium Format |53.4 x 40.0 mm |0.644 |} Focal length in a lens, which is printed on the lens tube in millimetres, together with the crop factor of the sensor, will both influence the field of view. Human vision is similar to a 42 mm lens on a Crop Factor 1 camera. If the focal length is longer than 42 mm, the more an object will be magnified; the reverse applies again. If the same 42 mm lens were mounted on an APS-C (Crop Factor: 1.5) camera, the field of view will be equal to a 63 mm lens (63 mm = 42 mm x 1.5) on a Crop Factor 1 camera. A crop factor of 1.5 is still manageable, has increased reach and can be beneficial for optical quality, as it will only use the centre of the lens, which is its best part. If you were to mount a 600 mm lens for wildlife photography on an APS-C camera, you will actually have a 900 mm lens, for sports/action/wildlife and macro photography an APS-C camera is especially beneficial. The quality gap between APS-C and 35mm sensors is minor. The most commonly manufactured lenses have a focal length of 50 mm and thus are very close to natural human vision. APS-C cameras will enhance the optical quality of those lenses, but they will be effectively 75 mm, which could be limiting, depending on the application. A Crop factor of 2 is more akin to a compact digital camera, since the sensor will have significantly degraded performance and to get a workable field of view, extreme wide angle lenses need to be used, which is detrimental in all applications, considering that extreme wide angle lenses (< 35 mm focal length) add a high amount of extension distortion, which cannot be removed. Close objects seem closer, than they are and far objects seem farther than they are. You can photograph your own face closely with your phone and see how distorted especially the nose, cheekbones and chin will be. For starting out, both 35 mm or APS-C cameras are a good choice, choosing a system depends on what you want. You can either go with the extremely flexible 35 mm sensors, or the slightly more inflexible APS-C sensors, which enhance optical quality, at the cost of higher magnification. ==Compact digitals== Compact digitals vary greatly in appearance, interface, and features, and substantially in price, but rather little in image quality. Specific models are hard to recommend because of the rapid replacement cycle in this category. Biggest issues (beyond price) are generally portability (does it fit where you want to carry it?) and usability: does the interface work for you? ''Auxiliary camera.'' Compact cameras are widely used and recommended as auxiliary cameras – a camera is no good if it is at home – and thus many photographers will carry around a pocket or purse-sized camera when not on a specifically photographic expedition. ''Ignore pixel count.'' At these sensor sizes, higher pixels yield higher noise which swamp the higher resolution and instead yield ''worse'' image quality, not better. * [http://photo.net/equipment/best-digital-camera/ The Best Digital Cameras], by Philip Greenspun These have caused some measure of excitement, as they allow high quality images in a camera that can easily be carried around and thus are suited as an auxiliary camera for when one does not wish to carry around a DSLR. == Bridge cameras == [[w:Bridge camera|Bridge camera]]s — cameras between compact digitals and DSLRs — form an amorphous category, which has become essentially obsolete. If quality is a concern, buy an entry-level DSLR or mirror-less camera; if budget is a concern, buy a compact digital and play to its strengths. === Usual meaning === They generally mean "a small sensor with a big lens" – thus a style similar to a DSLR, but with a small sensor and hence relatively poor image quality. By comparison with compact digitals, they have bigger and faster lenses – hence can take photographs in lower light and of moving objects – while by comparison with DSLRs the lenses are much easier to make, and hence are generally super-zoom. These fill a niche which is increasingly small as the price of DSLRs has come down, and one is almost always better served by an entry level DSLR or mirror-less camera. Currently in the US<ref>(2009-APR)</ref> entry DSLRs (with kit lens) retail for $375 (Nikon D40) to $600 (Canon Digital Rebel XSi), while bridge cameras are in the $250 to $400 range. === Micro Four Thirds System === The “[[wikipedia:Micro_Four_Thirds_system|Micro Four Thirds]]” system is a joint standard of Panasonic and Olympus, which feature a small sensor and were targeted primarily at the video-market; before [[wikipedia:Media_processor|media processors]] were capable enough for that application. Cameras with this system have both interchangeable and fixed lenses, although, they posses a Crop Factor of 2, which means that all regular lenses are effectively unusable. To get usable lenses, you will be locked in to the manufacturers of the [[wikipedia:Micro_Four_Thirds_system|Micro Four Thirds]] system and the only other lens choice you have is the “[[wikipedia:C_mount|C-Mount]]” system, which is a special system of interchangeable lenses designed for machine vision tasks, microscopes, surveillance cameras and extremely compact television cameras. While they used to have their niche, since a smaller sensor enabled manufacturers to build a smaller camera and made high-speed processing applications, such as quality video recordings, cheaply possible, they have developed into the missing middle, that no one asked for. Hence media processors, together with the larger APS-C, 35 mm and even medium format sensors, are nowadays superior in the ''only niche'' that the Micro Four Thirds system excelled at, there is no positive aspect left, that would offset the system’s massive flaw – the Crop Factor of 2. == DSLR and mirror-less cameras == It used to be that if you were buying a camera, you were primarily buying into that manufacturers system, however, thanks to mirror-less cameras and their enabling of lens adapting, that is largely false nowadays. Largely false, since modern lenses are electronically controlled, meaning when adapting lenses manufactured after ~2017 to a different mount, you would lack control over it. More on adapting lenses in the chapter “[[adapting lenses]]”. Since about 2012, it is basically impossible to buy an APS-C or 35 mm camera with bad image output. All APS-C and 35 mm cameras output RAW data and are fully capable of producing professional results. While there are minute differences between cameras, such as in gain behaviour (“high ISO” capability), signal-to-noise ratio, colour reproduction, or others; they are often times negligible for professionals and hobbyists alike. The largest differentiator between models is how “fast” they are. In sports/action/wildlife photography, a camera with quick auto-focus capability and a high number of frames per second taken (≥ 7 fps), is useful. On the other hand, if you were to frequently make large prints (> ISO A2), a higher resolution camera will be useful. Any camera in this class can do anything and everything, again, it depends on what you primarily need and is therefore better for your application. As for camera systems, there are many to choose from. Bellow are the most common and notable ones. === Fujifilm === Fujifilm manufactures APS-C and medium format cameras. They are renowned for their quality native optics. Their APS-C cameras feature a variation of the usual [[wikipedia:Bayer_filter|“Bayer” colour filter array]], Fujifilm claims that this [[wikipedia:Fujifilm_X-Trans_sensor|“X-Trans” arrangement]] enhances colour reproduction and resolution, while minimising moiré and therefore eliminate the need for an optical low-pass filter. Their medium format cameras use a conventional Bayer colour filter, this is because of the increased processing requirements for X-Trans, according to Fujifilm. === Nikon === [[File:Micro-Nikkor AFS VR 105 mm lens bayonet.jpg|thumb|The flange of a current F-mount lens, including aperture lever (upper left) and CPU contacts (bottom).]] Nikon is known for having the largest lens product line of any camera or optics manufacturer. Their catalogue includes many extremely high quality lenses, which are perfectly adapted to other cameras, thanks to their long standing tradition of purely mechanical control. Their “[[wikipedia:Nikon_F-mount|Nikon F]]” bayonet was introduced in 1959 and up until about 2016, all [[wikipedia:Nikon_F-mount|Nikon F]] apertures were controlled exclusively mechanically. Even if their pre-2016 lenses lack an aperture ring, as long as there is a slit with a small lever sticking out of the mounting bayonet, it can be controlled via the adapter on a non-Nikon camera. Nikon themself sells the “FTZ” adapters, such that [[wikipedia:Nikon_F-mount|Nikon F]] lenses can be mounted on their newer mirror-less “Nikon Z” mount cameras. === Sony === Sony is responsible for kicking off the transition from DSLR to mirror-less cameras, at the time they were at the cutting edge for professional video. Their native optics range is considered subpar, it is best to adapt other manufacturer’s lenses to Sony cameras. === Panasonic (35 mm product line) === Panasonic used to be the primary manufacturer for Micro Four Thirds cameras, nowadays they almost exclusively manufacture 35 mm sensor cameras, their mount system is the [[wikipedia:Leica_L-Mount|Leica L]] mount system, which shared by multiple other manufacturers and therefore has the most ''natively'' supported lens mount. == Lenses == Lenses are the number one aspect that changes your images and at that irreversibly so. One lens might have better resolution, the other better inter-tonal detail and another might render the out-of-focus blur significantly better than both. All optical designs have their negatives; there are no lenses which are “perfect” and in optical design there is always a price to pay. That is exactly what makes lenses interesting, every lens has unique characteristics which permanently imprint themselves onto every image they create. As explained previously, lenses have a focal length, which together with the crop factor of your camera dictate the field of view. 42 mm on Crop Factor 1 is almost perfectly natural human vision. Additionally, lenses have an aperture, the ''lower'' the number is, the ''more light'' it lets into the camera and the ''less the area of acceptable focus'' (depth of field) is. The higher the number, the more light is needed to achieve a normally exposed picture and the larger the area of acceptable focus (depth of field) will be. The aperture of a lens is printed on the lens tube as well; a 50 mm F2.8 lens will have 50 mm focal length and a maximum aperture of 2.8, maximum meaning wide-open. Most lenses have their highest resolution, when making the aperture smaller, usually between F8 to F11. As a first lens, it is recommended to buy a professional standard zoom lens, native to your camera mount, as this will give you the usual luxuries such as autofocus, automatic aperture control and more. Most professional standard zoom lenses have the 24-70 mm focal length and a fixed aperture of 2.8. If a professional lens is outside of your budget, use a [[wikipedia:Nikon_F-mount|Nikon F]] adapter to use the “Nikkor 28-85 mm f/3.5-4.5 AF”, which is extremely affordable costing < €100.-, it has a macro-switch to focus very close and the quality is good, with the price in consideration however, the quality is astounding. In general, one begins with a '''[[Photography_Equipment/Lenses/Overview#Standard_Lenses|standard lens]]''', and subsequently buys lenses as necessary for particular subjects. See [[../Lenses|lenses]] for details. As a standard lens, most commonly people use the zoom lens that is included with the DSLR body (called the '''[[w:kit lens|kit lens]]'''). Indeed, many people use no other lenses, and thus reap relatively little of the flexibility benefits that a DSLR affords. Others decry this practice<ref>http://photo.net/equipment/building-a-digital-slr-system/</ref> and suggest instead that one use a (prime) [[w:normal lens|normal lens]]. Kit lenses are not the highest quality zoom lenses, having low Image Quality and being slow (hence needed lots of light and not being capable of Depth of Field effects); they sometimes may be a good value though. Some common recommendations follow. * [http://www.bobatkins.com/photography/digital/10d300dlenses.html Canon Lenses Overview by Bob Atkins], especially for APS-C (Rebel, 20D/30D/40D) * [http://www.the-digital-picture.com/Canon-Lenses/Canon-General-Purpose-Lens.aspx General Purpose Canon Lenses (from The-Digital-Picture)] Sample professional collections: *[http://www.luminous-landscape.com/reviews/lenses/canon_lenses.shtml Canon lenses] *[http://www.outbackphoto.com/reviews/equipment/lenses/ronreznick.html Nikon lenses] ====Canon==== [[Photography Equipment/Lenses/Canon standard]] =====Standard Zoom===== * kit lenses: [[w:Canon EF-S 18-55mm lens|Canon EF-S 18-55mm]]: considered very soft * [[w:Canon EF-S 17-55mm lens|Canon EF-S 17-55mm]] ($1,300) excellent general-purpose lens =====Standard Prime===== * Sigma 30mm f/1.4 for Canon ($400) ====Nikon==== [[Photography Equipment/Lenses/Nikon standard]] =====Standard Zoom===== * Kit ** Nikkor 18-55mm (various versions) ** [[w:Nikon 18-70mm f/3.5-4.5G ED-IF AF-S DX Zoom-Nikkor|Nikon 18-70mm f/3.5-4.5]] * Nikkor 28-105mm f/3.5-4.5, ~$325 * [http://www.cameralabs.com/reviews/Nikkor_kit_lens_group_test/ Comparison of popular Nikon zoom lenses] * Nikkor 28-115mm =====Standard Prime===== * Sigma 30mm f/1.4 for Nikon ($400) ==Medium Format == Medium Format (MF) . Digital backs (bodies/sensors) exist, but are quite expensive or limited in their availability. Medium format may be the most vague sensory medium category, as it starts from the nameless 0.8 Crop Factor, purely digital Medium format up until 6x9 cm, exclusive to film, it even includes special formats like the 24x65 mm format, shot by the Fujifilm TX panorama cameras. Medium format has one thing in common however, very high quality with a very slow workflow. The quality is one of the main reasons as to why it is so slow. When you have a 16 Megapixel sensor on APS-C for example, errors in focus, sensor dust, or other defects, will not be recorded since the resolution is to low, that changes when your sensor is more than 60-100 Megapixels, while still having massive photodiodes. Every small error in tonality, focus, or others will be recorded perfectly well. Since focus is now critical, Medium Format cameras need to precisely focused, either manually, or with autofocus, which will take much more time, adding to that, are their lenses, which have a significantly reduced depth of field since they are longer focal lengths and being used closer to a subject, than on cameras with smaller sensory mediums. Medium Format cameras find themselves on high-end advertising sets, or with professional artists needing to make very large prints, or in scientific imaging applications. There are nowadays only a few manufacturers of digital medium format cameras. === Phase One === Phase One A/S is truly embracing the mantra of quality, at the expense of everything else. Even in the Medium Format class, their optics are significantly ahead in terms of quality, compared with the competition. A single lens costs between € 6,000.- and € 12,000.-, with one camera body about € 10,000.- and finally a digital back costing between € 40,000.- and € 50,000.-. Although, in the used market, it is a different story, a camera body can be had for about 10-30 % compared to the new price, their newest generation digital back for about 50 %, or an older “[[wikipedia:Charge-coupled_device|CCD]]” generation, with almost identical specifications and performance, for < 10 % of a new digital back. The lenses are the most affordable, since the newest “blue-ring” generation is just a product line consolidation after their acquisition of Mamiya, another Medium Format camera and optics manufacturer, the blue ring lenses being equipped with a [[wikipedia:Shutter_(photography)#Diaphragm_shutter|leaf shutter]] and autofocus for the two optically identical Mamiya 645 AF lenses, while all "Silver Ring" series lenses had both from the start. All Mamiya 645 AF lenses are compatible with the XF camera body and the older film lenses are compatible with the predecessor model “Mamiya/Phase One 645 DF”. To make the XF camera accept older film lenses, refer to the chapter "[[adapting lenses]]". Below is a table outlining their lens product catalogue and which optical formula is identical and therefore yields equal performance, at a fraction of the price: {| class="wikitable" |+ !Modern "Blue Ring" Lens !Optical Formula Identical to Predecessor “Silver Ring” Series? !Optical Formula Identical to Mamiya 645 |- |Schneider Kreuznach 40-80mm LS f/4.0-5.6 |Yes |/ |- |Schneider Kreuznach 75-150mm LS f/4.0-5.6 |Yes |/ |- |Schneider Kreuznach 35 mm f3,5 LS D |No |/ |- |Schneider Kreuznach LS 45mm f/3.5 |No |/ |- |Schneider Kreuznach 55mm LS f/2.8 |Yes |/ |- |Schneider Kreuznach 80mm LS f/2.8 (MK.I) |Yes |/ |- |Schneider Kreuznach 80mm LS f/2.8 (MK.II) |No |/ |- |Schneider Kreuznach 110mm LS f/2.8 |Yes |/ |- |Schneider Kreuznach 120mm LS f/4.0 Macro |/ |Mamiya 645 120mm f/4.0 Macro MF |- |Schneider Kreuznach 150mm LS f/3.5 |Yes |Mamiya 645 150mm f/3.5 AF |- |Schneider Kreuznach 150mm LS f/2.8 IF |/ |/ |- |Schneider Kreuznach 240mm LS f/4.5 IF |Yes |/ |} === Fujifilm === Fujifilm is the manufacturer responsible for making digital medium format affordable for the mass-market. While still more expensive than professional APS-C and 35mm, the price gap is rather manageable. Fujifilm medium format “GFX”-series cameras have the smaller and nameless 0.8 Crop Fact sensor format, meaning they are 43.8 x 32.9 mm large. Their lenses are extremely flexible medium format optics, as most of them have usual 35 mm niceties such as linear autofocus motors, image stabilisation and some feature very large apertures. If there were a middle-ground between traditional medium format and 35 mm, it would be the Fujifilm GFX product line. It’s Fujifilm G mount also has a range of adapters available for it, even for 35 mm mounts and although it is ''mechanically possible'' to mount lenses intended for smaller formats on a GFX camera, it should be avoided, as the image the sensor is now receiving will be far outside it’s intended image circle and therefore the quality will be severely degraded or the image will be even missing entirely. In the menu it is possible to tell the camera, to only use a 36 x 24 mm centre crop of the sensor, although if you were to primarily use small picture lenses – and there are very good reasons to do so for most applications –, a GFX camera would be a waste of money. If you adapt lenses, it is recommended to exclusively adapt other medium format lenses, such as: * Mamiya 645 ** No control over modern, electronically controlled lenses. * Hasselblad V * Contax G * Contax 645 * Pentax 6x7 * Bronica ETR * ARRI PL ** Medium Format lenses are extremely rare, but available, for this bayonet. ===Film=== *[http://photo.net/equipment/medium-format/choosing Choosing a Medium Format Camera], by Philip Greenspun *[http://photo.net/equipment/large-format/choosing Choosing a Large Format Camera], by Philip Greenspun ===Digital=== MF backs exist that are similar to DSLR sensors: a full sensor. These are extremely expensive, but can be rented. == Large Format == LF backs are '''scanning backs''': a sensor the size of a LF image would be prohibitively expensive, so instead one uses a row of sensors which scans across the image, with exposures measured in minutes. They are thus only suited for photography of static objects. ==References== {{reflist}} *[http://photo.net/equipment/what-camera What Camera Should I Buy?], by Philip Greenspun {{BookCat}}{{DEFAULTSORT:Photography Equipment/Introduction for beginners: What should I get?}} ll6ns6sa1yrsnu7czdtf29061dos81a Punjabi/Vocabulary/Fruits 0 165987 4444389 4424585 2024-11-11T10:38:35Z 103.124.174.21 ਨਾਰ=ਅਨਾਰ ਸੇਅ=ਸੇਬ 4444389 wikitext text/x-wiki {{Punjabi/Mobile}} == ਫਲ਼ - Fruits == [[Image:Dosehri.JPG|thumbnail|right|350px|ਅੰਬ - Mangoes]] ਅੰਬ i.e. mango, the king fruits, is the national fruit of India. Other fruits of Panjab are #ਅਨਾਰ = pomegranate #ਅਨਾਨਾਸ = pineapple #ਸੇਬ= apple #ਸੰਤਰਾ = orange #ਅੰਗੂਰ = grapes #ਕੇਲਾ = banana #ਪਪੀਤਾ = papaya #ਨਾਸ਼ਪਾਤੀ = pear #ਅਮਰੂਦ = guava #ਖ਼ਰਬੂਜਾ = musk melon #ਹਦਵਾਣਾ or ਮਤੀਰਾ = watermelon #ਜਾਮਣ = black plum #ਆੜੂ = peach #ਅਲੂਚਾ = prune #ਆਲੂਬੁਖਾਰਾ = plum #ਬੇਰ = jujube berry #ਤੂਤੀ = mulberry #ਖ਼ੁਰਮਾਨੀ or ਖੁਮਾਨੀ = apricot or dehydrated apricot #ਖਜੂਰ = dates #ਅਖ਼ਰੋਟ = walnut #ਬਦਾਮ = almond #ਕਾਜੂ Kajhu = cashew #ਨਿੰਬੂ Limbu= lemon #ਮੁਸੰਮੀ = sweet lime #ਚੀਕੂ Chiku = sapodilla #ਕਰੌਂਦਾ/ ਆਮਲਾ = gooseberry #ਮੇਵਾ Mewa = Dry Fruits === Exercises === 1. Write names of ten fruits in Punjabi.<br> 2. Identify the regular noun forms amongst the above fruit names and change the number. {{HideNseek|title=Solutions|text= #ਸੰਗਤਰਾ: ਸੰਗਤਰੇ orange #ਕੇਲਾ: ਕੇਲੇ banana #ਪਪੀਤਾ: ਪਪੀਤੇ papaya #ਖ਼ਰਬੂਜਾ: ਖ਼ਰਬੂਜੇ #ਹਦਵਾਣਾ: ਹਦਵਾਣੇ watermelon #ਖਜੂਰ: ਖਜੂਰਾਂ dates #ਤੂਤੀ: ਤੂਤੀਆਂ}} juji berry === Conclusion === In this chapter you were introduced to fruits of Punjab. The next chapter shall be devoted to [[Punjabi/Vocabulary/Trees|trees]]. {{Punjabi}} j0ru0y1fenqt4us0zi1u79ifzmf1ybo Science Fiction Literature 0 177081 4444355 4444254 2024-11-11T00:42:12Z 96.230.114.13 Added Short Story section 4444355 wikitext text/x-wiki [[File:War of the Worlds original cover bw.jpg|250px|thumb|alt=War of the Worlds original cover|[[s:War of the Worlds|War of the Worlds]] original cover]] This is an introduction to the genre of science fiction, its history, its place in literature, and its current practice. We will define the genre, mention many of the subgenres, and provide an overview of the history of science fiction. We will focus especially on the authors whose work staked out the territory, those who have become masters in the field, and we will work to cover authors who are currently writing in the genre and expanding its frontiers today. Throughout, please bear in mind that many works are written in more than one subgenre at a time, so the lines can be blurry. For example, an author writing for young adults can also be writing in the Lost Worlds genre too. There is a large quantity of good science fiction being written by authors in languages other than English. With the exception of [[s:Author:Jules Verne|Jules Verne]], most English speakers would be challenged to name even one of these other authors. Since this is intended as textbook, we will include discussion questions, and suggest exercises to help the student and teacher, master the material. We will also include suggestions for further reading. == Table of Contents == [[File:Pluck and Luck Dime Novel Pulp Magazine- The Search for King Solomon's Mines.jpg|200px|thumb|alt=Pluck and Luck Dime Novel Pulp Magazine- The Search for King Solomon's Mines|Pluck and Luck Dime Novel Pulp Magazine- [[s:King Solomon's Mines|The Search for King Solomon's Mines]]]] *[[/Introduction and Historical Overview/]] *The History of Science Fiction **The Early Stories **Penny Dreadfuls, Dime Novels, and the rise of the Pulps **The Death of the Pulps **The Triumph of Science Fiction [[File:VergesseneW.jpg|200px|thumb|alt=The Lost World by Conan Doyle|[[s:The Lost World|The Lost World]] by Conan Doyle]] [[File:TheLandThatTimeForgot.png|200px|thumb|alt=The Land That Time Forgot by Edgar Rice Burroughs|The Land That Time Forgot by Rice Burroughs]] *Subgenres of Science Fiction (Titles are examples only) *#Adventure *##[[/Lost Worlds/]] (Cadwal Chronicles, Dragonriders of Pern, Pax / Astra) *##Military SF (Berserkers, Ender Wiggins, Hammers Slammers, Honor Harrington, Northworld) *##Soldiers of Fortune (John Grimes, Matador) *##New Frontiers (Cluster, the Ship series) *##Planetary Exploration and Colonization (Engines of God, Gaea, the Grand Tour, the Mars Trilogy) *##Space Opera (Dune, Foundation, Lensmen series, Star Trek, Star Wars, Vorkosigan Saga) *##New Space Opera (The Culture series, Xeelee, Viriconium, Revalation Space, Night's Dawn trilogy) *#[[/Aliens|Alien Beings]] *##First Contact (Contact, Childhood's End) *##Alien Societies (Cheela, Mission Earth, Helliconia) *##Interspecies Relations (Exiles saga, Sector General) *##Alien Invasion and Occupation (Colonization series, Dahak, War of the Worlds, Footfall) *#Anthropology / Sociology (Neanderthal Parallax Trilogy) *#Alternate History (Guns of the South, Worldwar/Colonization series) *#Bleak Futures and Dystopias *##Ecological Disasters (Earth Abides, Battle Circle, Jenny Casey trilogy, Jerry Cornelius, Obernewtyn Chronicles, Termination Shock) *##Nuclear / Post-Apocolypse (A Canticle for Leibowitz, Xenogenesis, Endworld, The Postman, The Hammer of God) *#Hard Science (Spiderworld) *#Technology (Chobits, Legacy of the Aldenata, Instrumentality, iRobot, Snow Crash, Do Androids Dream of Electric Sheep? [Bladerunner]) *#Science Fantasy ([[s:Author:Edgar Rice Burroughs#John Carter|John Carter of Mars]], Jules Verne’s stories) *#Humor (Stainless Steel Rat, Hitchhiker's Guide to the Galaxy, Old Man's War series) *#Love and Romance (Tower and the Hive) *#Mystery and Detectives (Elijah Bailey, Greg Mandel, In Death, Ukiah Oregon, Altered Carbon) *#Social Criticism (Transmetropolitan, The Lathe of Heaven, Stranger in a Strange Land) *##Sex and Gender Roles (Uglies, The Left Hand of Darkness, Time Enough for Love) *##Political (The Man in the High Castle) *##Religion (Left Behind, Hyperion) *#Species Evolution (Amber series, Beggars trilogy, Wildcards) *#World Versions (Eon) *#Young Adult / Children's (Witch World, Ember, early Heinlein) *#Short Stories (Stories of Your Life And Others [Arrival], Exhalation) *National and World Literatures *#Soviet / Russian *##Solaris (Stanislaw Lem) *#French *#Scandinavian *#Japanese *#German *#East European *#Spanish speaking *#China *##Remembrance of Earth's Past [3 Body Problem] (Liu Cixin) *#Other World SF literature *Venues for Publication of Science Fiction Literature and Future Trends *#Professional Magazines and Publishers *#Fanzines and Amateur Publications *Recognition and Awards *#Hugo Award *#Nebula Award {{Shelves|Science fiction literature}} {{Alphabetical|S}} {{status|0%}} 3dimw67gf846oj057t1glpmjcnfzigy 4444363 4444355 2024-11-11T02:30:02Z Themoldy1 3486479 Updated the lists 4444363 wikitext text/x-wiki [[File:War of the Worlds original cover bw.jpg|250px|thumb|alt=War of the Worlds original cover|[[s:War of the Worlds|War of the Worlds]] original cover]] This is an introduction to the genre of science fiction, its history, its place in literature, and its current practice. We will define the genre, mention many of the sub-genres, and provide an overview of the history of science fiction. We will focus especially on the authors whose work staked out the territory, those who have become masters in the field, and we will work to cover authors who are currently writing in the genre and expanding its frontiers today. Throughout, please bear in mind that many works are written in more than one sub-genre at a time, so the lines can be blurry. For example, an author writing for young adults can also be writing in the Lost Worlds genre too. There is a large quantity of good science fiction being written by authors in languages other than English. With the exception of [[s:Author:Jules Verne|Jules Verne]], most English speakers would be challenged to name even one of these other authors. Since this is intended as textbook, we will include discussion questions, and suggest exercises to help the student and teacher, master the material. We will also include suggestions for further reading. == Table of Contents == [[File:Pluck and Luck Dime Novel Pulp Magazine- The Search for King Solomon's Mines.jpg|200px|thumb|alt=Pluck and Luck Dime Novel Pulp Magazine- The Search for King Solomon's Mines|Pluck and Luck Dime Novel Pulp Magazine- [[s:King Solomon's Mines|The Search for King Solomon's Mines]]]] *[[/Introduction and Historical Overview/]] *The History of Science Fiction **The Early Stories **Penny Dreadfuls, Dime Novels, and the rise of the Pulps **The Death of the Pulps **The Triumph of Science Fiction [[File:VergesseneW.jpg|200px|thumb|alt=The Lost World by Conan Doyle|[[s:The Lost World|The Lost World]] by Conan Doyle]] [[File:TheLandThatTimeForgot.png|200px|thumb|alt=The Land That Time Forgot by Edgar Rice Burroughs|The Land That Time Forgot by Rice Burroughs]] *Subgenres of Science Fiction (Titles are examples only) *#Adventure (Ready Player One/Two, Rendezvous With Rama) *##[[/Lost Worlds/]] (Cadwal Chronicles, Dragonriders of Pern, Pax / Astra) *##Military SF (Berserkers, Ender Wiggins, Hammers Slammers, Honor Harrington, Northworld) *##Soldiers of Fortune (John Grimes, Matador) *##New Frontiers (Cluster, the Ship series) *##Planetary Exploration and Colonization (Engines of God, Gaea, the Grand Tour, the Mars Trilogy, The Martian, Artemis) *##Space Opera (Dune series, Foundation series, Lensmen series, Vorkosigan Saga) *##New Space Opera (The Culture series, Xeelee, Viriconium, Revalation Space, The Night's Dawn trilogy, The Gap series) *#[[/Aliens|Alien Beings]] *##First Contact (Contact, Childhood's End, Skylark series, Slaughterhouse-Five) *##Alien Societies (Cheela, Mission Earth, Helliconia) *##Interspecies Relations (Saga of the Exiles, Sector General, Way Station) *##Alien Invasion and Occupation (Colonization series, Dahak, The War of The Worlds, Footfall, The Color Out of Space, Battlefield Earth) *#Anthropology / Sociology (Neanderthal Parallax Trilogy) *#Alternate History (Guns of the South, Worldwar/Colonization series) *#Bleak Futures and Dystopias *##Ecological Disasters (Earth Abides, Battle Circle, Jenny Casey trilogy, Jerry Cornelius, Obernewtyn Chronicles, Termination Shock) *##Nuclear / Post-Apocolypse (A Canticle for Leibowitz, Xenogenesis, Endworld, The Postman, The Hammer of God, Seven Eves, The Road) *##Dystopian (1984, Fahrenheit 451, Brave New World) *#Hard Science (Spiderworld, Project Hail Mary) *#Technology (Chobits, Legacy of the Aldenata, Instrumentality, iRobot, Snow Crash, Do Androids Dream of Electric Sheep? [Bladerunner], Jurrasic Park) *#Science Fantasy ([[s:Author:Edgar Rice Burroughs#John Carter|John Carter of Mars]], Jules Verne’s stories, His Dark Materials series, Frankenstein) *#Humor (Stainless Steel Rat, Hitchhiker's Guide to the Galaxy, Old Man's War series, Flatland) *#Love and Romance (Tower and the Hive) *#Mystery and Detectives (Elijah Bailey, Greg Mandel, In Death, Ukiah Oregon, Altered Carbon, Sphere) *#Social Criticism (Transmetropolitan, The Lathe of Heaven, Stranger in a Strange Land) *##Sex and Gender Roles (Uglies, The Left Hand of Darkness, Time Enough for Love) *##Political (The Man in the High Castle) *##Religion (Left Behind, Hyperion Cantos series) *#Species Evolution (Amber series, Beggars trilogy, Wildcards, The Uplift War) *#World Versions (Eon) *#Young Adult / Children's (Witch World, Ember, early Heinlein, A Wrinkle in Time) *#Short Stories (Stories of Your Life And Others [Arrival], Exhalation, The Minority Report, The Sentinel [2001]) *#Graphic Novels (Watchmen) *National and World Literatures *#Soviet / Russian *#French *##Planet of the Apes (Pierre Boulle) *##The Mysterious Island (Jules Verne) *#Scandinavian *#Japanese *##Battle Royale (Koushun Takami) *#German *#East European *##Solaris (Stanislaw Lem, Poland) *#Spanish speaking *#China *##Remembrance of Earth's Past [3 Body Problem] (Liu Cixin) *#Other World SF literature *Venues for Publication of Science Fiction Literature and Future Trends *#Professional Magazines and Publishers *#Fanzines and Amateur Publications *Recognition and Awards *#Hugo Award *#Nebula Award {{Shelves|Science fiction literature}} {{Alphabetical|S}} {{status|0%}} 3i45d9apwtrmm6kidqs8umbrh2pf4xt 4444364 4444363 2024-11-11T02:37:15Z Themoldy1 3486479 Added more books 4444364 wikitext text/x-wiki [[File:War of the Worlds original cover bw.jpg|250px|thumb|alt=War of the Worlds original cover|[[s:War of the Worlds|War of the Worlds]] original cover]] This is an introduction to the genre of science fiction, its history, its place in literature, and its current practice. We will define the genre, mention many of the sub-genres, and provide an overview of the history of science fiction. We will focus especially on the authors whose work staked out the territory, those who have become masters in the field, and we will work to cover authors who are currently writing in the genre and expanding its frontiers today. Throughout, please bear in mind that many works are written in more than one sub-genre at a time, so the lines can be blurry. For example, an author writing for young adults can also be writing in the Lost Worlds genre too. There is a large quantity of good science fiction being written by authors in languages other than English. With the exception of [[s:Author:Jules Verne|Jules Verne]], most English speakers would be challenged to name even one of these other authors. Since this is intended as textbook, we will include discussion questions, and suggest exercises to help the student and teacher, master the material. We will also include suggestions for further reading. == Table of Contents == [[File:Pluck and Luck Dime Novel Pulp Magazine- The Search for King Solomon's Mines.jpg|200px|thumb|alt=Pluck and Luck Dime Novel Pulp Magazine- The Search for King Solomon's Mines|Pluck and Luck Dime Novel Pulp Magazine- [[s:King Solomon's Mines|The Search for King Solomon's Mines]]]] *[[/Introduction and Historical Overview/]] *The History of Science Fiction **The Early Stories **Penny Dreadfuls, Dime Novels, and the rise of the Pulps **The Death of the Pulps **The Triumph of Science Fiction [[File:VergesseneW.jpg|200px|thumb|alt=The Lost World by Conan Doyle|[[s:The Lost World|The Lost World]] by Conan Doyle]] [[File:TheLandThatTimeForgot.png|200px|thumb|alt=The Land That Time Forgot by Edgar Rice Burroughs|The Land That Time Forgot by Rice Burroughs]] *Subgenres of Science Fiction (Titles are examples only) *#Adventure (Ready Player One/Two, Rendezvous With Rama) *##[[/Lost Worlds/]] (Cadwal Chronicles, Dragonriders of Pern, Pax / Astra) *##Military SF (Berserkers, Ender Wiggins, Hammers Slammers, Honor Harrington, Northworld) *##Soldiers of Fortune (John Grimes, Matador) *##New Frontiers (Cluster, the Ship series) *##Planetary Exploration and Colonization (Engines of God, Gaea, the Grand Tour, the Mars Trilogy, The Martian, Artemis) *##Space Opera (Dune series, Foundation series, Lensmen series, Vorkosigan Saga) *##New Space Opera (The Culture series, Xeelee, Viriconium, Revalation Space, The Night's Dawn trilogy, The Gap series) *#[[/Aliens|Alien Beings]] *##First Contact (Contact, Childhood's End, Skylark series, Slaughterhouse-Five) *##Alien Societies (Cheela, Mission Earth, Helliconia) *##Interspecies Relations (Saga of the Exiles, Sector General, Way Station, The Mote in God's Eye) *##Alien Invasion and Occupation (Colonization series, Dahak, The War of The Worlds, Footfall, The Color Out of Space, Battlefield Earth) *#Anthropology / Sociology (Neanderthal Parallax Trilogy, Doomsday Book) *#Alternate History (Guns of the South, Worldwar/Colonization series) *#Bleak Futures and Dystopias *##Ecological Disasters (Earth Abides, Battle Circle, Jenny Casey trilogy, Jerry Cornelius, Obernewtyn Chronicles, Termination Shock) *##Nuclear / Post-Apocolypse (A Canticle for Leibowitz, Xenogenesis, Endworld, The Postman, Lucifer's Hammer, Seven Eves, The Road, World War Z) *##Dystopian (1984, Fahrenheit 451, Brave New World, The Children of Men) *#Hard Science (Spiderworld, Project Hail Mary) *#Technology (Chobits, Legacy of the Aldenata, Instrumentality, iRobot, Snow Crash, Do Androids Dream of Electric Sheep? [Bladerunner], Jurrasic Park) *#Science Fantasy ([[s:Author:Edgar Rice Burroughs#John Carter|John Carter of Mars]], Jules Verne’s stories, His Dark Materials series, Frankenstein) *#Humor (Stainless Steel Rat, Hitchhiker's Guide to the Galaxy, Old Man's War series, Flatland) *#Love and Romance (Tower and the Hive) *#Mystery and Detectives (Elijah Bailey, Greg Mandel, In Death, Ukiah Oregon, Altered Carbon, Sphere) *#Social Criticism (Transmetropolitan, The Lathe of Heaven, Stranger in a Strange Land) *##Sex and Gender Roles (Uglies, The Left Hand of Darkness, Time Enough for Love) *##Political (The Man in the High Castle) *##Religion (Left Behind, Hyperion Cantos series) *#Species Evolution (Amber series, Beggars trilogy, Wildcards, The Uplift War) *#World Versions (Eon) *#Young Adult / Children's (Witch World, Ember, early Heinlein, A Wrinkle in Time) *#Short Stories (Stories of Your Life And Others [Arrival], Exhalation, The Minority Report, The Sentinel [2001]) *#Graphic Novels (Watchmen) *National and World Literatures *#Soviet / Russian *#French *##Planet of the Apes (Pierre Boulle) *##The Mysterious Island (Jules Verne) *#Scandinavian *#Japanese *##Battle Royale (Koushun Takami) *#German *#East European *##Solaris (Stanislaw Lem, Poland) *#Spanish speaking *#China *##Remembrance of Earth's Past [3 Body Problem] (Liu Cixin) *#Other World SF literature *Venues for Publication of Science Fiction Literature and Future Trends *#Professional Magazines and Publishers *#Fanzines and Amateur Publications *Recognition and Awards *#Hugo Award *#Nebula Award {{Shelves|Science fiction literature}} {{Alphabetical|S}} {{status|0%}} rhmlpztsfqy3ibhfh7se2826jasgrs8 Chess Opening Theory/1. Nf3/1...Nf6/2. c4 0 189434 4444394 4436673 2024-11-11T11:56:16Z 138.75.29.176 4444394 wikitext text/x-wiki {{Chess Opening Theory/Position|= |English Opening| |rd|nd|bd|qd|kd|bd| |rd|= |pd|pd|pd|pd|pd|pd|pd|pd|= | | | | | |nd| | |= | | | | | | | | |= | | |pl| | | | | |= | | | | | |nl| | |= |pl|pl| |pl|pl|pl|pl|pl|= |rl|nl|bl|ql|kl|bl| |rl|= || }} = English Opening, Anglo-Indian Defense, King's Knight Variation = ===2.c4=== 2.c4 is a very common move in the Zukertort Opening, competing for the d5 square. It is also very flexible, allowing white to transpose into Queen's Pawn openings with a later d4 move or various lines in the English Opening (1.c4). This position is also often reached with the move order 1.c4 Nf6 2.Nf3. ==Theory table== {{Chess Opening Theory/Table}}. '''1.Nf3 Nf6 2.c4''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">2</th> </tr> <tr> <th align="right">[[Chess/English Opening|English Opening]] King's Indian Formation</th> <td>...<br>[[/2...g6/|g6]]</td> <td>d4<br>&nbsp;</td> <td>=</td> </tr> <tr> <th align="right">[[Chess/English Opening|English Opening]]</th> <td>...<br>[[/2...c5/|c5]]</td> <td>=</td> </tr> <tr> <th align="right">[[Chess/English Opening|English Opening]]</th> <td>...<br>[[/2...c6/|c6]]</td> <td>=</td> </tr> <tr> <th align="right">[[Chess/English Opening|English Opening]]</th> <td>...<br>[[/2...b6/|b6]]</td> <td>=</td> </tr> <tr> <th align="right">Reti System</th> <td>...<br>[[/2...e6/|e6]]</td> <td>d4<br>&nbsp;</td> <td>=</td> </tr> <tr> <th align="right">[[Chess/Nimzo-Indian Defence|Nimzo-Indian Defence]] Kasparov Variation</th> <td>...<br>[[/2...e6/|e6]]</td> <td>d4<br>Bb4</td><td>Nc3<br>&nbsp;</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/2...Nc6/|Nc6]]</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/2...d5/|d5]]</td> <td>d4<br>&nbsp;</td> <td>=</td> </tr> </table> {{ChessMid}} {{Wikipedia|English Opening}} ==References== {{reflist}} {{BCO2}} {{Chess Opening Theory/Footer}} g5qj1h5fredl89wfqjksklzt163f1fh User-Generated Content in Education/YouTube 0 221758 4444370 4334805 2024-11-11T05:37:47Z 24.84.42.180 4444370 wikitext text/x-wiki {{User-Generated Content in Education/Contents}} {{TOCright}} <!-- Don't touch this line or the tags above --> == '''YouTube and Teacher Tube in Education''' == [[File:YouTube 2024.svg|200x200px|YouTube Logo]] ==History== [[File:Youtubeheadquarters.jpg|thumb|Early Headquarters in San Mateo]] In 2005, three employees of PayPal, Chad Hurley, Jawed Karim, and Steve Chen, founded the website [YouTube] so that people could upload and share videos. In November 2005, Sequoia Capital gave 3.5 million dollars in funding to YouTube and from there it was officially launched. In April 2006, Sequoia and Artis Capital contributed an additional 8 million dollars to the rapidly growing company. <ref>http://en.wikipedia.org/wiki/History_of_YouTube accessed March 1, 2011</ref>. Within one year of the funding, YouTube was purchased by Google Inc. for 1.65 billion dollars. <ref>http://www.crunchbase.com/company/youtube accessed March 3, 2010</ref>. At the completion of the sale, Sequoia Capital’s Google shares were estimated at more than $442 million, Chad Hurley’s were estimated at $345 million, Steve Chen’s at more than $326 million, Artis Capital's shares were at more than $83 million, and Jawed Karim’s at more than $64 million. <ref>http://logicbank.com/2007/02/09/google-sec-filing-reveals-youtube-investors-win-big/ accessed March 1, 2011</ref> A lawsuit was brought up against YouTube and Google in March 2007 by Viacom, who claimed that “we must turn to the courts to prevent Google and YouTube from continuing to steal value from artists and to obtain compensation for the significant damage they have caused.” After this event, more than 100,000 videos had to be removed. However, YouTube continued to grow and released versions in many different languages, including Spanish, French, and Japanese. <ref>http://www.crunchbase.com/company/youtube accessed March 3, 2010</ref>. On March 6, 2007, TeacherTube was officially launched with the purpose of sharing instructional videos to the online community. Jason Smith was a 14-year veteran teacher, coach, and administrator who came up with the idea for this site. It provides the opportunity for teachers to teach students, as well as other teachers, concepts or skills. <ref>http://teachertube.com/staticPage.php?pg=about accessed March 3, 2010</ref>. Most importantly, TeacherTube community members are a major part of the evolution of the site. Members are encouraged to not only upload educationally relevant videos, but also to make constructive comments and use the rating system to show appreciation for videos of value to one as an educator or learner. <ref>http://www1.teachertube.com/staticPage.php?pg=about accessed March 6, 2011</ref> ===Historical facts=== The domain name YouTube.com is registered on February 15, 2005.<ref>http://www.crunchbase.com/company/youtube accessed March 3, 2010</ref>. The first YouTube video is posted on April 23, 2005.<ref>http://mediatedcultures.net/ksudigg/?p=108 accessed March 3, 2010</ref>. By March 6, 2006, YouTube has 25 million clips, with 20,000 clips being uploaded each day.<ref>http://www.crunchbase.com/company/youtube accessed March 3, 2010</ref>. YouTube is named Time Magazines' Invention of the Year in 2006.<ref>http://www.crunchbase.com/company/youtube accessed March 3, 2010</ref>. PC World Magazine named YouTube the 9th of the Top 10 Best Products of 2006.<ref>http://www.pcworld.com/article/125706-2/the_100_best_products_of_2006.html accessed March 1, 2011</ref>. As of 2010, YouTube reaches over 1 Billion views per day.<ref>http://www.crunchbase.com/company/youtube accessed March 3, 2010</ref>. TeacherTube was launched on March 6, 2007. <ref>http://teachertube.com/staticPage.php?pg=about accessed March 3, 2010</ref> By 2008, TeacherTube has over 26,000 educational videos. <ref>http://teachertube.com/staticPage.php?pg=about accessed March 3, 2010</ref> == Features == YouTube is available in 24 different countries. It is available in more than 30 different languages. <ref>http://www.youtube.com/t/faqt accessed March 1, 2011</ref>. Both sites are free to use and watch videos. Users are able to flag any videos that they feel are inappropriate, which are then reviewed by the staff, and removed if necessary. TeacherTube offers many great resources for teachers. It also encourages members to upload videos of educational content and worth, to leave comments, and use the rating system for uploaded videos. Teachers can create a digital portfolio to share lesson plans with colleagues all over the world, thus creating a sense of community in education. <ref>http://teachertube.com/staticPage.php?pg=about accessed March 3, 2010</ref>. == YouTube Guidelines == Respect the YouTube Community. Be Responsible. Don't Cross the Line--Be very aware of what you post. Free Speech is encouraged, but do not permit attacks. Do not post misleading information. Follow Copyright Laws. <ref>http://www.youtube.com/t/community_guidelines.html accessed March 1, 2011</ref> ==Privacy== Copyright means that when a person creates an original work of authorship, it is protected by law. Original work can be anything that can be read, heard, and/or seen. A person’s work is protected as soon as it is “created and fixed in a tangible form.” Original work can be either published or not published and still be protected by law.[http://www.copyright.gov/] Creative Commons (CC) is a website that promotes collaboration among the general public and creators. This site allows the general public access to work created by others. People are given the right to use or modify the works of originial authors. There are six CC licenses. These licenses will let authors decide what others can do with their original work.<ref>http://creativecommons.org/accessed March 1, 2011</ref>. [http://creativecommons.org/] [[File:Creative_commons.jpg‎|middle right|150px]] YouTube takes copyright very seriously. They have established a new technology for copyright holders. It is called Content ID. This is a set of tools that helps people who upload videos to YouTube be able to find their content and allows them to decide what they want to do when they find it. These users may block it, leave it up, or make money from it. If a user believes that a video posted on YouTube is violating their copyright, they may flag the video and select "infringes my copyright" from the list of options provided. This information will then be reviewed by the YouTube board. <ref>http://www.youtube.com/t/faq accessed March 1, 2011</ref>. == Benefits == There are many benefits of using YouTube and TeacherTube. Here is a list of some of those benefits: 1. It is Free to use 2. It is user friendly 3. View any video tutorial on any subject 4. Share videos globally 5. Express one’s creativity 6. One can become famous 7. Hidden talents are found 8. Videos are a powerful teaching tool 9. Stay current on any subject 10. Don’t need expensive equipment == Educational Impact == Both YouTube and TeacherTube provide educational lectures and instructional videos that teaches new information to the learner or reinforces material that has already been learned. Both sites contain numerous student projects, experiments, and professional development clips even for the teachers. Several colleges, such as the University of California Berkeley and Vanderbilt, have partnered with YouTube to provide the schools with channels for lectures and interactive web-sites. The video-clips allow students to explore the topic beyond the assignment. <ref>http://www.convergemag.com/edtech/Is-Education-Ready-For-YouTube.html accessed March 3, 2010</ref> Being able to share so much information with others who are so far away can change the role of teachers and students in the future. With this valuable tool, students are able to explore, problem-solve, foster debates, and think critically. Teacher Tube contains a teaching resources page. Individuals can upload video, documents, audio, and photos. The Teacher Vision section contains lesson pland, printables and more. These resources are organized by subject, grade, and theme. <ref>http://www1.teachertube.com/teachervision.php accessed March 6, 2011</ref> == Criticisms == Some YouTube users are breaking the copyright law, because users are uploading videos that they did not make and claiming as their own. Others are posting videos that may be offensive and not socially correct. There are also mature videos and videos with violence in them that are not suitable for young children. Kids also have free rein to watch any video of their choice.[http://en.wikipedia.org/wiki/Criticism_of_YouTube] Users have the ability to preserve the integrity of the site by flagging inappropriate videos and copyright violations. TeacherTube staff review flagged sites and will remove any inappropriate posts. With more collegial commentary and discussion through messaging and responses, the quality of this resource will only increase. [http://www1.teachertube.com/staticPage.php?pg=about] ==Tosh.O== [[File:Daniel Tosh (cropped).jpg|thumb|Daniel Tosh]] YouTube has been a hot topic in the news since its creation. However, on June 4, 2009 YouTube made its debut on Comedy Central in a show called Tosh.O. In its first season it recorded a startling one million viewers per episode. It was noted that by 2010, this show has had up to 2.7 million viewers per episode. This hit-TV show focused on the viral videos that are watched on YouTube. The host, Daniel Tosh, then uses comical language and discusses the videos on the spot to his viewers. There is also a section of each episode known as "Web Redemption" where they invite a person (from a viral video) onto the TV show to defend or explain their actions that were captured on the YouTube video. Daniel Tosh realized the popularity and opportunities that YouTube possessed, created this TV show, and is now extremely successful and profitable.<ref>http://en.wikipedia.org/wiki/Tosh.0</ref> == External Links == * http://www.SchoolTube.com is a site that allows parents to enter the classroom when they are unable to attend in person. The student-created content on this site is approved by registered teachers and is safe to share across the US. * http://www.HotChalk.com is another K-12 site for teachers to collaborate with other teachers and students. It allows students to e-mail assignments to teachers and lets parents log in to check on their child’s grades and progress. * http://creativecommons.org/about/licenses/ is informaiton on the six CC licenses == References == {{Reflist}} ----- ---- http://teachertube.com/staticPage.php?pg=about accessed March 3, 2010 http://www.crunchbase.com/company/youtube accessed March 3, 2010 http://www.convergemag.com/edtech/Is-Education-Ready-For-YouTube.html accessed March 3, 2010 http://mediatedcultures.net/ksudigg/?p=108 accessed March 3, 2010 http://www.copyright.gov/ accessed March 3, 2010 http://creativecommons.org/ accessed March 3, 2010 http://en.wikipedia.org/wiki/Criticism_of_YouTube accessed March 3, 2010 http://en.wikipedia.org/wiki/Tosh.0 accessed March 2, 2011 == Further Readings == http://www.copyright.gov/fls/fl102.html - Fair use for education http://www.archive.org/details/KarlFogel_chalktalk Karl Fogel presents the history of Copyright (2006) http://www.youtube.com/t/privacy - youtube privacy clause http://www.teachertube.com/staticPage.php?pg=privacy - teachertube privacy clause http://www.oercommons.org/ - open educational resources http://www.time.com/time/magazine/article/0,9171,1569514,00.html - Time Magazine Article http://www.educause.edu/ELI/7ThingsYouShouldKnowAboutYouTu/156821 - Educase article http://portal.acm.org/citation.cfm?id=1940761.1940851 - Learning From YouTube article http://books.google.com/books?hl=en&lr=&id=spo9X16qn30C&oi=fnd&pg=PA173&dq=Youtube+in+education+&ots=rsSJw-nSHz&sig=vsqsZzI2znY3dDn7z5MQN7PbUKc#v=onepage&q=Youtube%20in%20education&f=false - Engaging the YouTube Google-eyed Generation article lyfl53y2xn9w6a8ujgywrqcmy0pausx The Linux Kernel/Multitasking 0 226982 4444305 4444056 2024-11-10T17:30:28Z Conan 3188 /* Real-Time */ 4444305 wikitext text/x-wiki {{DISPLAYTITLE:Multitasking functionality}} {| style="width: 25%; float: right; text-align:center;border-spacing: 0; margin:auto;" cellpadding="5pc" ! bgcolor="#ffc" |multitasking |- | bgcolor="#eeb" |[[#Processes|processes]] |- | bgcolor="#dda" |[[#Threads_or_tasks|threads or tasks]] |- | bgcolor="#cc9" |[[#Synchronization|synchronization]] |- | bgcolor="#bb8" |[[#Scheduler|Scheduler]] |- | bgcolor="#aa8" |[[#Interrupts|interrupts core]] |- style="" | bgcolor="#997" |[[#CPU_specific|CPU specific]] |} Linux kernel is a preemptive {{w|Computer multitasking|multitasking}} operating system. As a multitasking OS, it allows multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. For that, the kernel can, at any time, temporarily interrupt a task being carried out by the processor, and replace it by another task that can be new or a previously suspended one. The operation involving the swapping of the running task is called ''{{w|context switch}}''. == Processes == '''Process''' is a running user space program. Kernel starts the first process '''/sbin/init''' in function {{The Linux Kernel/id|run_init_process}}using {{The Linux Kernel/id|kernel_execve}}. Processes occupy system resources, like memory, CPU time. System calls {{The Linux Kernel/id|sys_fork}} and {{The Linux Kernel/id|sys_execve}} are used to create new processes from user space. The process exit with an {{The Linux Kernel/id|sys_exit}} system call. Linux inherits from Unix its basic process management system calls (⚲ API ↪ ⚙️ implementations): {{The Linux Kernel/man|2|fork}} ↪ {{The Linux Kernel/id|kernel_clone}} creates a new process by {{w|Prototype_pattern|duplicating}} the process invoking it. {{The Linux Kernel/man|2|_exit}} ↪ {{The Linux Kernel/id|do_exit}} terminates the calling process "immediately". Any open file descriptors belonging to the process are closed. {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its children processes terminates. {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execve}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}} Linux enhances the traditional Unix process API with its own system calls {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). PID - {{w|Process identifier}} defined as {{The Linux Kernel/id|pid_t}} is unique sequential number. {{The Linux Kernel/man|1|ps}} -A lists current processes. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} return PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internal historically is called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. ⚲ API : [https://man7.org/linux/man-pages/man0/unistd.h.0p.html unistd.h] : [https://man7.org/linux/man-pages/man0/sys_types.h.0p.html sys/types.h] : [https://man7.org/linux/man-pages/man0/sys_wait.h.0p.html sys/wait.h] ⚙️ Internals : {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|pid_type}} : {{The Linux Kernel/source|kernel/fork.c}} :: syscalls: :: {{The Linux Kernel/man|2|set_tid_address}} &ndash; set pointer to thread ID :: {{The Linux Kernel/man|2|fork}} &ndash; create a child process :: {{The Linux Kernel/man|2|vfork}} &ndash; create a child process and block parent :: {{The Linux Kernel/man|2|clone}} &ndash; create a child process :: {{The Linux Kernel/man|2|unshare}} &ndash; disassociate parts of the process execution context : {{The Linux Kernel/source|kernel/sys.c}} :: syscalls: :: {{The Linux Kernel/man|2|prctl}} &ndash; operations on a process or thread : {{The Linux Kernel/source|kernel/pid.c}} :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor : {{The Linux Kernel/source|kernel/exit.c}} :: syscalls: :: {{The Linux Kernel/man|2|exit}} &ndash; terminate the calling process :: {{The Linux Kernel/man|2|exit_group}} &ndash; exit all threads in a process :: {{The Linux Kernel/man|2|waitid}} &ndash; wait for process to change state :: {{The Linux Kernel/man|2|waitpid}} &ndash; wait for process to change state : {{The Linux Kernel/source|fs/exec.c}} 📖 References : {{w|fork (system call)}} : {{w|exit (system call)}} : {{w|wait (system call)}} : {{w|exec (system call)}} === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces 🔧 TODO: {{The Linux Kernel/man|2|sigaction}} {{The Linux Kernel/man|2|signal}} {{The Linux Kernel/man|2|sigaltstack}} {{The Linux Kernel/man|2|sigpending}} {{The Linux Kernel/man|2|sigprocmask}} {{The Linux Kernel/man|2|sigsuspend}} {{The Linux Kernel/man|2|sigwaitinfo}} {{The Linux Kernel/man|2|sigtimedwait}} {{The Linux Kernel/source|kernel/signal.c}} : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : Sys V IPC: :: Message queues :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} == Threads or tasks == In Linux kernel "thread" and "task" are almost synonyms. 💾 ''History: Till 2.6.39, kernel mode has only one thread protected by {{w|big kernel lock}}.'' ⚲ API : {{The Linux Kernel/include|linux/sched.h}} - the main scheduler API :: {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/source|arch/x86/include/asm/current.h}} ::{{Linux ident|current}} and {{The Linux Kernel/id|get_current}} () return current {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/include|uapi/linux/taskstats.h}} per-task statistics : {{The Linux Kernel/include|linux/thread_info.h}} :: function&nbsp;{{The Linux Kernel/id|current_thread_info}}() returns {{The Linux Kernel/id|thread_info}} :{{The Linux Kernel/include|linux/sched/task.h}} - interface between the scheduler and various task lifetime (fork()/exit()) functionality : {{The Linux Kernel/include|linux/kthread.h}} - simple interface for creating and stopping kernel threads without mess. ::{{The Linux Kernel/id|kthread_run}} creates and wake a thread ::{{The Linux Kernel/id|kthread_create}} ⚙️ Internals : {{The Linux Kernel/id|kthread_run}} ↯ hierarchy: :: {{The Linux Kernel/id|kernel_thread}} ::: {{The Linux Kernel/id|kernel_clone}} : {{The Linux Kernel/source|kernel/kthread.c}} ==Scheduler== The ''{{w|Scheduling_(computing)#Linux|scheduler}}'' is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process. Active processes are placed in an array called a ''{{w|run queue}}'', or ''runqueue'' - {{The Linux Kernel/id|rq}}. The run queue may contain priority values for each process, which will be used by the scheduler to determine which process to run next. To ensure each program has a fair share of resources, each one is run for some time period (quantum) before it is paused and placed back into the run queue. When a program is stopped to let another run, the program with the highest priority in the run queue is then allowed to execute. Processes are also removed from the run queue when they ask to ''sleep'', are waiting on a resource to become available, or have been terminated. Linux uses the {{w|Completely Fair Scheduler}} (CFS), the first implementation of a fair queuing process scheduler widely used in a general-purpose operating system. CFS uses a well-studied, classic scheduling algorithm called "fair queuing" originally invented for packet networks. The CFS scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Choosing a task can be done in constant time, but reinserting a task after it has run requires O(log N) operations, because the run queue is implemented as a {{w|red–black tree}}. In contrast to the previous {{w|O(1) scheduler}}, the CFS scheduler implementation is not based on run queues. Instead, a red-black tree implements a "timeline" of future task execution. Additionally, the scheduler uses nanosecond granularity accounting, the atomic units by which an individual process' share of the CPU was allocated (thus making redundant the previous notion of timeslices). This precise knowledge also means that no specific heuristics are required to determine the interactivity of a process, for example. Like the old O(1) scheduler, CFS uses a concept called "sleeper fairness", which considers sleeping or waiting tasks equivalent to those on the runqueue. This means that interactive tasks which spend most of their time waiting for user input or other events get a comparable share of CPU time when they need it. The data structure used for the scheduling algorithm is a red-black tree in which the nodes are scheduler specific structures, entitled {{The Linux Kernel/id|sched_entity}}. These are derived from the general <tt>task_struct</tt> process descriptor, with added scheduler elements. These nodes are indexed by processor execution time in nanoseconds. A maximum execution time is also calculated for each process. This time is based upon the idea that an "ideal processor" would equally share processing power amongst all processes. Thus, the maximum execution time is the time the process has been waiting to run, divided by the total number of processes, or in other words, the maximum execution time is the time the process would have expected to run on an "ideal processor". When the scheduler is invoked to run a new processes, the operation of the scheduler is as follows: # The left most node of the scheduling tree is chosen (as it will have the lowest spent execution time), and sent for execution. # If the process simply completes execution, it is removed from the system and scheduling tree. # If the process reaches its maximum execution time or is otherwise stopped (voluntarily or via interrupt) it is reinserted into the scheduling tree based on its new spent execution time. # The new left-most node will then be selected from the tree, repeating the iteration. If the process spends a lot of its time sleeping, then its spent time value is low and it automatically gets the priority boost when it finally needs it. Hence such tasks do not get less processor time than the tasks that are constantly running. An alternative to CFS is the {{w|Brain Fuck Scheduler}} (BFS) created by Con Kolivas. The objective of BFS, compared to other schedulers, is to provide a scheduler with a simpler algorithm, that does not require adjustment of heuristics or tuning parameters to tailor performance to a specific type of computation workload. Con Kolivas also maintains another alternative to CFS, the MuQSS scheduler.<ref name="malte" /> The Linux kernel contains different scheduler classes (or policies). The Completely Fair Scheduler used nowadays by default is {{The Linux Kernel/id|SCHED_NORMAL}} scheduler class aka SCHED_OTHER. The kernel also contains two additional classes {{The Linux Kernel/id|SCHED_BATCH}} and {{The Linux Kernel/id|SCHED_IDLE}}, and another two real-time scheduling classes named {{The Linux Kernel/id|SCHED_FIFO}} (realtime first-in-first-out) and {{The Linux Kernel/id|SCHED_RR}} (realtime round-robin), with a third realtime scheduling policy known as {{The Linux Kernel/id|SCHED_DEADLINE}} that implements the {{w|Earliest deadline first scheduling|earliest deadline first algorithm (EDF)}} added later. Any realtime scheduler class takes precedence over any of the "normal" &mdash;i.e. non realtime&mdash; classes. The scheduler class is selected and configured through the {{The Linux Kernel/man|2|sched_setscheduler}} ↪ {{The Linux Kernel/id|do_sched_setscheduler}} system call. Properly balancing latency, throughput, and fairness in schedulers is an open problem.<ref name="malte" > Malte Skarupke. [https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ "Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is"]. </ref> ⚲ API : {{The Linux Kernel/man|1|renice}} &ndash; priority of running processes : {{The Linux Kernel/man|1|nice}} &ndash; run a program with modified scheduling priority : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process :: {{The Linux Kernel/man|2|sched_getattr}} ↪ {{The Linux Kernel/id|sys_sched_getattr}} &ndash; get scheduling policy and attributes : {{The Linux Kernel/include|linux/sched.h}} &ndash; the main scheduler API :: {{The Linux Kernel/id|schedule}} : {{The Linux Kernel/man|2|getpriority}}, {{The Linux Kernel/man|2|setpriority}} : {{The Linux Kernel/man|2|sched_setscheduler}}, {{The Linux Kernel/man|2|sched_getscheduler}} ⚙️ Internals :{{The Linux Kernel/id|sched_init}} is called from {{The Linux Kernel/id|start_kernel}} : {{The Linux Kernel/id|__schedule}} is the main scheduler function. : {{The Linux Kernel/id|runqueues}}, {{The Linux Kernel/id|this_rq}} : {{The Linux Kernel/source|kernel/sched}} : {{The Linux Kernel/source|kernel/sched/core.c}} : {{The Linux Kernel/source|kernel/sched/fair.c}} implements {{The Linux Kernel/id|SCHED_NORMAL}}, {{The Linux Kernel/id|SCHED_BATCH}}, {{The Linux Kernel/id|SCHED_IDLE}} : {{The Linux Kernel/id|sched_setscheduler}}, {{The Linux Kernel/id|sched_getscheduler}} : {{The Linux Kernel/id|task_struct}}::{{The Linux Kernel/id|rt_priority}} and other members with less unique identifiers 🛠️ Utilities : {{The Linux Kernel/man|1|pidstat}}] : {{The Linux Kernel/man|1|pcp-pidstat}} : {{The Linux Kernel/man|1|perf-sched}} : [https://opensource.googleblog.com/2019/10/understanding-scheduling-behavior-with.html Understanding Scheduling Behavior with SchedViz] 📖 References : {{The Linux Kernel/man|7|sched}} : {{The Linux Kernel/doc|Scheduling|scheduler}} : CFS :: {{The Linux Kernel/doc|Completely Fair Scheduler|scheduler/sched-design-CFS.html}} :: {{The Linux Kernel/doc|CFS Bandwidth Control|scheduler/sched-bwc.html}} :: [https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-tuning-taskscheduler.html Tuning the task scheduler] :: [https://home.robusta.dev/blog/stop-using-cpu-limits stop using CPU limits on Kubernetes] : [https://lwn.net/Kernel/Index/#Scheduler-Completely_fair_scheduler Completely fair scheduler LWN] : {{The Linux Kernel/doc|Deadline Task Scheduler|scheduler/sched-deadline.html}} : {{The Linux Kernel/ltp|kernel|sched}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setparam}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_getscheduler}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setscheduler}} 📚 Further reading about the scheduler : [https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md#lesson-10-scheduler-tracing Scheduler tracing] : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] === Preemption === Preemption refers to the ability of the system to interrupt a running task to switch to another task. This is essential for ensuring that high-priority tasks receive the necessary CPU time and for improving the system's responsiveness. In Linux, preemption models define how and when the kernel can preempt tasks. Different models offer varying trade-offs between system responsiveness and throughput. 📖 References : {{The Linux Kernel/source|kernel/Kconfig.preempt}} :: {{The Linux Kernel/id|CONFIG_PREEMPT_NONE}} &ndash; no forced preemption for servers :: {{The Linux Kernel/id|CONFIG_PREEMPT_VOLUNTARY}} &ndash; voluntary preemption for desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT}} &ndash; preemptible except for critical sections for low-latency desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} &ndash; real-time preemption for [[Embedded_Systems/Linux#Real-time|highly responsive applications]] :: {{The Linux Kernel/id|CONFIG_PREEMPT_DYNAMIC}}, see /sys/kernel/debug/sched/preempt === Wait queues === A ''wait queue'' in the kernel is a data structure that allows one or more processes to wait (sleep) until something of interest happens. They are used throughout the kernel to wait for available memory, I/O completion, message arrival, and many other things. In the early days of Linux, a wait queue was a simple list of waiting processes, but various scalability problems (including the {{w|thundering herd problem}}) have led to the addition of a fair amount of complexity since then. ⚲ API {{The Linux Kernel/include|linux/wait.h}} {{The Linux Kernel/id|wait_queue_head}} consists of double linked list of {{The Linux Kernel/id|wait_queue_entry}} and a spinlock. Waiting for simple events: : Use one of two methods for {{The Linux Kernel/id|wait_queue_head}} initialization: :: {{The Linux Kernel/id|init_waitqueue_head}} initializes {{The Linux Kernel/id|wait_queue_head}} in function context :: {{The Linux Kernel/id|DECLARE_WAIT_QUEUE_HEAD}} - actually defines {{The Linux Kernel/id|wait_queue_head}} in global context : Wait alternatives: :: {{The Linux Kernel/id|wait_event_interruptible}} - preferable wait :: {{The Linux Kernel/id|wait_event_interruptible_timeout}} :: {{The Linux Kernel/id|wait_event}} - uninterruptible wait. Can cause deadlock ⚠ : {{The Linux Kernel/id|wake_up}} etc 👁 For example usage see references to unique {{The Linux Kernel/id|suspend_queue}}. Explicit use of add_wait_queue instead of simple wait_event for complex cases: : {{The Linux Kernel/id|DECLARE_WAITQUEUE}} actually defines wait_queue_entry with {{The Linux Kernel/id|default_wake_function}} : {{The Linux Kernel/id|add_wait_queue}} inserts process in the first position of a wait queue : {{The Linux Kernel/id|remove_wait_queue}} ⚙️ Internals : {{The Linux Kernel/id|___wait_event}} : {{The Linux Kernel/id|__add_wait_queue}} : {{The Linux Kernel/id|__wake_up_common}}, {{The Linux Kernel/id|try_to_wake_up}} : {{The Linux Kernel/source|kernel/sched/wait.c}} 📖 References : {{The Linux Kernel/doc|Wait queues and Wake events|driver-api/basics.html#wait-queues-and-wake-events}} : [https://www.halolinux.us/kernel-reference/handling-wait-queues.html Handling wait queues] === Real-time === {{:The Linux Kernel/Multitasking/Real-time}} == Synchronization == Thread {{w|Synchronization (computer science)|synchronization}} is defined as a mechanism which ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as {{w|mutual exclusion}} (mutex). When one thread starts executing the critical section (serialized segment of the program) the other thread should wait until the first thread finishes. If proper synchronization techniques are not applied, it may cause a race condition where, the values of variables may be unpredictable and vary depending on the timings of context switches of the processes or threads. === User space synchronization === ==== Futex ==== A {{The Linux Kernel/man|2|futex}} ↪ {{The Linux Kernel/id|do_futex}} (short for "fast userspace mutex") is a kernel system call that programmers can use to implement basic locking, or as a building block for higher-level locking abstractions such as semaphores and POSIX mutexes or condition variables. A futex consists of a kernelspace ''wait queue'' that is attached to an aligned integer in userspace. Multiple processes or threads operate on the integer entirely in userspace (using atomic operations to avoid interfering with one another), and only resort to relatively expensive system calls to request operations on the wait queue (for example to wake up waiting processes, or to put the current process on the wait queue). A properly programmed futex-based lock will not use system calls except when the lock is contended; since most operations do not require arbitration between processes, this will not happen in most cases. The basic operations of futexes are based on only two central operations {{The Linux Kernel/id|futex_wait}} and {{The Linux Kernel/id|futex_wake}} though implementation has a more operations for more specialized cases. : WAIT (''addr'', ''val'') checks if the value stored at the address ''addr'' is ''val'', and if it is puts the current thread to sleep. : WAKE (''addr'', ''val'') wakes up ''val'' number of threads waiting on the address ''addr''. ⚲ API : {{The Linux Kernel/include|uapi/linux/futex.h}} : {{The Linux Kernel/include|linux/futex.h}} ⚙️ Internals: {{The Linux Kernel/source|kernel/futex.c}} 📖 References : {{w|Futex}} : {{The Linux Kernel/man|7|futex}} : {{The Linux Kernel/doc|Futex API reference|kernel-hacking/locking.html#futex-api-reference}} : {{The Linux Kernel/ltp|kernel/syscalls|futex}} ==== File locking ==== ⚲ API: {{The Linux Kernel/man|2|flock}} ==== Semaphore ==== 💾 ''History: Semaphore is part of System V IPC {{The Linux Kernel/man|7|sysvipc}}'' ⚲ API : {{The Linux Kernel/man|2|semget}} : {{The Linux Kernel/man|2|semctl}} : {{The Linux Kernel/man|2|semget}} ⚙️ Internals: {{The Linux Kernel/source|ipc/sem.c}} === Kernel space synchronization === For kernel mode synchronization Linux provides three categories of locking primitives: sleeping, per CPU local locks and spinning locks. ==== Read-Copy-Update ==== Common mechanism to solve the readers–writers problem is the {{w|read-copy-update}} (''RCU'') algorithm. Read-copy-update implements a kind of mutual exclusion that is wait-free (non-blocking) for readers, allowing extremely low overhead. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. 💾 ''History: RCU was added to Linux in October 2002. Since then, there are thousandths uses of the RCU API within the kernel including the networking protocol stacks and the memory-management system. The implementation of RCU in version 2.6 of the Linux kernel is among the better-known RCU implementations.'' ⚲ The core API in {{The Linux Kernel/include|linux/rcupdate.h}} is quite small: : {{The Linux Kernel/id|rcu_read_lock}} marks an RCU-protected data structure so that it won't be reclaimed for the full duration of that critical section. : {{The Linux Kernel/id|rcu_read_unlock}} is used by a reader to inform the reclaimer that the reader is exiting an RCU read-side critical section. Note that RCU read-side critical sections may be nested and/or overlapping. : {{The Linux Kernel/id|synchronize_rcu}} blocks until all pre-existing RCU read-side critical sections on all CPUs have completed. Note that <code>synchronize_rcu</code> will ''not'' necessarily wait for any subsequent RCU read-side critical sections to complete. 👁 For example, consider the following sequence of events:<pre> CPU 0 CPU 1 CPU 2 ----------------- ------------------------- --------------- 1. rcu_read_lock() 2. enters synchronize_rcu() 3. rcu_read_lock() 4. rcu_read_unlock() 5. exits synchronize_rcu() 6. rcu_read_unlock() </pre> [[File:Rcu api.jpg|thumb|upright=2|RCU API communications between the reader, updater, and reclaimer]] :Since <code>synchronize_rcu</code> is the API that must figure out when readers are done, its implementation is key to RCU. For RCU to be useful in all but the most read-intensive situations, <code>synchronize_rcu</code>'s overhead must also be quite small. :Alternatively, instead of blocking, synchronize_rcu may register a callback to be invoked after all ongoing RCU read-side critical sections have completed. This callback variant is called {{The Linux Kernel/id|call_rcu}} in the Linux kernel. : {{The Linux Kernel/id|rcu_assign_pointer}} - The updater uses this function to assign a new value to an RCU-protected pointer, in order to safely communicate the change in value from the updater to the reader. This function returns the new value, and also executes any [[memory barrier]] instructions required for a given CPU architecture. Perhaps more importantly, it serves to document which pointers are protected by RCU. : {{The Linux Kernel/id|rcu_dereference}} - The reader uses this function to fetch an RCU-protected pointer, which returns a value that may then be safely dereferenced. It also executes any directives required by the compiler or the CPU, for example, a volatile cast for gcc, a memory_order_consume load for C/C++11 or the memory-barrier instruction required by the old DEC Alpha CPU. The value returned by <code>rcu_dereference</code> is valid only within the enclosing RCU read-side critical section. As with <code>rcu_assign_pointer</code>, an important function of <code>rcu_dereference</code> is to document which pointers are protected by RCU. The RCU infrastructure observes the time sequence of <code>rcu_read_lock</code>, <code>rcu_read_unlock</code>, <code>synchronize_rcu</code>, and <code>call_rcu</code> invocations in order to determine when (1) <code>synchronize_rcu</code> invocations may return to their callers and (2) <code>call_rcu</code> callbacks may be invoked. Efficient implementations of the RCU infrastructure make heavy use of batching in order to amortize their overhead over many uses of the corresponding APIs. ⚙️ Internals : {{The Linux Kernel/source|kernel/rcu}} 📖 References : {{The Linux Kernel/doc|Avoiding Locks: Read Copy Update|kernel-hacking/locking.html?#avoiding-locks-read-copy-update}} : {{The Linux Kernel/doc|RCU concepts|RCU}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-9.html RCU initialization] ==== Sleeping locks ==== ===== Mutexes ===== ⚲ API : {{The Linux Kernel/include|linux/mutex.h}} : {{The Linux Kernel/include|linux/completion.h}} : {{The Linux Kernel/id|mutex}} has owner and usage constrains, more easy to debug then semaphore :: {{The Linux Kernel/id|rt_mutex}} blocking mutual exclusion locks with priority inheritance (PI) support :: {{The Linux Kernel/id|ww_mutex}} Wound/Wait mutexes: blocking mutual exclusion locks with deadlock avoidance : {{The Linux Kernel/id|rw_semaphore}} readers–writer semaphores : {{The Linux Kernel/id|percpu_rw_semaphore}} : {{The Linux Kernel/id|completion}} - use completion for synchronization task with ISR and task or two tasks. :: {{The Linux Kernel/id|wait_for_completion}} :: {{The Linux Kernel/id|complete}} 💾 ''Historical'' : {{The Linux Kernel/id|semaphore}} - use mutex instead semaphore if possible : {{The Linux Kernel/include|linux/semaphore.h}} : {{The Linux Kernel/include|linux/rwsem.h}} 📖 References : {{The Linux Kernel/doc|Completions - “wait for completion” barrier APIs|scheduler/completion.html}} : {{The Linux Kernel/doc|Mutex API reference|kernel-hacking/locking.html#mutex-api-reference}} : [http://lwn.net/Articles/23993/ LWN: completion events] ==== per CPU local lock ==== : {{The Linux Kernel/id|local_lock}}, {{The Linux Kernel/id|preempt_disable}} : {{The Linux Kernel/id|local_lock_irqsave}}, {{The Linux Kernel/id|local_irq_save}} : etc On normal preemptible kernel local_lock calls {{The Linux Kernel/id|preempt_disable}}. On RT preemptible kernel local_lock calls {{The Linux Kernel/id|migrate_disable}} and {{The Linux Kernel/id|spin_lock}}. Any changes applied to spinlock_t also apply to local_lock. ⚲ API : {{The Linux Kernel/include|linux/local_lock.h}} 📖 References : {{The Linux Kernel/doc|local_lock|locking/locktypes.html#local-lock}} : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} : {{The Linux Kernel/doc|Proper locking under a preemptive kernel|locking/preempt-locking.html}} : [https://lwn.net/Articles/828477/ Local locks in the kernel] 💾 ''History: Prior to kernel version 2.6, Linux disabled interrupt to implement short critical sections. Since version 2.6 and later, Linux is fully preemptive.'' ==== Spinning locks ==== ===== {{w|Spinlock}}s ===== a ''spinlock'' is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available. Since the thread remains active but is not performing a useful task, the use of such a lock is a kind of busy waiting. Once acquired, spinlocks will usually be held until they are explicitly released, although in some implementations they may be automatically released if the thread being waited on (that which holds the lock) blocks, or "goes to sleep". Spinlocks are commonly used inside kernels because they are efficient if threads are likely to be blocked for only short periods. However, spinlocks become wasteful if held for longer durations, as they may prevent other threads from running and require rescheduling. 👁 For example {{The Linux Kernel/id|kobj_kset_join}} uses spinlock to protect assess to the linked list. Enabling and disabling of kernel preemption replaced spinlocks on uniprocessor systems (disabled {{The Linux Kernel/id|CONFIG_SMP}}). Most spinning locks becoming sleeping locks in the {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} kernels. 📖 References : {{The Linux Kernel/id|spinlock_t}} : {{The Linux Kernel/id|raw_spinlock_t}} : {{The Linux Kernel/id|bit_spin_lock}} : : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-1.html Introduction to spinlocks] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-2.html Queued spinlocks] ===== {{w|Seqlock}}s ===== A ''seqlock'' (short for "sequential lock") is a special locking mechanism used in Linux for supporting fast writes of shared variables between two parallel operating system routines. It is a special solution to the readers–writers problem when the number of writers is small. It is a reader-writer consistent mechanism which avoids the problem of writer starvation. A {{The Linux Kernel/id|seqlock_t}} consists of storage for saving a sequence counter {{The Linux Kernel/id|seqcount_t}}/seqcount_spinlock_t in addition to a lock. The lock is to support synchronization between two writers and the counter is for indicating consistency in readers. In addition to updating the shared data, the writer increments the sequence counter, both after acquiring the lock and before releasing the lock. Readers read the sequence counter before and after reading the shared data. If the sequence counter is odd on either occasion, a writer had taken the lock while the data was being read and it may have changed. If the sequence counters are different, a writer has changed the data while it was being read. In either case readers simply retry (using a loop) until they read the same even sequence counter before and after. 💾 ''History: The semantics stabilized as of version 2.5.59, and they are present in the 2.6.x stable kernel series. The seqlocks were developed by Stephen Hemminger and originally called frlocks, based on earlier work by Andrea Arcangeli. The first implementation was in the x86-64 time code where it was needed to synchronize with user space where it was not possible to use a real lock.'' ⚲ API : {{The Linux Kernel/id|seqlock_t}} :: {{The Linux Kernel/id|DEFINE_SEQLOCK}}, {{The Linux Kernel/id|seqlock_init}}, {{The Linux Kernel/id|read_seqlock_excl}}, {{The Linux Kernel/id|write_seqlock}} : {{The Linux Kernel/id|seqcount_t}} :: {{The Linux Kernel/id|seqcount_init}}, {{The Linux Kernel/id|read_seqcount_begin}}, {{The Linux Kernel/id|read_seqcount_retry}}, {{The Linux Kernel/id|write_seqcount_begin}}, {{The Linux Kernel/id|write_seqcount_end}} : {{The Linux Kernel/include|linux/seqlock.h}} 👁 Example: {{The Linux Kernel/id|mount_lock}}, defined in {{The Linux Kernel/source|fs/namespace.c}} 📖 References : {{The Linux Kernel/doc|Sequence counters and sequential locks|locking/seqlock.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-6.html SeqLock] ==== Spinning or sleeping locks ==== :{| class="wikitable" ! !! normal !! on preempt RT |- | spinlock_t, || raw_spinlock_t || rt_mutex_base, rt_spin_lock, sleeping |- | rwlock_t || spinning || sleeping |- | local_lock || preempt_disable|| migrate_disable, rt_spin_lock, sleeping |} ==== Low level ==== The compiler might optimize away or reorder writes to variables leading to unexpected behavior when variables are accessed concurrently by multiple threads. ⚲ API : {{The Linux Kernel/include|asm-generic/rwonce.h}} &ndash; prevent the compiler from merging or refetching reads or writes. : {{The Linux Kernel/include|linux/compiler.h}} :: {{The Linux Kernel/id|barrier}} &ndash; prevents the compiler from reordering instructions around the barrier : {{The Linux Kernel/include|asm-generic/barrier.h}} &ndash; generic barrier definitions : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} &ndash; force strict CPU ordering :: {{The Linux Kernel/id|mb}} &ndash; ensures that all memory operations before the barrier are completed before any memory operations after the barrier are started ⚙️ Internals : {{The Linux Kernel/doc|Atomics|driver-api/basics.html#atomics}} :: {{The Linux Kernel/include|asm-generic/atomic.h}} :: {{The Linux Kernel/include|linux/atomic/atomic-instrumented.h}} ::: {{The Linux Kernel/id|atomic_dec_and_test}} ... 📚 Further reading : {{w|Volatile_(computer_programming)#In_C_and_C++|volatile}} &ndash; prevents the compiler from optimizations : {{w|Memory barrier}} &ndash; enforces an ordering constraint on memory operations ==== ... ==== ⚙️ Locking internals : {{The Linux Kernel/include|linux/lockdep.h}} &ndash; runtime locking correctness validator : {{The Linux Kernel/include|linux/debug_locks.h}} : {{The Linux Kernel/source|lib/locking-selftest.c}} : {{The Linux Kernel/source|kernel/locking}} : {{The Linux Kernel/id|timer_list}} {{The Linux Kernel/id|wait_queue_head_t}} :: {{The Linux Kernel/source|kernel/locking/locktorture.c}} &ndash; module-based torture test facility for locking 📖 Locking references : {{The Linux Kernel/doc|locking|locking}} :: {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} ::: 😴 {{The Linux Kernel/doc|sleeping locks|locking/locktypes.html#sleeping-locks}} :::: {{The Linux Kernel/id|mutex}}, {{The Linux Kernel/id|rt_mutex}}, {{The Linux Kernel/id|semaphore}}, {{The Linux Kernel/id|rw_semaphore}}, {{The Linux Kernel/id|ww_mutex}}, {{The Linux Kernel/id|percpu_rw_semaphore}} :::: on preempt RT: local_lock, spinlock_t, rwlock_t ::: 😵‍💫 {{The Linux Kernel/doc|spinning locks|locking/locktypes.html#spinning-locks}}: :::: raw_spinlock_t, bit spinlocks :::: on non preempt RT: spinlock_t, rwlock_t : {{The Linux Kernel/doc|Unreliable Guide To Locking|kernel-hacking/locking.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/ Synchronization primitives] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ticklesskernel Tickless (Full dynticks)], {{The Linux Kernel/id|CONFIG_NO_HZ_FULL}} === Time === ⚲ UAPI : {{The Linux Kernel/include|uapi/linux/time.h}} :: {{The Linux Kernel/id|timespec}} &ndash; nanosecond resolution :: {{The Linux Kernel/id|timeval}} &ndash; microsecond resolution :: {{The Linux Kernel/id|timezone}} :: ... : {{The Linux Kernel/include|uapi/linux/time_types.h}} :: {{The Linux Kernel/id|__kernel_timespec}} &ndash; nanosecond resolution, used in syscalls :: ... ⚲ API : {{The Linux Kernel/include|linux/time.h}} :: {{The Linux Kernel/id|tm}} :: {{The Linux Kernel/id|get_timespec64}} :: ... : {{The Linux Kernel/include|linux/ktime.h}} :: {{The Linux Kernel/id|ktime_t}} &ndash; nanosecond scalar representation for kernel time values :: {{The Linux Kernel/id|ktime_sub}} :: ... : {{The Linux Kernel/include|linux/timekeeping.h}} :: {{The Linux Kernel/id|ktime_get}}, {{The Linux Kernel/id|ktime_get_ns}} :: {{The Linux Kernel/id|ktime_get_real}} :: ... : {{The Linux Kernel/include|linux/time64.h}} :: {{The Linux Kernel/id|timespec64}} :: {{The Linux Kernel/id|time64_t}} :: {{The Linux Kernel/id|ns_to_timespec64}} :: {{The Linux Kernel/id|timespec64_sub}} :: {{The Linux Kernel/id|ktime_to_timespec64}} :: ... : {{The Linux Kernel/include|uapi/linux/rtc.h}} : {{The Linux Kernel/include|linux/jiffies.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time}} 📖 References : {{The Linux Kernel/doc|ktime accessors|core-api/timekeeping.html}} : {{The Linux Kernel/doc|Clock sources, Clock events, sched_clock() and delay timers|timers/timekeeping.html}} : {{The Linux Kernel/doc|Time and timer routines|driver-api/basics.html#time-and-timer-routines}} : {{w|Year 2038 problem}} == Interrupts == An {{w|interrupt}} is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. An interrupt alerts the processor to a high-priority condition requiring the interruption of the current code the processor is executing. The processor responds by suspending its current activities, saving its state, and executing a function called an ''interrupt handler'' (or an interrupt service routine, ISR) to deal with the event. This interruption is temporary, and, after the interrupt handler finishes, the processor resumes normal activities. There are two types of interrupts: hardware interrupts and software interrupts. Hardware interrupts are used by devices to communicate that they require attention from the operating system. For example, pressing a key on the keyboard or moving the mouse triggers hardware interrupts that cause the processor to read the keystroke or mouse position. Unlike the software type, hardware interrupts are asynchronous and can occur in the middle of instruction execution, requiring additional care in programming. The act of initiating a hardware interrupt is referred to as an ''interrupt request'' - IRQ (⚙️ {{The Linux Kernel/id|do_IRQ}}). A software interrupt is caused either by an exceptional condition in the processor itself, or a special instruction in the instruction set which causes an interrupt when it is executed. The former is often called a ''{{w|Trap (computing)|trap}}'' (⚙️ {{The Linux Kernel/id|do_trap}}) or ''exception'' and is used for errors or events occurring during program execution that are exceptional enough that they cannot be handled within the program itself. For example, if the processor's arithmetic logic unit is commanded to divide a number by zero, this impossible demand will cause a ''divide-by-zero exception'' (⚙️ {{The Linux Kernel/id|X86_TRAP_DE}}), perhaps causing the computer to abandon the calculation or display an error message. Software interrupt instructions function similarly to subroutine calls and are used for a variety of purposes, such as to request services from low-level system software such as device drivers. For example, computers often use software interrupt instructions to communicate with the disk controller to request data be read or written to the disk. Each interrupt has its own interrupt handler. The number of hardware interrupts is limited by the number of interrupt request (IRQ) lines to the processor, but there may be hundreds of different software interrupts. ⚲ API : /proc/interrupts : {{The Linux Kernel/man|1|irqtop}} &ndash; utility to display kernel interrupt information : [https://github.com/Irqbalance/irqbalance irqbalance] &ndash; distribute hardware interrupts across processors on a multiprocessor system : There are many ways to request ISR, two of them : {{The Linux Kernel/id|devm_request_threaded_irq}} &ndash; preferable function to allocate an interrupt line for a managed device with a threaded ISR : {{The Linux Kernel/id|request_irq}}, {{The Linux Kernel/id|free_irq}} &ndash; old and common functions to add and remove a handler for an interrupt line : {{The Linux Kernel/include|linux/interrupt.h}} &ndash; main interrupt support header :: {{The Linux Kernel/id|irqaction}} &ndash; contains handler functions : {{The Linux Kernel/include|linux/irq.h}} :: {{The Linux Kernel/id|irq_data}} : {{The Linux Kernel/include|include/linux/irqflags.h}} :: {{The Linux Kernel/id|irqs_disabled}} :: {{The Linux Kernel/id|local_irq_save}} ... :: {{The Linux Kernel/id|local_irq_disable}} ... : {{The Linux Kernel/include|linux/irqdesc.h}} :: {{The Linux Kernel/id|irq_desc}} : {{The Linux Kernel/include|linux/irqdomain.h}} :: {{The Linux Kernel/id|irq_domain}} &ndash; hardware interrupt number translation object :: {{The Linux Kernel/id|irq_domain_get_irq_data}} : {{The Linux Kernel/include|linux/msi.h}} &ndash; {{w|Message Signaled Interrupts}} :: {{The Linux Kernel/id|msi_desc}} : Structure of structures: :: {{The Linux Kernel/id|irq_desc}} is container of ::: {{The Linux Kernel/id|irq_data}} ::: {{The Linux Kernel/id|irq_common_data}} ::: list of {{The Linux Kernel/id|irqaction}} ⚙️ Internals : {{The Linux Kernel/source|kernel/irq/settings.h}} : {{The Linux Kernel/source|kernel/irq}} :: {{The Linux Kernel/source|kernel/irq/internals.h}} : ls /sys/kernel/debug/irq/domains/ :: {{The Linux Kernel/id|x86_vector_domain}}, {{The Linux Kernel/id|x86_vector_domain_ops}} : {{The Linux Kernel/id|irq_chip}} 📖 References : {{The Linux Kernel/doc|IRQs|core-api/irq}} :: {{The Linux Kernel/doc|The irq_domain interrupt number mapping library|core-api/irq/irq-domain.html}} : {{The Linux Kernel/doc|Linux generic IRQ handling|core-api/genericirq.html}} : {{The Linux Kernel/doc|Message Signaled Interrupts: The MSI Driver Guide|PCI/msi-howto.html}} : {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} : {{The Linux Kernel/doc|Hard IRQ Context|kernel-hacking/locking.html#hard-irq-context}} : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/ Interrupts] 👁 Examples : {{The Linux Kernel/id|dummy_irq_chip}} &ndash; dummy interrupt chip implementation : {{The Linux Kernel/source|lib/locking-selftest.c}} === IRQ affinity === ⚲ API : /proc/irq/default_smp_affinity : /proc/irq/*/smp_affinity and /proc/irq/*/smp_affinity_list Common types and functions: : struct {{The Linux Kernel/id|irq_affinity}} &ndash; description for automatic irq affinity assignments, see {{The Linux Kernel/id|devm_platform_get_irqs_affinity}} : struct {{The Linux Kernel/id|irq_affinity_desc}} &ndash; interrupt affinity descriptor, see {{The Linux Kernel/id|irq_update_affinity_desc}}, {{The Linux Kernel/id|irq_create_affinity_masks}} : {{The Linux Kernel/id|irq_set_affinity}} : {{The Linux Kernel/id|irq_get_affinity_mask}} : {{The Linux Kernel/id|irq_can_set_affinity}} : {{The Linux Kernel/id|irq_set_affinity_hint}} : {{The Linux Kernel/id|irqd_affinity_is_managed}} : {{The Linux Kernel/id|irq_data_get_affinity_mask}} : {{The Linux Kernel/id|irq_data_get_effective_affinity_mask}} : {{The Linux Kernel/id|irq_data_update_effective_affinity}} : {{The Linux Kernel/id|irq_set_affinity_notifier}} : {{The Linux Kernel/id|irq_affinity_notify}} : {{The Linux Kernel/id|irq_chip_set_affinity_parent}} : {{The Linux Kernel/id|irq_set_vcpu_affinity}} 🛠️ Utilities : [https://man.archlinux.org/man/extra/irqbalance/irqbalance.1.en irqbalance] – distributes hardware interrupts across CPUs ===== ... ===== 📖 References : {{The Linux Kernel/doc|SMP IRQ affinity|core-api/irq/irq-affinity.html}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start#irq_affinity IRQ affinity, LF] : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=managed_irq managed_irq kernel parameter], [https://lore.kernel.org/lkml/?q=managed_irq @LKML] : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=irqaffinity= irqaffinity kernel parameter], [https://lore.kernel.org/lkml/?q=irqaffinity @LKML] 📚 Further reading : IDT &ndash; {{w|Interrupt descriptor table}} == Deferred works == === Scheduler context === ==== Threaded IRQ ==== ⚲ API {{The Linux Kernel/id|devm_request_threaded_irq}}, {{The Linux Kernel/id|request_threaded_irq}} ISR should return IRQ_WAKE_THREAD to run thread function ⚙️ Internals : {{The Linux Kernel/id|setup_irq_thread}}, {{The Linux Kernel/id|irq_thread}} : {{The Linux Kernel/source|kernel/irq/manage.c}} 📖 References : {{The Linux Kernel/doc|request_threaded_irq|core-api/genericirq.html#c.request_threaded_irq}} ==== Work ==== work is a workqueue wrapper ⚲ API : {{The Linux Kernel/include|linux/workqueue.h}} : {{The Linux Kernel/id|work_struct}}, {{The Linux Kernel/id|INIT_WORK}}, {{The Linux Kernel/id|schedule_work}}, : {{The Linux Kernel/id|delayed_work}}, {{The Linux Kernel/id|INIT_DELAYED_WORK}}, {{The Linux_Kernel/id|schedule_delayed_work}}, {{The Linux Kernel/id|cancel_delayed_work_sync}} 👁 Example usage {{The Linux Kernel/source|samples/ftrace/sample-trace-array.c}} ⚙️ Internals: {{The Linux Kernel/id|system_wq}} ==== Workqueue ==== ⚲ API : {{The Linux Kernel/include|linux/workqueue.h}} : {{The Linux Kernel/id|workqueue_struct}}, {{The Linux Kernel/id|alloc_workqueue}}, {{The Linux Kernel/id|queue_work}} ⚙️ Internals : {{The Linux Kernel/id|workqueue_init}}, {{The Linux Kernel/id|create_worker}}, {{The Linux Kernel/id|pool_workqueue}} : {{The Linux Kernel/source|kernel/workqueue.c}} 📖 References : {{The Linux Kernel/doc|Concurrency Managed Workqueue|core-api/workqueue.html}} === Interrupt context === : {{The Linux Kernel/include|linux/irq_work.h}} &ndash; framework for enqueueing and running callbacks from hardirq context :: {{The Linux Kernel/source|samples/trace_printk/trace-printk.c}} ==== Timers ==== ===== softirq timer ===== This timer is a softirq for periodical tasks with jiffies resolution ⚲ API : {{The Linux Kernel/include|linux/timer.h}} : {{The Linux Kernel/id|timer_list}}, {{The Linux Kernel/id|DEFINE_TIMER}}, {{The Linux Kernel/id|timer_setup}} : {{The Linux Kernel/id|mod_timer}} &mdash; sets expiration time in jiffies. : {{The Linux Kernel/id|del_timer}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/timer.c}} 👁 Examples : {{The Linux Kernel/id|input_enable_softrepeat}} and {{The Linux Kernel/id|input_start_autorepeat}} ===== High-resolution timer ===== ⚲ API : {{The Linux Kernel/include|linux/hrtimer.h}} : {{The Linux Kernel/id|hrtimer}}, hrtimer.function &mdash; callback : {{The Linux Kernel/id|hrtimer_init}}, {{The Linux Kernel/id|hrtimer_cancel}} : {{The Linux Kernel/id|hrtimer_start}} starts a timer with nanosecond resolution 👁 Example {{The Linux Kernel/id|watchdog_enable}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_HIGH_RES_TIMERS}} : {{The Linux Kernel/source|kernel/time/hrtimer.c}} ''' 📚 HR timers references : {{The Linux Kernel/doc|High-resolution timers|driver-api/basics.html#high-resolution-timers}} : {{The Linux Kernel/doc|hrtimers - subsystem for high-resolution kernel timers|timers/hrtimers.html}} : {{The Linux Kernel/doc|high resolution timers and dynamic ticks design notes|timers/highres.html}} ===== ... ===== 📚 Timers references : {{The Linux Kernel/doc|Timers|timers}} : [https://lwn.net/Articles/913568/ Better CPU selection for timer expiration] ==== Tasklet ==== tasklet is a softirq, for time critical operations ⚲ API is deprecated in favor of threaded IRQs: {{The Linux Kernel/id|devm_request_threaded_irq}} : {{The Linux Kernel/id|tasklet_struct}}, {{The Linux Kernel/id|tasklet_init}}, {{The Linux Kernel/id|tasklet_schedule}} ⚙️ Internals: {{The Linux Kernel/id|tasklet_action_common}} HI_SOFTIRQ, TASKLET_SOFTIRQ ==== Softirq ==== softirq is internal system facility and should not be used directly. Use tasklet or threaded IRQs ⚲ API : cat /proc/softirqs : {{The Linux Kernel/id|open_softirq}} registers {{The Linux Kernel/id|softirq_action}} ⚙️ Internals : {{The Linux Kernel/source|kernel/softirq.c}} ⚲ API : {{The Linux Kernel/include|linux/interrupt.h}} 📖 References : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-9.html Introduction to deferred interrupts (Softirq, Tasklets and Workqueues)] : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-9.html Softirq, Tasklets and Workqueues] :[https://0xax.gitbooks.io/linux-insides/content/Timers/ Timers and time management] : [https://linux-kernel-labs.github.io/refs/heads/master/labs/deferred_work.html Deferred work, linux-kernel-labs] : [https://www.oreilly.com/library/view/linux-device-drivers/0596005903/ch07.html Chapter 7. Time, Delays, and Deferred Work] ==CPU specific== 🖱️ GUI : [https://manpages.ubuntu.com/manpages/kinetic/en/man8/tuna.8.html tuna] &ndash; program for tuning running processes ⚲ API : cat /proc/cpuinfo : /sys/devices/system/cpu/ : /sys/cpu/ : /sys/fs/cgroup/cpu/ : grep -i cpu /proc/self/status : [https://manpages.ubuntu.com/manpages/jammy/man1/rdmsr.1.html rdmsr] &ndash; tool for reading CPU machine specific registers (MSR) : {{The Linux Kernel/man|1|lscpu}} &ndash; display information about the CPU architecture : {{The Linux Kernel/include|linux/arch_topology.h}} &ndash; arch specific cpu topology information : {{The Linux Kernel/include|linux/cpu.h}} &ndash; generic cpu definition : {{The Linux Kernel/include|linux/cpu_cooling.h}} : {{The Linux Kernel/include|linux/cpu_pm.h}} : {{The Linux Kernel/include|linux/cpufeature.h}} : {{The Linux Kernel/include|linux/cpufreq.h}} : {{The Linux Kernel/include|linux/cpuidle.h}} &ndash; a generic framework for CPU idle power management : {{The Linux Kernel/include|linux/peci-cpu.h}} : {{The Linux Kernel/include|linux/sched/cpufreq.h}} &ndash; Interface between cpufreq drivers and the scheduler : {{The Linux Kernel/include|linux/sched/cputime.h}} &ndash; cputime accounting APIs ⚙️ Internals : {{The Linux Kernel/source|drivers/base/cpu.c}} :: {{The Linux Kernel/id|cpu_dev_init}} : {{The Linux Kernel/source|drivers/cpufreq}} :: {{The Linux Kernel/id|intel_pstate}} :: {{The Linux Kernel/id|acpi_cpufreq_driver}} : {{The Linux Kernel/source|drivers/cpuidle}} === Cache === : {{The Linux Kernel/include|linux/cacheflush.h}} :: {{The Linux Kernel/source|arch/x86/include/asm/cacheflush.h}}: {{The Linux Kernel/id|clflush_cache_range}} : {{The Linux Kernel/include|linux/cache.h}} :: {{The Linux Kernel/source|arch/x86/include/asm/cache.h}} ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/pat/set_memory.c}} 📖 References : {{The Linux Kernel/doc|Working-State Power Management|admin-guide/pm/working-state.html}} : https://www.thinkwiki.org/wiki/How_to_use_cpufrequtils : {{The Linux Kernel/ltp|kernel/device-drivers|cpufreq}} === {{w|Symmetric_multiprocessing|SMP}} === This chapter is about multiprocessing and {{w|Multi-core processor|muti-core}} aspects of Linux kernel. Key concepts and features of Linux SMP include: * Symmetry: In an SMP system, all processors are considered the same without hardware hierarchy in contradiction to use of {{w|coprocessor}}s. * Load balancing: The Linux kernel employs load balancing mechanisms to distribute tasks evenly among available CPU cores. This prevents any one core from becoming overwhelmed while others remain underutilized. * Parallelism: SMP enables parallel processing, where multiple threads or processes can execute simultaneously on different CPU cores. This can significantly improve the execution speed of applications that are designed to take advantage of multiple threads. * Thread scheduling: The Linux kernel scheduler is responsible for determining which threads or processes run on which CPU cores and for how long. It aims to optimize performance by minimizing contention and maximizing CPU utilization. * Shared memory: In an SMP system, all CPU cores typically share the same physical memory space. This allows processes and threads running on different cores to communicate and share data more efficiently. * NUMA &ndash; {{w|Non-Uniform Memory Access}}: In larger SMP systems, memory access times might not be uniform due to the physical arrangement of memory banks and processors. Linux has mechanisms to handle NUMA architectures efficiently, allowing processes to be scheduled on CPUs closer to their associated memory. * Cache coherency: SMP systems require mechanisms to ensure that all CPU cores have consistent views of memory. Cache coherency protocols ensure that changes made to shared memory locations are correctly propagated to all cores. * Scalability: SMP systems can be scaled up to include more CPU cores, enhancing the overall computing power of the system. However, as the number of cores increases, challenges related to memory access, contention, and communication between cores may arise. * Kernel and user space: Linux applications running in user space can take advantage of SMP without needing to be aware of the underlying hardware details. The kernel handles the management of CPU cores and resource allocation. 🗝️ Key terms : '''Affinity''' refers to assigning a process or thread to specific CPU cores. This helps control which CPUs execute tasks, potentially improving performance by reducing data movement between cores. It can be managed using system calls or commands. Affinity can be represented as CPU bitmask: {{The Linux Kernel/id|cpumask_t}} or CPU affinity list: {{The Linux Kernel/id|cpulist_parse}}. ⚲ API : <code>ps -PLe</code> &ndash; lists threads with processor that the thread last executed on (the third column PSR). : {{The Linux Kernel/man|1|taskset}} &ndash; set or retrieve a process's CPU affinity : {{The Linux Kernel/man|2|getcpu}} &ndash; determine CPU and NUMA node on which the calling thread is running : {{The Linux Kernel/man|8|chcpu}} &ndash; configure CPUs : {{The Linux Kernel/man|3|CPU_SET}} &ndash; macros for manipulating CPU sets : grep Cpus_allowed /proc/self/status : {{The Linux Kernel/man|2|sched_setaffinity}} {{The Linux Kernel/man|2|sched_getaffinity}} &ndash; set and get a thread's CPU affinity mask :: ↪ {{The Linux Kernel/id|sched_setaffinity}} : {{The Linux Kernel/id|set_cpus_allowed_ptr}} &ndash; common kernel function to change a task's affinity mask : {{The Linux Kernel/include|linux/smp.h}} : {{The Linux Kernel/include|linux/cpu.h}} : {{The Linux Kernel/include|linux/group_cpus.h}}: {{The Linux Kernel/id|group_cpus_evenly}} &ndash; groups all CPUs evenly per NUMA/CPU locality : {{The Linux Kernel/include|linux/cpu_rmap.h}} &ndash; CPU affinity reverse-map support : {{The Linux Kernel/include|linux/cpumask_types.h}} :: struct cpumask, {{The Linux Kernel/id|cpumask_t}} &ndash; CPUs bitmap, can be very big :: {{The Linux Kernel/id|cpumask_var_t}} &ndash; type for local cpumask variable, see {{The Linux Kernel/id|alloc_cpumask_var}}, {{The Linux Kernel/id|free_cpumask_var}}. : {{The Linux Kernel/include|linux/cpumask.h}} &ndash; Cpumasks provide a bitmap suitable for representing the set of CPU's in a system, one bit position per CPU number : {{The Linux Kernel/include|asm-generic/percpu.h}} : {{The Linux Kernel/include|linux/percpu-defs.h}} &ndash; basic definitions for percpu areas :: {{The Linux Kernel/id|this_cpu_ptr}} : {{The Linux Kernel/include|linux/percpu.h}} : {{The Linux Kernel/include|linux/percpu-refcount.h}} : {{The Linux Kernel/include|linux/percpu-rwsem.h}} : {{The Linux Kernel/include|linux/preempt.h}} :: {{The Linux Kernel/id|migrate_disable}}, {{The Linux Kernel/id|migrate_enable}} : /sys/bus/cpu : [[#per_CPU_local_lock|per CPU local_lock]] ⚙️ Internals : {{The Linux Kernel/id|boot_cpu_init}} activates the first CPU : {{The Linux Kernel/id|smp_prepare_cpus}} initializes rest CPUs during boot : {{The Linux Kernel/id|cpu_number}} : {{The Linux Kernel/id|cpus_mask}} – affinity of {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|CONFIG_SMP}} :: {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/include|trace/events/percpu.h}} : IPI &ndash; {{w|Inter-processor interrupt}} :: {{The Linux Kernel/include|trace/events/ipi.h}} :: {{The Linux Kernel/file|kernel/irq/ipi.c}} :: {{The Linux Kernel/id|ipi_send_single}}, {{The Linux Kernel/id|ipi_send_mask}} ... :: {{The Linux Kernel/file|drivers/base/cpu.c}} &ndash; CPU driver model subsystem support :: {{The Linux Kernel/file|kernel/cpu.c}} : smpboot :: {{The Linux Kernel/include|linux/smpboot.h}} :: {{The Linux Kernel/source|kernel/smpboot.c}} :: {{The Linux Kernel/source|arch/x86/kernel/smpboot.c}} : {{The Linux Kernel/source|lib/group_cpus.c}} 🛠️ Utilities : [https://man.archlinux.org/man/extra/irqbalance/irqbalance.1.en irqbalance] – distributes hardware interrupts across CPUs : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory 📖 References : {{The Linux Kernel/doc|CPU lists in command-line parameters|admin-guide/kernel-parameters.html#cpu-lists}} :: [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=nohz_full '''nohz_full'''] clears housekeeping.{{The Linux Kernel/id|cpumasks}} for tick, wq, timer, rcu, misc, and kthread in {{The Linux Kernel/id|housekeeping_nohz_full_setup}} 📚 Further reading : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU Partitioning] : {{The Linux Kernel/doc|Scheduler Domains|scheduler/sched-domains.html}} &ndash; the Scheduler balances CPUs (scheduling groups) within a sched domain : [https://lore.kernel.org/lkml/?q=nohz_full nohz_full @LKML] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/customizing-tuned-profiles_monitoring-and-managing-system-status-and-performance#functionalities-of-the-scheduler-tuned-plug-in_customizing-tuned-profiles Functionalities of the scheduler TuneD plugin] ==== CPU hotplug ==== CPU hotplugging in Linux refers to the ability to dynamically add or remove CPUs from the system without needing a reboot. This feature is crucial in environments requiring high availability and resource flexibility, such as data centers, virtualized systems, and systems that use power management aggressively. ⚲ API : /sys/devices/system/cpu/cpu*/online : /sys/devices/system/cpu/cpu*/hotplug/ : {{The Linux Kernel/include|include/linux/cpu.h}} :: {{The Linux Kernel/id|add_cpu}} ... : {{The Linux Kernel/include|linux/cpuhotplug.h}} :: {{The Linux Kernel/id|cpuhp_state}} &ndash; CPU hotplug states :: {{The Linux Kernel/id|cpuhp_setup_state}} ... &ndash; setups hotplug state callbacks ::: {{The Linux Kernel/id|cpuhp_setup_state_multi}} ::: {{The Linux Kernel/id|cpuhp_setup_state_nocalls}} : {{The Linux Kernel/include|linux/cpuhplock.h}} &ndash; CPU hotplug locking :: {{The Linux Kernel/id|cpus_read_lock}} ... :: {{The Linux Kernel/id|remove_cpu}} ... ⚙️ Internals : {{The Linux Kernel/source|kernel/cpu.c}} :: {{The Linux Kernel/id|cpuhp_hp_states}} :: {{The Linux Kernel/id|boot_cpu_hotplug_init}} :: {{The Linux Kernel/id|cpuhp_threads_init}} :: ... {{The Linux Kernel/id|cpuhp_invoke_callback_range}} ... : {{The Linux Kernel/source|kernel/irq/cpuhotplug.c}} : {{The Linux Kernel/source|drivers/base/cpu.c}} &ndash; CPU subsystem support :: {{The Linux Kernel/id|cpu_dev_init}} ::: ... {{The Linux Kernel/id|cpu_subsys_online}} 📖 References : {{The Linux Kernel/doc|CPU hotplug in the Kernel|core-api/cpu_hotplug.html}} 📚 Further reading : {{The Linux Kernel/id|CONFIG_CPU_HOTPLUG_STATE_CONTROL}} &ndash; enables the ability to write incremental steps between "offline" and "online" states to the CPU's sysfs target file, allowing for more granular control of state transitions. :: {{The Linux Kernel/id|target_store}}: {{The Linux Kernel/id|cpu_up}}/{{The Linux Kernel/id|cpu_down}} : [https://lore.kernel.org/lkml/?q=cpuhotplug cpuhotplug @LKML] ==== CPU isolation ==== CPU isolation ensures that specific tasks run on dedicated CPUs, reducing contention and latency. '''Housekeeping''' CPUs refer to the CPUs that are reserved for various '''system''' tasks. See {{The Linux Kernel/id|hk_type}}. '''Isolated''' CPUs are dedicated to '''real-time''' applications, such as DPDK. ⚲ API : [https://docs.kernel.org/admin-guide/cgroup-v2.html#:~:text=cpuset.cpus.isolated /sys/fs/cgroup/cpuset.cpus.isolated] : [https://docs.kernel.org/admin-guide/cgroup-v2.html#:~:text=Partition%20root%20without%20load%20balancing /sys/fs/cgroup/.../cpuset.cpus.partition] : {{The Linux Kernel/include|linux/sched/isolation.h}} :: {{The Linux Kernel/id|hk_type}} &ndash; housekeeping type :: {{The Linux Kernel/id|housekeeping_cpumask}} :: {{The Linux Kernel/id|cpu_is_isolated}} : {{The Linux Kernel/include|linux/cpuset.h}} &ndash; cpuset interface :: {{The Linux Kernel/id|cpuset_cpu_is_isolated}} : {{The Linux Kernel/man|7|cpuset}} &ndash; confine processes to processor and memory node subsets ⚙️ Internals : {{The Linux Kernel/id|CONFIG_CPU_ISOLATION}} :: {{The Linux Kernel/source|kernel/sched/isolation.c}} ::: {{The Linux Kernel/id|isolated_cpus}} : {{The Linux Kernel/id|CONFIG_CPUSETS}} :: {{The Linux Kernel/source|kernel/cgroup/cpuset.c}} ::: {{The Linux Kernel/id|cpuset_init}} ::: {{The Linux Kernel/id|cpuset_init_smp}} ::: {{The Linux Kernel/id|partition_xcpus_newstate}} 📖 References : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=isolcpus '''isolcpus'''] clears housekeeping.{{The Linux Kernel/id|cpumasks}} for domain (by default), tick, and managed_irq in {{The Linux Kernel/id|housekeeping_isolcpus_setup}} : {{The Linux Kernel/doc|CPUSETS of cgroup v2|admin-guide/cgroup-v2.html#cpuset}} : {{The Linux Kernel/doc|CPUSETS of cgroup v1|admin-guide/cgroup-v1/cpusets.html}} 📚 Further reading : [https://www.youtube.com/watch?v=1lomUhSS82s CPU Isolation state of the art, LPC'23] : [https://www.suse.com/c/cpu-isolation-introduction-part-1/ CPU Isolation] : [https://lore.kernel.org/lkml/?q=isolcpus isolcpus @LKML] : [https://lore.kernel.org/lkml/?q=housekeeping housekeeping @LKML] : [https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#explicitly-reserved-cpu-list Explicitly Reserved CPU List, Kubernetes Documentation] === {{w|Memory barrier}}s === Memory barriers (MB) are synchronization mechanisms used to ensure proper ordering of memory operations in a SMP environment. They play a crucial role in maintaining the consistency and correctness of data shared among different CPU cores or processors. MBs prevent unexpected and potentially harmful reordering of memory access instructions by the compiler or CPU, which can lead to data corruption and race conditions in a concurrent software system. ⚲ API : {{The Linux Kernel/man|2|membarrier}} : {{The Linux Kernel/include|asm-generic/barrier.h}} :: {{The Linux Kernel/id|mb}}, {{The Linux Kernel/id|rmb}}, {{The Linux Kernel/id|wmb}} :: {{The Linux Kernel/id|smp_mb}}, {{The Linux Kernel/id|smp_rmb}}, {{The Linux Kernel/id|smp_wmb}} ⚙️ Internals : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} : {{The Linux Kernel/source|kernel/sched/membarrier.c}} 📖 References : {{The Linux Kernel/doc|Memory barriers|core-api/wrappers/memory-barriers.html}} === Architectures === Linux CPU architectures refer to the different types of central processing units (CPUs) that are compatible with the Linux operating system. Linux is designed to run on a wide range of CPU architectures, which allows it to be utilized on various devices, from smartphones to servers and supercomputers. Each architecture has its own unique features, advantages, and design considerations. Architectures are classified by family (e.g. x86, ARM), {{w|Word (computer architecture)|word}} or {{w|Integer_(computer_science)#Long_integer|long int}} size (e.g. {{The Linux Kernel/id|CONFIG_32BIT}}, {{The Linux Kernel/id|CONFIG_64BIT}}). Some functions with different implementations for different CPU architectures: : {{The Linux Kernel/id|do_boot_cpu}} > {{The Linux Kernel/id|start_secondary}} > {{The Linux Kernel/id|cpu_init}} : {{The Linux Kernel/id|setup_arch}}, {{The Linux Kernel/id|start_thread}}, {{The Linux Kernel/id|get_current}}, {{Linux ident|current}} ⚲ API : {{The Linux Kernel/id|BITS_PER_LONG}}, {{The Linux Kernel/id|__BITS_PER_LONG}}, ⚙️ Arch internals : {{The Linux Kernel/source|arch}} :: '''x86''' ::: {{The Linux Kernel/id|CONFIG_X86}} ::: {{The Linux Kernel/source|arch/x86}} ::: {{The Linux Kernel/source|drivers/platform/x86}} ::: https://lwn.net/Kernel/Index/#Architectures-x86 :: '''ARM''' ::: {{The Linux Kernel/id|CONFIG_ARM}} ::: {{The Linux Kernel/source|arch/arm}}, {{The Linux Kernel/doc|ARM Architecture|arch/arm}} ::: https://lwn.net/Kernel/Index/#Architectures-ARM ::: {{The Linux Kernel/source|arch/arm64}}, {{The Linux Kernel/doc|ARM64 Architecture|arm64}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-5.html architecture-specific initialization] 📖 References : {{The Linux Kernel/doc|CPU Architectures|arch}} :: {{The Linux Kernel/doc|x86-specific|arch/x86}} ::: {{The Linux Kernel/doc|x86_64 Support|arch/x86/x86_64}} 📚 Further reading about multitasking, scheduling and CPU : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] {{BookCat}} 57hh0sn1spnom6soxooxaw4fapmwxs7 4444317 4444305 2024-11-10T18:53:08Z Conan 3188 ticklesskernel 4444317 wikitext text/x-wiki {{DISPLAYTITLE:Multitasking functionality}} {| style="width: 25%; float: right; text-align:center;border-spacing: 0; margin:auto;" cellpadding="5pc" ! bgcolor="#ffc" |multitasking |- | bgcolor="#eeb" |[[#Processes|processes]] |- | bgcolor="#dda" |[[#Threads_or_tasks|threads or tasks]] |- | bgcolor="#cc9" |[[#Synchronization|synchronization]] |- | bgcolor="#bb8" |[[#Scheduler|Scheduler]] |- | bgcolor="#aa8" |[[#Interrupts|interrupts core]] |- style="" | bgcolor="#997" |[[#CPU_specific|CPU specific]] |} Linux kernel is a preemptive {{w|Computer multitasking|multitasking}} operating system. As a multitasking OS, it allows multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. For that, the kernel can, at any time, temporarily interrupt a task being carried out by the processor, and replace it by another task that can be new or a previously suspended one. The operation involving the swapping of the running task is called ''{{w|context switch}}''. == Processes == '''Process''' is a running user space program. Kernel starts the first process '''/sbin/init''' in function {{The Linux Kernel/id|run_init_process}}using {{The Linux Kernel/id|kernel_execve}}. Processes occupy system resources, like memory, CPU time. System calls {{The Linux Kernel/id|sys_fork}} and {{The Linux Kernel/id|sys_execve}} are used to create new processes from user space. The process exit with an {{The Linux Kernel/id|sys_exit}} system call. Linux inherits from Unix its basic process management system calls (⚲ API ↪ ⚙️ implementations): {{The Linux Kernel/man|2|fork}} ↪ {{The Linux Kernel/id|kernel_clone}} creates a new process by {{w|Prototype_pattern|duplicating}} the process invoking it. {{The Linux Kernel/man|2|_exit}} ↪ {{The Linux Kernel/id|do_exit}} terminates the calling process "immediately". Any open file descriptors belonging to the process are closed. {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its children processes terminates. {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execve}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}} Linux enhances the traditional Unix process API with its own system calls {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). PID - {{w|Process identifier}} defined as {{The Linux Kernel/id|pid_t}} is unique sequential number. {{The Linux Kernel/man|1|ps}} -A lists current processes. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} return PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internal historically is called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. ⚲ API : [https://man7.org/linux/man-pages/man0/unistd.h.0p.html unistd.h] : [https://man7.org/linux/man-pages/man0/sys_types.h.0p.html sys/types.h] : [https://man7.org/linux/man-pages/man0/sys_wait.h.0p.html sys/wait.h] ⚙️ Internals : {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|pid_type}} : {{The Linux Kernel/source|kernel/fork.c}} :: syscalls: :: {{The Linux Kernel/man|2|set_tid_address}} &ndash; set pointer to thread ID :: {{The Linux Kernel/man|2|fork}} &ndash; create a child process :: {{The Linux Kernel/man|2|vfork}} &ndash; create a child process and block parent :: {{The Linux Kernel/man|2|clone}} &ndash; create a child process :: {{The Linux Kernel/man|2|unshare}} &ndash; disassociate parts of the process execution context : {{The Linux Kernel/source|kernel/sys.c}} :: syscalls: :: {{The Linux Kernel/man|2|prctl}} &ndash; operations on a process or thread : {{The Linux Kernel/source|kernel/pid.c}} :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor : {{The Linux Kernel/source|kernel/exit.c}} :: syscalls: :: {{The Linux Kernel/man|2|exit}} &ndash; terminate the calling process :: {{The Linux Kernel/man|2|exit_group}} &ndash; exit all threads in a process :: {{The Linux Kernel/man|2|waitid}} &ndash; wait for process to change state :: {{The Linux Kernel/man|2|waitpid}} &ndash; wait for process to change state : {{The Linux Kernel/source|fs/exec.c}} 📖 References : {{w|fork (system call)}} : {{w|exit (system call)}} : {{w|wait (system call)}} : {{w|exec (system call)}} === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces 🔧 TODO: {{The Linux Kernel/man|2|sigaction}} {{The Linux Kernel/man|2|signal}} {{The Linux Kernel/man|2|sigaltstack}} {{The Linux Kernel/man|2|sigpending}} {{The Linux Kernel/man|2|sigprocmask}} {{The Linux Kernel/man|2|sigsuspend}} {{The Linux Kernel/man|2|sigwaitinfo}} {{The Linux Kernel/man|2|sigtimedwait}} {{The Linux Kernel/source|kernel/signal.c}} : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : Sys V IPC: :: Message queues :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} == Threads or tasks == In Linux kernel "thread" and "task" are almost synonyms. 💾 ''History: Till 2.6.39, kernel mode has only one thread protected by {{w|big kernel lock}}.'' ⚲ API : {{The Linux Kernel/include|linux/sched.h}} - the main scheduler API :: {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/source|arch/x86/include/asm/current.h}} ::{{Linux ident|current}} and {{The Linux Kernel/id|get_current}} () return current {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/include|uapi/linux/taskstats.h}} per-task statistics : {{The Linux Kernel/include|linux/thread_info.h}} :: function&nbsp;{{The Linux Kernel/id|current_thread_info}}() returns {{The Linux Kernel/id|thread_info}} :{{The Linux Kernel/include|linux/sched/task.h}} - interface between the scheduler and various task lifetime (fork()/exit()) functionality : {{The Linux Kernel/include|linux/kthread.h}} - simple interface for creating and stopping kernel threads without mess. ::{{The Linux Kernel/id|kthread_run}} creates and wake a thread ::{{The Linux Kernel/id|kthread_create}} ⚙️ Internals : {{The Linux Kernel/id|kthread_run}} ↯ hierarchy: :: {{The Linux Kernel/id|kernel_thread}} ::: {{The Linux Kernel/id|kernel_clone}} : {{The Linux Kernel/source|kernel/kthread.c}} ==Scheduler== The ''{{w|Scheduling_(computing)#Linux|scheduler}}'' is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process. Active processes are placed in an array called a ''{{w|run queue}}'', or ''runqueue'' - {{The Linux Kernel/id|rq}}. The run queue may contain priority values for each process, which will be used by the scheduler to determine which process to run next. To ensure each program has a fair share of resources, each one is run for some time period (quantum) before it is paused and placed back into the run queue. When a program is stopped to let another run, the program with the highest priority in the run queue is then allowed to execute. Processes are also removed from the run queue when they ask to ''sleep'', are waiting on a resource to become available, or have been terminated. Linux uses the {{w|Completely Fair Scheduler}} (CFS), the first implementation of a fair queuing process scheduler widely used in a general-purpose operating system. CFS uses a well-studied, classic scheduling algorithm called "fair queuing" originally invented for packet networks. The CFS scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Choosing a task can be done in constant time, but reinserting a task after it has run requires O(log N) operations, because the run queue is implemented as a {{w|red–black tree}}. In contrast to the previous {{w|O(1) scheduler}}, the CFS scheduler implementation is not based on run queues. Instead, a red-black tree implements a "timeline" of future task execution. Additionally, the scheduler uses nanosecond granularity accounting, the atomic units by which an individual process' share of the CPU was allocated (thus making redundant the previous notion of timeslices). This precise knowledge also means that no specific heuristics are required to determine the interactivity of a process, for example. Like the old O(1) scheduler, CFS uses a concept called "sleeper fairness", which considers sleeping or waiting tasks equivalent to those on the runqueue. This means that interactive tasks which spend most of their time waiting for user input or other events get a comparable share of CPU time when they need it. The data structure used for the scheduling algorithm is a red-black tree in which the nodes are scheduler specific structures, entitled {{The Linux Kernel/id|sched_entity}}. These are derived from the general <tt>task_struct</tt> process descriptor, with added scheduler elements. These nodes are indexed by processor execution time in nanoseconds. A maximum execution time is also calculated for each process. This time is based upon the idea that an "ideal processor" would equally share processing power amongst all processes. Thus, the maximum execution time is the time the process has been waiting to run, divided by the total number of processes, or in other words, the maximum execution time is the time the process would have expected to run on an "ideal processor". When the scheduler is invoked to run a new processes, the operation of the scheduler is as follows: # The left most node of the scheduling tree is chosen (as it will have the lowest spent execution time), and sent for execution. # If the process simply completes execution, it is removed from the system and scheduling tree. # If the process reaches its maximum execution time or is otherwise stopped (voluntarily or via interrupt) it is reinserted into the scheduling tree based on its new spent execution time. # The new left-most node will then be selected from the tree, repeating the iteration. If the process spends a lot of its time sleeping, then its spent time value is low and it automatically gets the priority boost when it finally needs it. Hence such tasks do not get less processor time than the tasks that are constantly running. An alternative to CFS is the {{w|Brain Fuck Scheduler}} (BFS) created by Con Kolivas. The objective of BFS, compared to other schedulers, is to provide a scheduler with a simpler algorithm, that does not require adjustment of heuristics or tuning parameters to tailor performance to a specific type of computation workload. Con Kolivas also maintains another alternative to CFS, the MuQSS scheduler.<ref name="malte" /> The Linux kernel contains different scheduler classes (or policies). The Completely Fair Scheduler used nowadays by default is {{The Linux Kernel/id|SCHED_NORMAL}} scheduler class aka SCHED_OTHER. The kernel also contains two additional classes {{The Linux Kernel/id|SCHED_BATCH}} and {{The Linux Kernel/id|SCHED_IDLE}}, and another two real-time scheduling classes named {{The Linux Kernel/id|SCHED_FIFO}} (realtime first-in-first-out) and {{The Linux Kernel/id|SCHED_RR}} (realtime round-robin), with a third realtime scheduling policy known as {{The Linux Kernel/id|SCHED_DEADLINE}} that implements the {{w|Earliest deadline first scheduling|earliest deadline first algorithm (EDF)}} added later. Any realtime scheduler class takes precedence over any of the "normal" &mdash;i.e. non realtime&mdash; classes. The scheduler class is selected and configured through the {{The Linux Kernel/man|2|sched_setscheduler}} ↪ {{The Linux Kernel/id|do_sched_setscheduler}} system call. Properly balancing latency, throughput, and fairness in schedulers is an open problem.<ref name="malte" > Malte Skarupke. [https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ "Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is"]. </ref> ⚲ API : {{The Linux Kernel/man|1|renice}} &ndash; priority of running processes : {{The Linux Kernel/man|1|nice}} &ndash; run a program with modified scheduling priority : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process :: {{The Linux Kernel/man|2|sched_getattr}} ↪ {{The Linux Kernel/id|sys_sched_getattr}} &ndash; get scheduling policy and attributes : {{The Linux Kernel/include|linux/sched.h}} &ndash; the main scheduler API :: {{The Linux Kernel/id|schedule}} : {{The Linux Kernel/man|2|getpriority}}, {{The Linux Kernel/man|2|setpriority}} : {{The Linux Kernel/man|2|sched_setscheduler}}, {{The Linux Kernel/man|2|sched_getscheduler}} ⚙️ Internals :{{The Linux Kernel/id|sched_init}} is called from {{The Linux Kernel/id|start_kernel}} : {{The Linux Kernel/id|__schedule}} is the main scheduler function. : {{The Linux Kernel/id|runqueues}}, {{The Linux Kernel/id|this_rq}} : {{The Linux Kernel/source|kernel/sched}} : {{The Linux Kernel/source|kernel/sched/core.c}} : {{The Linux Kernel/source|kernel/sched/fair.c}} implements {{The Linux Kernel/id|SCHED_NORMAL}}, {{The Linux Kernel/id|SCHED_BATCH}}, {{The Linux Kernel/id|SCHED_IDLE}} : {{The Linux Kernel/id|sched_setscheduler}}, {{The Linux Kernel/id|sched_getscheduler}} : {{The Linux Kernel/id|task_struct}}::{{The Linux Kernel/id|rt_priority}} and other members with less unique identifiers 🛠️ Utilities : {{The Linux Kernel/man|1|pidstat}}] : {{The Linux Kernel/man|1|pcp-pidstat}} : {{The Linux Kernel/man|1|perf-sched}} : [https://opensource.googleblog.com/2019/10/understanding-scheduling-behavior-with.html Understanding Scheduling Behavior with SchedViz] 📖 References : {{The Linux Kernel/man|7|sched}} : {{The Linux Kernel/doc|Scheduling|scheduler}} : CFS :: {{The Linux Kernel/doc|Completely Fair Scheduler|scheduler/sched-design-CFS.html}} :: {{The Linux Kernel/doc|CFS Bandwidth Control|scheduler/sched-bwc.html}} :: [https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-tuning-taskscheduler.html Tuning the task scheduler] :: [https://home.robusta.dev/blog/stop-using-cpu-limits stop using CPU limits on Kubernetes] : [https://lwn.net/Kernel/Index/#Scheduler-Completely_fair_scheduler Completely fair scheduler LWN] : {{The Linux Kernel/doc|Deadline Task Scheduler|scheduler/sched-deadline.html}} : {{The Linux Kernel/ltp|kernel|sched}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setparam}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_getscheduler}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setscheduler}} 📚 Further reading about the scheduler : [https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md#lesson-10-scheduler-tracing Scheduler tracing] : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] === Preemption === Preemption refers to the ability of the system to interrupt a running task to switch to another task. This is essential for ensuring that high-priority tasks receive the necessary CPU time and for improving the system's responsiveness. In Linux, preemption models define how and when the kernel can preempt tasks. Different models offer varying trade-offs between system responsiveness and throughput. 📖 References : {{The Linux Kernel/source|kernel/Kconfig.preempt}} :: {{The Linux Kernel/id|CONFIG_PREEMPT_NONE}} &ndash; no forced preemption for servers :: {{The Linux Kernel/id|CONFIG_PREEMPT_VOLUNTARY}} &ndash; voluntary preemption for desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT}} &ndash; preemptible except for critical sections for low-latency desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} &ndash; real-time preemption for [[Embedded_Systems/Linux#Real-time|highly responsive applications]] :: {{The Linux Kernel/id|CONFIG_PREEMPT_DYNAMIC}}, see /sys/kernel/debug/sched/preempt === Wait queues === A ''wait queue'' in the kernel is a data structure that allows one or more processes to wait (sleep) until something of interest happens. They are used throughout the kernel to wait for available memory, I/O completion, message arrival, and many other things. In the early days of Linux, a wait queue was a simple list of waiting processes, but various scalability problems (including the {{w|thundering herd problem}}) have led to the addition of a fair amount of complexity since then. ⚲ API {{The Linux Kernel/include|linux/wait.h}} {{The Linux Kernel/id|wait_queue_head}} consists of double linked list of {{The Linux Kernel/id|wait_queue_entry}} and a spinlock. Waiting for simple events: : Use one of two methods for {{The Linux Kernel/id|wait_queue_head}} initialization: :: {{The Linux Kernel/id|init_waitqueue_head}} initializes {{The Linux Kernel/id|wait_queue_head}} in function context :: {{The Linux Kernel/id|DECLARE_WAIT_QUEUE_HEAD}} - actually defines {{The Linux Kernel/id|wait_queue_head}} in global context : Wait alternatives: :: {{The Linux Kernel/id|wait_event_interruptible}} - preferable wait :: {{The Linux Kernel/id|wait_event_interruptible_timeout}} :: {{The Linux Kernel/id|wait_event}} - uninterruptible wait. Can cause deadlock ⚠ : {{The Linux Kernel/id|wake_up}} etc 👁 For example usage see references to unique {{The Linux Kernel/id|suspend_queue}}. Explicit use of add_wait_queue instead of simple wait_event for complex cases: : {{The Linux Kernel/id|DECLARE_WAITQUEUE}} actually defines wait_queue_entry with {{The Linux Kernel/id|default_wake_function}} : {{The Linux Kernel/id|add_wait_queue}} inserts process in the first position of a wait queue : {{The Linux Kernel/id|remove_wait_queue}} ⚙️ Internals : {{The Linux Kernel/id|___wait_event}} : {{The Linux Kernel/id|__add_wait_queue}} : {{The Linux Kernel/id|__wake_up_common}}, {{The Linux Kernel/id|try_to_wake_up}} : {{The Linux Kernel/source|kernel/sched/wait.c}} 📖 References : {{The Linux Kernel/doc|Wait queues and Wake events|driver-api/basics.html#wait-queues-and-wake-events}} : [https://www.halolinux.us/kernel-reference/handling-wait-queues.html Handling wait queues] === Real-time === {{:The Linux Kernel/Multitasking/Real-time}} == Synchronization == Thread {{w|Synchronization (computer science)|synchronization}} is defined as a mechanism which ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as {{w|mutual exclusion}} (mutex). When one thread starts executing the critical section (serialized segment of the program) the other thread should wait until the first thread finishes. If proper synchronization techniques are not applied, it may cause a race condition where, the values of variables may be unpredictable and vary depending on the timings of context switches of the processes or threads. === User space synchronization === ==== Futex ==== A {{The Linux Kernel/man|2|futex}} ↪ {{The Linux Kernel/id|do_futex}} (short for "fast userspace mutex") is a kernel system call that programmers can use to implement basic locking, or as a building block for higher-level locking abstractions such as semaphores and POSIX mutexes or condition variables. A futex consists of a kernelspace ''wait queue'' that is attached to an aligned integer in userspace. Multiple processes or threads operate on the integer entirely in userspace (using atomic operations to avoid interfering with one another), and only resort to relatively expensive system calls to request operations on the wait queue (for example to wake up waiting processes, or to put the current process on the wait queue). A properly programmed futex-based lock will not use system calls except when the lock is contended; since most operations do not require arbitration between processes, this will not happen in most cases. The basic operations of futexes are based on only two central operations {{The Linux Kernel/id|futex_wait}} and {{The Linux Kernel/id|futex_wake}} though implementation has a more operations for more specialized cases. : WAIT (''addr'', ''val'') checks if the value stored at the address ''addr'' is ''val'', and if it is puts the current thread to sleep. : WAKE (''addr'', ''val'') wakes up ''val'' number of threads waiting on the address ''addr''. ⚲ API : {{The Linux Kernel/include|uapi/linux/futex.h}} : {{The Linux Kernel/include|linux/futex.h}} ⚙️ Internals: {{The Linux Kernel/source|kernel/futex.c}} 📖 References : {{w|Futex}} : {{The Linux Kernel/man|7|futex}} : {{The Linux Kernel/doc|Futex API reference|kernel-hacking/locking.html#futex-api-reference}} : {{The Linux Kernel/ltp|kernel/syscalls|futex}} ==== File locking ==== ⚲ API: {{The Linux Kernel/man|2|flock}} ==== Semaphore ==== 💾 ''History: Semaphore is part of System V IPC {{The Linux Kernel/man|7|sysvipc}}'' ⚲ API : {{The Linux Kernel/man|2|semget}} : {{The Linux Kernel/man|2|semctl}} : {{The Linux Kernel/man|2|semget}} ⚙️ Internals: {{The Linux Kernel/source|ipc/sem.c}} === Kernel space synchronization === For kernel mode synchronization Linux provides three categories of locking primitives: sleeping, per CPU local locks and spinning locks. ==== Read-Copy-Update ==== Common mechanism to solve the readers–writers problem is the {{w|read-copy-update}} (''RCU'') algorithm. Read-copy-update implements a kind of mutual exclusion that is wait-free (non-blocking) for readers, allowing extremely low overhead. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. 💾 ''History: RCU was added to Linux in October 2002. Since then, there are thousandths uses of the RCU API within the kernel including the networking protocol stacks and the memory-management system. The implementation of RCU in version 2.6 of the Linux kernel is among the better-known RCU implementations.'' ⚲ The core API in {{The Linux Kernel/include|linux/rcupdate.h}} is quite small: : {{The Linux Kernel/id|rcu_read_lock}} marks an RCU-protected data structure so that it won't be reclaimed for the full duration of that critical section. : {{The Linux Kernel/id|rcu_read_unlock}} is used by a reader to inform the reclaimer that the reader is exiting an RCU read-side critical section. Note that RCU read-side critical sections may be nested and/or overlapping. : {{The Linux Kernel/id|synchronize_rcu}} blocks until all pre-existing RCU read-side critical sections on all CPUs have completed. Note that <code>synchronize_rcu</code> will ''not'' necessarily wait for any subsequent RCU read-side critical sections to complete. 👁 For example, consider the following sequence of events:<pre> CPU 0 CPU 1 CPU 2 ----------------- ------------------------- --------------- 1. rcu_read_lock() 2. enters synchronize_rcu() 3. rcu_read_lock() 4. rcu_read_unlock() 5. exits synchronize_rcu() 6. rcu_read_unlock() </pre> [[File:Rcu api.jpg|thumb|upright=2|RCU API communications between the reader, updater, and reclaimer]] :Since <code>synchronize_rcu</code> is the API that must figure out when readers are done, its implementation is key to RCU. For RCU to be useful in all but the most read-intensive situations, <code>synchronize_rcu</code>'s overhead must also be quite small. :Alternatively, instead of blocking, synchronize_rcu may register a callback to be invoked after all ongoing RCU read-side critical sections have completed. This callback variant is called {{The Linux Kernel/id|call_rcu}} in the Linux kernel. : {{The Linux Kernel/id|rcu_assign_pointer}} - The updater uses this function to assign a new value to an RCU-protected pointer, in order to safely communicate the change in value from the updater to the reader. This function returns the new value, and also executes any [[memory barrier]] instructions required for a given CPU architecture. Perhaps more importantly, it serves to document which pointers are protected by RCU. : {{The Linux Kernel/id|rcu_dereference}} - The reader uses this function to fetch an RCU-protected pointer, which returns a value that may then be safely dereferenced. It also executes any directives required by the compiler or the CPU, for example, a volatile cast for gcc, a memory_order_consume load for C/C++11 or the memory-barrier instruction required by the old DEC Alpha CPU. The value returned by <code>rcu_dereference</code> is valid only within the enclosing RCU read-side critical section. As with <code>rcu_assign_pointer</code>, an important function of <code>rcu_dereference</code> is to document which pointers are protected by RCU. The RCU infrastructure observes the time sequence of <code>rcu_read_lock</code>, <code>rcu_read_unlock</code>, <code>synchronize_rcu</code>, and <code>call_rcu</code> invocations in order to determine when (1) <code>synchronize_rcu</code> invocations may return to their callers and (2) <code>call_rcu</code> callbacks may be invoked. Efficient implementations of the RCU infrastructure make heavy use of batching in order to amortize their overhead over many uses of the corresponding APIs. ⚙️ Internals : {{The Linux Kernel/source|kernel/rcu}} 📖 References : {{The Linux Kernel/doc|Avoiding Locks: Read Copy Update|kernel-hacking/locking.html?#avoiding-locks-read-copy-update}} : {{The Linux Kernel/doc|RCU concepts|RCU}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-9.html RCU initialization] ==== Sleeping locks ==== ===== Mutexes ===== ⚲ API : {{The Linux Kernel/include|linux/mutex.h}} : {{The Linux Kernel/include|linux/completion.h}} : {{The Linux Kernel/id|mutex}} has owner and usage constrains, more easy to debug then semaphore :: {{The Linux Kernel/id|rt_mutex}} blocking mutual exclusion locks with priority inheritance (PI) support :: {{The Linux Kernel/id|ww_mutex}} Wound/Wait mutexes: blocking mutual exclusion locks with deadlock avoidance : {{The Linux Kernel/id|rw_semaphore}} readers–writer semaphores : {{The Linux Kernel/id|percpu_rw_semaphore}} : {{The Linux Kernel/id|completion}} - use completion for synchronization task with ISR and task or two tasks. :: {{The Linux Kernel/id|wait_for_completion}} :: {{The Linux Kernel/id|complete}} 💾 ''Historical'' : {{The Linux Kernel/id|semaphore}} - use mutex instead semaphore if possible : {{The Linux Kernel/include|linux/semaphore.h}} : {{The Linux Kernel/include|linux/rwsem.h}} 📖 References : {{The Linux Kernel/doc|Completions - “wait for completion” barrier APIs|scheduler/completion.html}} : {{The Linux Kernel/doc|Mutex API reference|kernel-hacking/locking.html#mutex-api-reference}} : [http://lwn.net/Articles/23993/ LWN: completion events] ==== per CPU local lock ==== : {{The Linux Kernel/id|local_lock}}, {{The Linux Kernel/id|preempt_disable}} : {{The Linux Kernel/id|local_lock_irqsave}}, {{The Linux Kernel/id|local_irq_save}} : etc On normal preemptible kernel local_lock calls {{The Linux Kernel/id|preempt_disable}}. On RT preemptible kernel local_lock calls {{The Linux Kernel/id|migrate_disable}} and {{The Linux Kernel/id|spin_lock}}. Any changes applied to spinlock_t also apply to local_lock. ⚲ API : {{The Linux Kernel/include|linux/local_lock.h}} 📖 References : {{The Linux Kernel/doc|local_lock|locking/locktypes.html#local-lock}} : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} : {{The Linux Kernel/doc|Proper locking under a preemptive kernel|locking/preempt-locking.html}} : [https://lwn.net/Articles/828477/ Local locks in the kernel] 💾 ''History: Prior to kernel version 2.6, Linux disabled interrupt to implement short critical sections. Since version 2.6 and later, Linux is fully preemptive.'' ==== Spinning locks ==== ===== {{w|Spinlock}}s ===== a ''spinlock'' is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available. Since the thread remains active but is not performing a useful task, the use of such a lock is a kind of busy waiting. Once acquired, spinlocks will usually be held until they are explicitly released, although in some implementations they may be automatically released if the thread being waited on (that which holds the lock) blocks, or "goes to sleep". Spinlocks are commonly used inside kernels because they are efficient if threads are likely to be blocked for only short periods. However, spinlocks become wasteful if held for longer durations, as they may prevent other threads from running and require rescheduling. 👁 For example {{The Linux Kernel/id|kobj_kset_join}} uses spinlock to protect assess to the linked list. Enabling and disabling of kernel preemption replaced spinlocks on uniprocessor systems (disabled {{The Linux Kernel/id|CONFIG_SMP}}). Most spinning locks becoming sleeping locks in the {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} kernels. 📖 References : {{The Linux Kernel/id|spinlock_t}} : {{The Linux Kernel/id|raw_spinlock_t}} : {{The Linux Kernel/id|bit_spin_lock}} : : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-1.html Introduction to spinlocks] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-2.html Queued spinlocks] ===== {{w|Seqlock}}s ===== A ''seqlock'' (short for "sequential lock") is a special locking mechanism used in Linux for supporting fast writes of shared variables between two parallel operating system routines. It is a special solution to the readers–writers problem when the number of writers is small. It is a reader-writer consistent mechanism which avoids the problem of writer starvation. A {{The Linux Kernel/id|seqlock_t}} consists of storage for saving a sequence counter {{The Linux Kernel/id|seqcount_t}}/seqcount_spinlock_t in addition to a lock. The lock is to support synchronization between two writers and the counter is for indicating consistency in readers. In addition to updating the shared data, the writer increments the sequence counter, both after acquiring the lock and before releasing the lock. Readers read the sequence counter before and after reading the shared data. If the sequence counter is odd on either occasion, a writer had taken the lock while the data was being read and it may have changed. If the sequence counters are different, a writer has changed the data while it was being read. In either case readers simply retry (using a loop) until they read the same even sequence counter before and after. 💾 ''History: The semantics stabilized as of version 2.5.59, and they are present in the 2.6.x stable kernel series. The seqlocks were developed by Stephen Hemminger and originally called frlocks, based on earlier work by Andrea Arcangeli. The first implementation was in the x86-64 time code where it was needed to synchronize with user space where it was not possible to use a real lock.'' ⚲ API : {{The Linux Kernel/id|seqlock_t}} :: {{The Linux Kernel/id|DEFINE_SEQLOCK}}, {{The Linux Kernel/id|seqlock_init}}, {{The Linux Kernel/id|read_seqlock_excl}}, {{The Linux Kernel/id|write_seqlock}} : {{The Linux Kernel/id|seqcount_t}} :: {{The Linux Kernel/id|seqcount_init}}, {{The Linux Kernel/id|read_seqcount_begin}}, {{The Linux Kernel/id|read_seqcount_retry}}, {{The Linux Kernel/id|write_seqcount_begin}}, {{The Linux Kernel/id|write_seqcount_end}} : {{The Linux Kernel/include|linux/seqlock.h}} 👁 Example: {{The Linux Kernel/id|mount_lock}}, defined in {{The Linux Kernel/source|fs/namespace.c}} 📖 References : {{The Linux Kernel/doc|Sequence counters and sequential locks|locking/seqlock.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-6.html SeqLock] ==== Spinning or sleeping locks ==== :{| class="wikitable" ! !! normal !! on preempt RT |- | spinlock_t, || raw_spinlock_t || rt_mutex_base, rt_spin_lock, sleeping |- | rwlock_t || spinning || sleeping |- | local_lock || preempt_disable|| migrate_disable, rt_spin_lock, sleeping |} ==== Low level ==== The compiler might optimize away or reorder writes to variables leading to unexpected behavior when variables are accessed concurrently by multiple threads. ⚲ API : {{The Linux Kernel/include|asm-generic/rwonce.h}} &ndash; prevent the compiler from merging or refetching reads or writes. : {{The Linux Kernel/include|linux/compiler.h}} :: {{The Linux Kernel/id|barrier}} &ndash; prevents the compiler from reordering instructions around the barrier : {{The Linux Kernel/include|asm-generic/barrier.h}} &ndash; generic barrier definitions : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} &ndash; force strict CPU ordering :: {{The Linux Kernel/id|mb}} &ndash; ensures that all memory operations before the barrier are completed before any memory operations after the barrier are started ⚙️ Internals : {{The Linux Kernel/doc|Atomics|driver-api/basics.html#atomics}} :: {{The Linux Kernel/include|asm-generic/atomic.h}} :: {{The Linux Kernel/include|linux/atomic/atomic-instrumented.h}} ::: {{The Linux Kernel/id|atomic_dec_and_test}} ... 📚 Further reading : {{w|Volatile_(computer_programming)#In_C_and_C++|volatile}} &ndash; prevents the compiler from optimizations : {{w|Memory barrier}} &ndash; enforces an ordering constraint on memory operations ==== ... ==== ⚙️ Locking internals : {{The Linux Kernel/include|linux/lockdep.h}} &ndash; runtime locking correctness validator : {{The Linux Kernel/include|linux/debug_locks.h}} : {{The Linux Kernel/source|lib/locking-selftest.c}} : {{The Linux Kernel/source|kernel/locking}} : {{The Linux Kernel/id|timer_list}} {{The Linux Kernel/id|wait_queue_head_t}} :: {{The Linux Kernel/source|kernel/locking/locktorture.c}} &ndash; module-based torture test facility for locking 📖 Locking references : {{The Linux Kernel/doc|locking|locking}} :: {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} ::: 😴 {{The Linux Kernel/doc|sleeping locks|locking/locktypes.html#sleeping-locks}} :::: {{The Linux Kernel/id|mutex}}, {{The Linux Kernel/id|rt_mutex}}, {{The Linux Kernel/id|semaphore}}, {{The Linux Kernel/id|rw_semaphore}}, {{The Linux Kernel/id|ww_mutex}}, {{The Linux Kernel/id|percpu_rw_semaphore}} :::: on preempt RT: local_lock, spinlock_t, rwlock_t ::: 😵‍💫 {{The Linux Kernel/doc|spinning locks|locking/locktypes.html#spinning-locks}}: :::: raw_spinlock_t, bit spinlocks :::: on non preempt RT: spinlock_t, rwlock_t : {{The Linux Kernel/doc|Unreliable Guide To Locking|kernel-hacking/locking.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/ Synchronization primitives] === Time === ⚲ UAPI : {{The Linux Kernel/include|uapi/linux/time.h}} :: {{The Linux Kernel/id|timespec}} &ndash; nanosecond resolution :: {{The Linux Kernel/id|timeval}} &ndash; microsecond resolution :: {{The Linux Kernel/id|timezone}} :: ... : {{The Linux Kernel/include|uapi/linux/time_types.h}} :: {{The Linux Kernel/id|__kernel_timespec}} &ndash; nanosecond resolution, used in syscalls :: ... ⚲ API : {{The Linux Kernel/include|linux/time.h}} :: {{The Linux Kernel/id|tm}} :: {{The Linux Kernel/id|get_timespec64}} :: ... : {{The Linux Kernel/include|linux/ktime.h}} :: {{The Linux Kernel/id|ktime_t}} &ndash; nanosecond scalar representation for kernel time values :: {{The Linux Kernel/id|ktime_sub}} :: ... : {{The Linux Kernel/include|linux/timekeeping.h}} :: {{The Linux Kernel/id|ktime_get}}, {{The Linux Kernel/id|ktime_get_ns}} :: {{The Linux Kernel/id|ktime_get_real}} :: ... : {{The Linux Kernel/include|linux/time64.h}} :: {{The Linux Kernel/id|timespec64}} :: {{The Linux Kernel/id|time64_t}} :: {{The Linux Kernel/id|ns_to_timespec64}} :: {{The Linux Kernel/id|timespec64_sub}} :: {{The Linux Kernel/id|ktime_to_timespec64}} :: ... : {{The Linux Kernel/include|uapi/linux/rtc.h}} : {{The Linux Kernel/include|linux/jiffies.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time}} 📖 References : {{The Linux Kernel/doc|ktime accessors|core-api/timekeeping.html}} : {{The Linux Kernel/doc|Clock sources, Clock events, sched_clock() and delay timers|timers/timekeeping.html}} : {{The Linux Kernel/doc|Time and timer routines|driver-api/basics.html#time-and-timer-routines}} : {{w|Year 2038 problem}} == Interrupts == An {{w|interrupt}} is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. An interrupt alerts the processor to a high-priority condition requiring the interruption of the current code the processor is executing. The processor responds by suspending its current activities, saving its state, and executing a function called an ''interrupt handler'' (or an interrupt service routine, ISR) to deal with the event. This interruption is temporary, and, after the interrupt handler finishes, the processor resumes normal activities. There are two types of interrupts: hardware interrupts and software interrupts. Hardware interrupts are used by devices to communicate that they require attention from the operating system. For example, pressing a key on the keyboard or moving the mouse triggers hardware interrupts that cause the processor to read the keystroke or mouse position. Unlike the software type, hardware interrupts are asynchronous and can occur in the middle of instruction execution, requiring additional care in programming. The act of initiating a hardware interrupt is referred to as an ''interrupt request'' - IRQ (⚙️ {{The Linux Kernel/id|do_IRQ}}). A software interrupt is caused either by an exceptional condition in the processor itself, or a special instruction in the instruction set which causes an interrupt when it is executed. The former is often called a ''{{w|Trap (computing)|trap}}'' (⚙️ {{The Linux Kernel/id|do_trap}}) or ''exception'' and is used for errors or events occurring during program execution that are exceptional enough that they cannot be handled within the program itself. For example, if the processor's arithmetic logic unit is commanded to divide a number by zero, this impossible demand will cause a ''divide-by-zero exception'' (⚙️ {{The Linux Kernel/id|X86_TRAP_DE}}), perhaps causing the computer to abandon the calculation or display an error message. Software interrupt instructions function similarly to subroutine calls and are used for a variety of purposes, such as to request services from low-level system software such as device drivers. For example, computers often use software interrupt instructions to communicate with the disk controller to request data be read or written to the disk. Each interrupt has its own interrupt handler. The number of hardware interrupts is limited by the number of interrupt request (IRQ) lines to the processor, but there may be hundreds of different software interrupts. ⚲ API : /proc/interrupts : {{The Linux Kernel/man|1|irqtop}} &ndash; utility to display kernel interrupt information : [https://github.com/Irqbalance/irqbalance irqbalance] &ndash; distribute hardware interrupts across processors on a multiprocessor system : There are many ways to request ISR, two of them : {{The Linux Kernel/id|devm_request_threaded_irq}} &ndash; preferable function to allocate an interrupt line for a managed device with a threaded ISR : {{The Linux Kernel/id|request_irq}}, {{The Linux Kernel/id|free_irq}} &ndash; old and common functions to add and remove a handler for an interrupt line : {{The Linux Kernel/include|linux/interrupt.h}} &ndash; main interrupt support header :: {{The Linux Kernel/id|irqaction}} &ndash; contains handler functions : {{The Linux Kernel/include|linux/irq.h}} :: {{The Linux Kernel/id|irq_data}} : {{The Linux Kernel/include|include/linux/irqflags.h}} :: {{The Linux Kernel/id|irqs_disabled}} :: {{The Linux Kernel/id|local_irq_save}} ... :: {{The Linux Kernel/id|local_irq_disable}} ... : {{The Linux Kernel/include|linux/irqdesc.h}} :: {{The Linux Kernel/id|irq_desc}} : {{The Linux Kernel/include|linux/irqdomain.h}} :: {{The Linux Kernel/id|irq_domain}} &ndash; hardware interrupt number translation object :: {{The Linux Kernel/id|irq_domain_get_irq_data}} : {{The Linux Kernel/include|linux/msi.h}} &ndash; {{w|Message Signaled Interrupts}} :: {{The Linux Kernel/id|msi_desc}} : Structure of structures: :: {{The Linux Kernel/id|irq_desc}} is container of ::: {{The Linux Kernel/id|irq_data}} ::: {{The Linux Kernel/id|irq_common_data}} ::: list of {{The Linux Kernel/id|irqaction}} ⚙️ Internals : {{The Linux Kernel/source|kernel/irq/settings.h}} : {{The Linux Kernel/source|kernel/irq}} :: {{The Linux Kernel/source|kernel/irq/internals.h}} : ls /sys/kernel/debug/irq/domains/ :: {{The Linux Kernel/id|x86_vector_domain}}, {{The Linux Kernel/id|x86_vector_domain_ops}} : {{The Linux Kernel/id|irq_chip}} 📖 References : {{The Linux Kernel/doc|IRQs|core-api/irq}} :: {{The Linux Kernel/doc|The irq_domain interrupt number mapping library|core-api/irq/irq-domain.html}} : {{The Linux Kernel/doc|Linux generic IRQ handling|core-api/genericirq.html}} : {{The Linux Kernel/doc|Message Signaled Interrupts: The MSI Driver Guide|PCI/msi-howto.html}} : {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} : {{The Linux Kernel/doc|Hard IRQ Context|kernel-hacking/locking.html#hard-irq-context}} : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/ Interrupts] 👁 Examples : {{The Linux Kernel/id|dummy_irq_chip}} &ndash; dummy interrupt chip implementation : {{The Linux Kernel/source|lib/locking-selftest.c}} === IRQ affinity === ⚲ API : /proc/irq/default_smp_affinity : /proc/irq/*/smp_affinity and /proc/irq/*/smp_affinity_list Common types and functions: : struct {{The Linux Kernel/id|irq_affinity}} &ndash; description for automatic irq affinity assignments, see {{The Linux Kernel/id|devm_platform_get_irqs_affinity}} : struct {{The Linux Kernel/id|irq_affinity_desc}} &ndash; interrupt affinity descriptor, see {{The Linux Kernel/id|irq_update_affinity_desc}}, {{The Linux Kernel/id|irq_create_affinity_masks}} : {{The Linux Kernel/id|irq_set_affinity}} : {{The Linux Kernel/id|irq_get_affinity_mask}} : {{The Linux Kernel/id|irq_can_set_affinity}} : {{The Linux Kernel/id|irq_set_affinity_hint}} : {{The Linux Kernel/id|irqd_affinity_is_managed}} : {{The Linux Kernel/id|irq_data_get_affinity_mask}} : {{The Linux Kernel/id|irq_data_get_effective_affinity_mask}} : {{The Linux Kernel/id|irq_data_update_effective_affinity}} : {{The Linux Kernel/id|irq_set_affinity_notifier}} : {{The Linux Kernel/id|irq_affinity_notify}} : {{The Linux Kernel/id|irq_chip_set_affinity_parent}} : {{The Linux Kernel/id|irq_set_vcpu_affinity}} 🛠️ Utilities : [https://man.archlinux.org/man/extra/irqbalance/irqbalance.1.en irqbalance] – distributes hardware interrupts across CPUs ===== ... ===== 📖 References : {{The Linux Kernel/doc|SMP IRQ affinity|core-api/irq/irq-affinity.html}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start#irq_affinity IRQ affinity, LF] : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=managed_irq managed_irq kernel parameter], [https://lore.kernel.org/lkml/?q=managed_irq @LKML] : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=irqaffinity= irqaffinity kernel parameter], [https://lore.kernel.org/lkml/?q=irqaffinity @LKML] 📚 Further reading : IDT &ndash; {{w|Interrupt descriptor table}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ticklesskernel Tickless (Full dynticks)] reduces timer interrupts overhead, {{The Linux Kernel/id|CONFIG_NO_HZ_FULL}} == Deferred works == === Scheduler context === ==== Threaded IRQ ==== ⚲ API {{The Linux Kernel/id|devm_request_threaded_irq}}, {{The Linux Kernel/id|request_threaded_irq}} ISR should return IRQ_WAKE_THREAD to run thread function ⚙️ Internals : {{The Linux Kernel/id|setup_irq_thread}}, {{The Linux Kernel/id|irq_thread}} : {{The Linux Kernel/source|kernel/irq/manage.c}} 📖 References : {{The Linux Kernel/doc|request_threaded_irq|core-api/genericirq.html#c.request_threaded_irq}} ==== Work ==== work is a workqueue wrapper ⚲ API : {{The Linux Kernel/include|linux/workqueue.h}} : {{The Linux Kernel/id|work_struct}}, {{The Linux Kernel/id|INIT_WORK}}, {{The Linux Kernel/id|schedule_work}}, : {{The Linux Kernel/id|delayed_work}}, {{The Linux Kernel/id|INIT_DELAYED_WORK}}, {{The Linux_Kernel/id|schedule_delayed_work}}, {{The Linux Kernel/id|cancel_delayed_work_sync}} 👁 Example usage {{The Linux Kernel/source|samples/ftrace/sample-trace-array.c}} ⚙️ Internals: {{The Linux Kernel/id|system_wq}} ==== Workqueue ==== ⚲ API : {{The Linux Kernel/include|linux/workqueue.h}} : {{The Linux Kernel/id|workqueue_struct}}, {{The Linux Kernel/id|alloc_workqueue}}, {{The Linux Kernel/id|queue_work}} ⚙️ Internals : {{The Linux Kernel/id|workqueue_init}}, {{The Linux Kernel/id|create_worker}}, {{The Linux Kernel/id|pool_workqueue}} : {{The Linux Kernel/source|kernel/workqueue.c}} 📖 References : {{The Linux Kernel/doc|Concurrency Managed Workqueue|core-api/workqueue.html}} === Interrupt context === : {{The Linux Kernel/include|linux/irq_work.h}} &ndash; framework for enqueueing and running callbacks from hardirq context :: {{The Linux Kernel/source|samples/trace_printk/trace-printk.c}} ==== Timers ==== ===== softirq timer ===== This timer is a softirq for periodical tasks with jiffies resolution ⚲ API : {{The Linux Kernel/include|linux/timer.h}} : {{The Linux Kernel/id|timer_list}}, {{The Linux Kernel/id|DEFINE_TIMER}}, {{The Linux Kernel/id|timer_setup}} : {{The Linux Kernel/id|mod_timer}} &mdash; sets expiration time in jiffies. : {{The Linux Kernel/id|del_timer}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/timer.c}} 👁 Examples : {{The Linux Kernel/id|input_enable_softrepeat}} and {{The Linux Kernel/id|input_start_autorepeat}} ===== High-resolution timer ===== ⚲ API : {{The Linux Kernel/include|linux/hrtimer.h}} : {{The Linux Kernel/id|hrtimer}}, hrtimer.function &mdash; callback : {{The Linux Kernel/id|hrtimer_init}}, {{The Linux Kernel/id|hrtimer_cancel}} : {{The Linux Kernel/id|hrtimer_start}} starts a timer with nanosecond resolution 👁 Example {{The Linux Kernel/id|watchdog_enable}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_HIGH_RES_TIMERS}} : {{The Linux Kernel/source|kernel/time/hrtimer.c}} ''' 📚 HR timers references : {{The Linux Kernel/doc|High-resolution timers|driver-api/basics.html#high-resolution-timers}} : {{The Linux Kernel/doc|hrtimers - subsystem for high-resolution kernel timers|timers/hrtimers.html}} : {{The Linux Kernel/doc|high resolution timers and dynamic ticks design notes|timers/highres.html}} ===== ... ===== 📚 Timers references : {{The Linux Kernel/doc|Timers|timers}} : [https://lwn.net/Articles/913568/ Better CPU selection for timer expiration] ==== Tasklet ==== tasklet is a softirq, for time critical operations ⚲ API is deprecated in favor of threaded IRQs: {{The Linux Kernel/id|devm_request_threaded_irq}} : {{The Linux Kernel/id|tasklet_struct}}, {{The Linux Kernel/id|tasklet_init}}, {{The Linux Kernel/id|tasklet_schedule}} ⚙️ Internals: {{The Linux Kernel/id|tasklet_action_common}} HI_SOFTIRQ, TASKLET_SOFTIRQ ==== Softirq ==== softirq is internal system facility and should not be used directly. Use tasklet or threaded IRQs ⚲ API : cat /proc/softirqs : {{The Linux Kernel/id|open_softirq}} registers {{The Linux Kernel/id|softirq_action}} ⚙️ Internals : {{The Linux Kernel/source|kernel/softirq.c}} ⚲ API : {{The Linux Kernel/include|linux/interrupt.h}} 📖 References : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-9.html Introduction to deferred interrupts (Softirq, Tasklets and Workqueues)] : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-9.html Softirq, Tasklets and Workqueues] :[https://0xax.gitbooks.io/linux-insides/content/Timers/ Timers and time management] : [https://linux-kernel-labs.github.io/refs/heads/master/labs/deferred_work.html Deferred work, linux-kernel-labs] : [https://www.oreilly.com/library/view/linux-device-drivers/0596005903/ch07.html Chapter 7. Time, Delays, and Deferred Work] ==CPU specific== 🖱️ GUI : [https://manpages.ubuntu.com/manpages/kinetic/en/man8/tuna.8.html tuna] &ndash; program for tuning running processes ⚲ API : cat /proc/cpuinfo : /sys/devices/system/cpu/ : /sys/cpu/ : /sys/fs/cgroup/cpu/ : grep -i cpu /proc/self/status : [https://manpages.ubuntu.com/manpages/jammy/man1/rdmsr.1.html rdmsr] &ndash; tool for reading CPU machine specific registers (MSR) : {{The Linux Kernel/man|1|lscpu}} &ndash; display information about the CPU architecture : {{The Linux Kernel/include|linux/arch_topology.h}} &ndash; arch specific cpu topology information : {{The Linux Kernel/include|linux/cpu.h}} &ndash; generic cpu definition : {{The Linux Kernel/include|linux/cpu_cooling.h}} : {{The Linux Kernel/include|linux/cpu_pm.h}} : {{The Linux Kernel/include|linux/cpufeature.h}} : {{The Linux Kernel/include|linux/cpufreq.h}} : {{The Linux Kernel/include|linux/cpuidle.h}} &ndash; a generic framework for CPU idle power management : {{The Linux Kernel/include|linux/peci-cpu.h}} : {{The Linux Kernel/include|linux/sched/cpufreq.h}} &ndash; Interface between cpufreq drivers and the scheduler : {{The Linux Kernel/include|linux/sched/cputime.h}} &ndash; cputime accounting APIs ⚙️ Internals : {{The Linux Kernel/source|drivers/base/cpu.c}} :: {{The Linux Kernel/id|cpu_dev_init}} : {{The Linux Kernel/source|drivers/cpufreq}} :: {{The Linux Kernel/id|intel_pstate}} :: {{The Linux Kernel/id|acpi_cpufreq_driver}} : {{The Linux Kernel/source|drivers/cpuidle}} === Cache === : {{The Linux Kernel/include|linux/cacheflush.h}} :: {{The Linux Kernel/source|arch/x86/include/asm/cacheflush.h}}: {{The Linux Kernel/id|clflush_cache_range}} : {{The Linux Kernel/include|linux/cache.h}} :: {{The Linux Kernel/source|arch/x86/include/asm/cache.h}} ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/pat/set_memory.c}} 📖 References : {{The Linux Kernel/doc|Working-State Power Management|admin-guide/pm/working-state.html}} : https://www.thinkwiki.org/wiki/How_to_use_cpufrequtils : {{The Linux Kernel/ltp|kernel/device-drivers|cpufreq}} === {{w|Symmetric_multiprocessing|SMP}} === This chapter is about multiprocessing and {{w|Multi-core processor|muti-core}} aspects of Linux kernel. Key concepts and features of Linux SMP include: * Symmetry: In an SMP system, all processors are considered the same without hardware hierarchy in contradiction to use of {{w|coprocessor}}s. * Load balancing: The Linux kernel employs load balancing mechanisms to distribute tasks evenly among available CPU cores. This prevents any one core from becoming overwhelmed while others remain underutilized. * Parallelism: SMP enables parallel processing, where multiple threads or processes can execute simultaneously on different CPU cores. This can significantly improve the execution speed of applications that are designed to take advantage of multiple threads. * Thread scheduling: The Linux kernel scheduler is responsible for determining which threads or processes run on which CPU cores and for how long. It aims to optimize performance by minimizing contention and maximizing CPU utilization. * Shared memory: In an SMP system, all CPU cores typically share the same physical memory space. This allows processes and threads running on different cores to communicate and share data more efficiently. * NUMA &ndash; {{w|Non-Uniform Memory Access}}: In larger SMP systems, memory access times might not be uniform due to the physical arrangement of memory banks and processors. Linux has mechanisms to handle NUMA architectures efficiently, allowing processes to be scheduled on CPUs closer to their associated memory. * Cache coherency: SMP systems require mechanisms to ensure that all CPU cores have consistent views of memory. Cache coherency protocols ensure that changes made to shared memory locations are correctly propagated to all cores. * Scalability: SMP systems can be scaled up to include more CPU cores, enhancing the overall computing power of the system. However, as the number of cores increases, challenges related to memory access, contention, and communication between cores may arise. * Kernel and user space: Linux applications running in user space can take advantage of SMP without needing to be aware of the underlying hardware details. The kernel handles the management of CPU cores and resource allocation. 🗝️ Key terms : '''Affinity''' refers to assigning a process or thread to specific CPU cores. This helps control which CPUs execute tasks, potentially improving performance by reducing data movement between cores. It can be managed using system calls or commands. Affinity can be represented as CPU bitmask: {{The Linux Kernel/id|cpumask_t}} or CPU affinity list: {{The Linux Kernel/id|cpulist_parse}}. ⚲ API : <code>ps -PLe</code> &ndash; lists threads with processor that the thread last executed on (the third column PSR). : {{The Linux Kernel/man|1|taskset}} &ndash; set or retrieve a process's CPU affinity : {{The Linux Kernel/man|2|getcpu}} &ndash; determine CPU and NUMA node on which the calling thread is running : {{The Linux Kernel/man|8|chcpu}} &ndash; configure CPUs : {{The Linux Kernel/man|3|CPU_SET}} &ndash; macros for manipulating CPU sets : grep Cpus_allowed /proc/self/status : {{The Linux Kernel/man|2|sched_setaffinity}} {{The Linux Kernel/man|2|sched_getaffinity}} &ndash; set and get a thread's CPU affinity mask :: ↪ {{The Linux Kernel/id|sched_setaffinity}} : {{The Linux Kernel/id|set_cpus_allowed_ptr}} &ndash; common kernel function to change a task's affinity mask : {{The Linux Kernel/include|linux/smp.h}} : {{The Linux Kernel/include|linux/cpu.h}} : {{The Linux Kernel/include|linux/group_cpus.h}}: {{The Linux Kernel/id|group_cpus_evenly}} &ndash; groups all CPUs evenly per NUMA/CPU locality : {{The Linux Kernel/include|linux/cpu_rmap.h}} &ndash; CPU affinity reverse-map support : {{The Linux Kernel/include|linux/cpumask_types.h}} :: struct cpumask, {{The Linux Kernel/id|cpumask_t}} &ndash; CPUs bitmap, can be very big :: {{The Linux Kernel/id|cpumask_var_t}} &ndash; type for local cpumask variable, see {{The Linux Kernel/id|alloc_cpumask_var}}, {{The Linux Kernel/id|free_cpumask_var}}. : {{The Linux Kernel/include|linux/cpumask.h}} &ndash; Cpumasks provide a bitmap suitable for representing the set of CPU's in a system, one bit position per CPU number : {{The Linux Kernel/include|asm-generic/percpu.h}} : {{The Linux Kernel/include|linux/percpu-defs.h}} &ndash; basic definitions for percpu areas :: {{The Linux Kernel/id|this_cpu_ptr}} : {{The Linux Kernel/include|linux/percpu.h}} : {{The Linux Kernel/include|linux/percpu-refcount.h}} : {{The Linux Kernel/include|linux/percpu-rwsem.h}} : {{The Linux Kernel/include|linux/preempt.h}} :: {{The Linux Kernel/id|migrate_disable}}, {{The Linux Kernel/id|migrate_enable}} : /sys/bus/cpu : [[#per_CPU_local_lock|per CPU local_lock]] ⚙️ Internals : {{The Linux Kernel/id|boot_cpu_init}} activates the first CPU : {{The Linux Kernel/id|smp_prepare_cpus}} initializes rest CPUs during boot : {{The Linux Kernel/id|cpu_number}} : {{The Linux Kernel/id|cpus_mask}} – affinity of {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|CONFIG_SMP}} :: {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/include|trace/events/percpu.h}} : IPI &ndash; {{w|Inter-processor interrupt}} :: {{The Linux Kernel/include|trace/events/ipi.h}} :: {{The Linux Kernel/file|kernel/irq/ipi.c}} :: {{The Linux Kernel/id|ipi_send_single}}, {{The Linux Kernel/id|ipi_send_mask}} ... :: {{The Linux Kernel/file|drivers/base/cpu.c}} &ndash; CPU driver model subsystem support :: {{The Linux Kernel/file|kernel/cpu.c}} : smpboot :: {{The Linux Kernel/include|linux/smpboot.h}} :: {{The Linux Kernel/source|kernel/smpboot.c}} :: {{The Linux Kernel/source|arch/x86/kernel/smpboot.c}} : {{The Linux Kernel/source|lib/group_cpus.c}} 🛠️ Utilities : [https://man.archlinux.org/man/extra/irqbalance/irqbalance.1.en irqbalance] – distributes hardware interrupts across CPUs : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory 📖 References : {{The Linux Kernel/doc|CPU lists in command-line parameters|admin-guide/kernel-parameters.html#cpu-lists}} :: [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=nohz_full '''nohz_full'''] clears housekeeping.{{The Linux Kernel/id|cpumasks}} for tick, wq, timer, rcu, misc, and kthread in {{The Linux Kernel/id|housekeeping_nohz_full_setup}} 📚 Further reading : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU Partitioning] : {{The Linux Kernel/doc|Scheduler Domains|scheduler/sched-domains.html}} &ndash; the Scheduler balances CPUs (scheduling groups) within a sched domain : [https://lore.kernel.org/lkml/?q=nohz_full nohz_full @LKML] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/customizing-tuned-profiles_monitoring-and-managing-system-status-and-performance#functionalities-of-the-scheduler-tuned-plug-in_customizing-tuned-profiles Functionalities of the scheduler TuneD plugin] ==== CPU hotplug ==== CPU hotplugging in Linux refers to the ability to dynamically add or remove CPUs from the system without needing a reboot. This feature is crucial in environments requiring high availability and resource flexibility, such as data centers, virtualized systems, and systems that use power management aggressively. ⚲ API : /sys/devices/system/cpu/cpu*/online : /sys/devices/system/cpu/cpu*/hotplug/ : {{The Linux Kernel/include|include/linux/cpu.h}} :: {{The Linux Kernel/id|add_cpu}} ... : {{The Linux Kernel/include|linux/cpuhotplug.h}} :: {{The Linux Kernel/id|cpuhp_state}} &ndash; CPU hotplug states :: {{The Linux Kernel/id|cpuhp_setup_state}} ... &ndash; setups hotplug state callbacks ::: {{The Linux Kernel/id|cpuhp_setup_state_multi}} ::: {{The Linux Kernel/id|cpuhp_setup_state_nocalls}} : {{The Linux Kernel/include|linux/cpuhplock.h}} &ndash; CPU hotplug locking :: {{The Linux Kernel/id|cpus_read_lock}} ... :: {{The Linux Kernel/id|remove_cpu}} ... ⚙️ Internals : {{The Linux Kernel/source|kernel/cpu.c}} :: {{The Linux Kernel/id|cpuhp_hp_states}} :: {{The Linux Kernel/id|boot_cpu_hotplug_init}} :: {{The Linux Kernel/id|cpuhp_threads_init}} :: ... {{The Linux Kernel/id|cpuhp_invoke_callback_range}} ... : {{The Linux Kernel/source|kernel/irq/cpuhotplug.c}} : {{The Linux Kernel/source|drivers/base/cpu.c}} &ndash; CPU subsystem support :: {{The Linux Kernel/id|cpu_dev_init}} ::: ... {{The Linux Kernel/id|cpu_subsys_online}} 📖 References : {{The Linux Kernel/doc|CPU hotplug in the Kernel|core-api/cpu_hotplug.html}} 📚 Further reading : {{The Linux Kernel/id|CONFIG_CPU_HOTPLUG_STATE_CONTROL}} &ndash; enables the ability to write incremental steps between "offline" and "online" states to the CPU's sysfs target file, allowing for more granular control of state transitions. :: {{The Linux Kernel/id|target_store}}: {{The Linux Kernel/id|cpu_up}}/{{The Linux Kernel/id|cpu_down}} : [https://lore.kernel.org/lkml/?q=cpuhotplug cpuhotplug @LKML] ==== CPU isolation ==== CPU isolation ensures that specific tasks run on dedicated CPUs, reducing contention and latency. '''Housekeeping''' CPUs refer to the CPUs that are reserved for various '''system''' tasks. See {{The Linux Kernel/id|hk_type}}. '''Isolated''' CPUs are dedicated to '''real-time''' applications, such as DPDK. ⚲ API : [https://docs.kernel.org/admin-guide/cgroup-v2.html#:~:text=cpuset.cpus.isolated /sys/fs/cgroup/cpuset.cpus.isolated] : [https://docs.kernel.org/admin-guide/cgroup-v2.html#:~:text=Partition%20root%20without%20load%20balancing /sys/fs/cgroup/.../cpuset.cpus.partition] : {{The Linux Kernel/include|linux/sched/isolation.h}} :: {{The Linux Kernel/id|hk_type}} &ndash; housekeeping type :: {{The Linux Kernel/id|housekeeping_cpumask}} :: {{The Linux Kernel/id|cpu_is_isolated}} : {{The Linux Kernel/include|linux/cpuset.h}} &ndash; cpuset interface :: {{The Linux Kernel/id|cpuset_cpu_is_isolated}} : {{The Linux Kernel/man|7|cpuset}} &ndash; confine processes to processor and memory node subsets ⚙️ Internals : {{The Linux Kernel/id|CONFIG_CPU_ISOLATION}} :: {{The Linux Kernel/source|kernel/sched/isolation.c}} ::: {{The Linux Kernel/id|isolated_cpus}} : {{The Linux Kernel/id|CONFIG_CPUSETS}} :: {{The Linux Kernel/source|kernel/cgroup/cpuset.c}} ::: {{The Linux Kernel/id|cpuset_init}} ::: {{The Linux Kernel/id|cpuset_init_smp}} ::: {{The Linux Kernel/id|partition_xcpus_newstate}} 📖 References : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=isolcpus '''isolcpus'''] clears housekeeping.{{The Linux Kernel/id|cpumasks}} for domain (by default), tick, and managed_irq in {{The Linux Kernel/id|housekeeping_isolcpus_setup}} : {{The Linux Kernel/doc|CPUSETS of cgroup v2|admin-guide/cgroup-v2.html#cpuset}} : {{The Linux Kernel/doc|CPUSETS of cgroup v1|admin-guide/cgroup-v1/cpusets.html}} 📚 Further reading : [https://www.youtube.com/watch?v=1lomUhSS82s CPU Isolation state of the art, LPC'23] : [https://www.suse.com/c/cpu-isolation-introduction-part-1/ CPU Isolation] : [https://lore.kernel.org/lkml/?q=isolcpus isolcpus @LKML] : [https://lore.kernel.org/lkml/?q=housekeeping housekeeping @LKML] : [https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#explicitly-reserved-cpu-list Explicitly Reserved CPU List, Kubernetes Documentation] === {{w|Memory barrier}}s === Memory barriers (MB) are synchronization mechanisms used to ensure proper ordering of memory operations in a SMP environment. They play a crucial role in maintaining the consistency and correctness of data shared among different CPU cores or processors. MBs prevent unexpected and potentially harmful reordering of memory access instructions by the compiler or CPU, which can lead to data corruption and race conditions in a concurrent software system. ⚲ API : {{The Linux Kernel/man|2|membarrier}} : {{The Linux Kernel/include|asm-generic/barrier.h}} :: {{The Linux Kernel/id|mb}}, {{The Linux Kernel/id|rmb}}, {{The Linux Kernel/id|wmb}} :: {{The Linux Kernel/id|smp_mb}}, {{The Linux Kernel/id|smp_rmb}}, {{The Linux Kernel/id|smp_wmb}} ⚙️ Internals : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} : {{The Linux Kernel/source|kernel/sched/membarrier.c}} 📖 References : {{The Linux Kernel/doc|Memory barriers|core-api/wrappers/memory-barriers.html}} === Architectures === Linux CPU architectures refer to the different types of central processing units (CPUs) that are compatible with the Linux operating system. Linux is designed to run on a wide range of CPU architectures, which allows it to be utilized on various devices, from smartphones to servers and supercomputers. Each architecture has its own unique features, advantages, and design considerations. Architectures are classified by family (e.g. x86, ARM), {{w|Word (computer architecture)|word}} or {{w|Integer_(computer_science)#Long_integer|long int}} size (e.g. {{The Linux Kernel/id|CONFIG_32BIT}}, {{The Linux Kernel/id|CONFIG_64BIT}}). Some functions with different implementations for different CPU architectures: : {{The Linux Kernel/id|do_boot_cpu}} > {{The Linux Kernel/id|start_secondary}} > {{The Linux Kernel/id|cpu_init}} : {{The Linux Kernel/id|setup_arch}}, {{The Linux Kernel/id|start_thread}}, {{The Linux Kernel/id|get_current}}, {{Linux ident|current}} ⚲ API : {{The Linux Kernel/id|BITS_PER_LONG}}, {{The Linux Kernel/id|__BITS_PER_LONG}}, ⚙️ Arch internals : {{The Linux Kernel/source|arch}} :: '''x86''' ::: {{The Linux Kernel/id|CONFIG_X86}} ::: {{The Linux Kernel/source|arch/x86}} ::: {{The Linux Kernel/source|drivers/platform/x86}} ::: https://lwn.net/Kernel/Index/#Architectures-x86 :: '''ARM''' ::: {{The Linux Kernel/id|CONFIG_ARM}} ::: {{The Linux Kernel/source|arch/arm}}, {{The Linux Kernel/doc|ARM Architecture|arch/arm}} ::: https://lwn.net/Kernel/Index/#Architectures-ARM ::: {{The Linux Kernel/source|arch/arm64}}, {{The Linux Kernel/doc|ARM64 Architecture|arm64}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-5.html architecture-specific initialization] 📖 References : {{The Linux Kernel/doc|CPU Architectures|arch}} :: {{The Linux Kernel/doc|x86-specific|arch/x86}} ::: {{The Linux Kernel/doc|x86_64 Support|arch/x86/x86_64}} 📚 Further reading about multitasking, scheduling and CPU : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] {{BookCat}} gspazwjkctshp4j4ixu9rivrwc5elmu 4444325 4444317 2024-11-10T20:04:57Z Conan 3188 move processes to https://en.wikibooks.org/wiki/The_Linux_Kernel/Processes 4444325 wikitext text/x-wiki {{DISPLAYTITLE:Multitasking functionality}} {| style="width: 25%; float: right; text-align:center;border-spacing: 0; margin:auto;" cellpadding="5pc" ! bgcolor="#ffc" |multitasking |- | bgcolor="#dda" |[[#Threads_or_tasks|threads or tasks]] |- | bgcolor="#cc9" |[[#Synchronization|synchronization]] |- | bgcolor="#bb8" |[[#Scheduler|Scheduler]] |- | bgcolor="#aa8" |[[#Interrupts|interrupts core]] |- style="" | bgcolor="#997" |[[#CPU_specific|CPU specific]] |} Linux kernel is a preemptive {{w|Computer multitasking|multitasking}} operating system. As a multitasking OS, it allows multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. For that, the kernel can, at any time, temporarily interrupt a task being carried out by the processor, and replace it by another task that can be new or a previously suspended one. The operation involving the swapping of the running task is called ''{{w|context switch}}''. == Threads or tasks == In Linux kernel "thread" and "task" are almost synonyms. 💾 ''History: Till 2.6.39, kernel mode has only one thread protected by {{w|big kernel lock}}.'' ⚲ API : {{The Linux Kernel/include|linux/sched.h}} - the main scheduler API :: {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/source|arch/x86/include/asm/current.h}} ::{{Linux ident|current}} and {{The Linux Kernel/id|get_current}} () return current {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/include|uapi/linux/taskstats.h}} per-task statistics : {{The Linux Kernel/include|linux/thread_info.h}} :: function&nbsp;{{The Linux Kernel/id|current_thread_info}}() returns {{The Linux Kernel/id|thread_info}} :{{The Linux Kernel/include|linux/sched/task.h}} - interface between the scheduler and various task lifetime (fork()/exit()) functionality : {{The Linux Kernel/include|linux/kthread.h}} - simple interface for creating and stopping kernel threads without mess. ::{{The Linux Kernel/id|kthread_run}} creates and wake a thread ::{{The Linux Kernel/id|kthread_create}} ⚙️ Internals : {{The Linux Kernel/id|kthread_run}} ↯ hierarchy: :: {{The Linux Kernel/id|kernel_thread}} ::: {{The Linux Kernel/id|kernel_clone}} : {{The Linux Kernel/source|kernel/kthread.c}} ==Scheduler== The ''{{w|Scheduling_(computing)#Linux|scheduler}}'' is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process. Active processes are placed in an array called a ''{{w|run queue}}'', or ''runqueue'' - {{The Linux Kernel/id|rq}}. The run queue may contain priority values for each process, which will be used by the scheduler to determine which process to run next. To ensure each program has a fair share of resources, each one is run for some time period (quantum) before it is paused and placed back into the run queue. When a program is stopped to let another run, the program with the highest priority in the run queue is then allowed to execute. Processes are also removed from the run queue when they ask to ''sleep'', are waiting on a resource to become available, or have been terminated. Linux uses the {{w|Completely Fair Scheduler}} (CFS), the first implementation of a fair queuing process scheduler widely used in a general-purpose operating system. CFS uses a well-studied, classic scheduling algorithm called "fair queuing" originally invented for packet networks. The CFS scheduler has a scheduling complexity of O(log N), where N is the number of tasks in the runqueue. Choosing a task can be done in constant time, but reinserting a task after it has run requires O(log N) operations, because the run queue is implemented as a {{w|red–black tree}}. In contrast to the previous {{w|O(1) scheduler}}, the CFS scheduler implementation is not based on run queues. Instead, a red-black tree implements a "timeline" of future task execution. Additionally, the scheduler uses nanosecond granularity accounting, the atomic units by which an individual process' share of the CPU was allocated (thus making redundant the previous notion of timeslices). This precise knowledge also means that no specific heuristics are required to determine the interactivity of a process, for example. Like the old O(1) scheduler, CFS uses a concept called "sleeper fairness", which considers sleeping or waiting tasks equivalent to those on the runqueue. This means that interactive tasks which spend most of their time waiting for user input or other events get a comparable share of CPU time when they need it. The data structure used for the scheduling algorithm is a red-black tree in which the nodes are scheduler specific structures, entitled {{The Linux Kernel/id|sched_entity}}. These are derived from the general <tt>task_struct</tt> process descriptor, with added scheduler elements. These nodes are indexed by processor execution time in nanoseconds. A maximum execution time is also calculated for each process. This time is based upon the idea that an "ideal processor" would equally share processing power amongst all processes. Thus, the maximum execution time is the time the process has been waiting to run, divided by the total number of processes, or in other words, the maximum execution time is the time the process would have expected to run on an "ideal processor". When the scheduler is invoked to run a new processes, the operation of the scheduler is as follows: # The left most node of the scheduling tree is chosen (as it will have the lowest spent execution time), and sent for execution. # If the process simply completes execution, it is removed from the system and scheduling tree. # If the process reaches its maximum execution time or is otherwise stopped (voluntarily or via interrupt) it is reinserted into the scheduling tree based on its new spent execution time. # The new left-most node will then be selected from the tree, repeating the iteration. If the process spends a lot of its time sleeping, then its spent time value is low and it automatically gets the priority boost when it finally needs it. Hence such tasks do not get less processor time than the tasks that are constantly running. An alternative to CFS is the {{w|Brain Fuck Scheduler}} (BFS) created by Con Kolivas. The objective of BFS, compared to other schedulers, is to provide a scheduler with a simpler algorithm, that does not require adjustment of heuristics or tuning parameters to tailor performance to a specific type of computation workload. Con Kolivas also maintains another alternative to CFS, the MuQSS scheduler.<ref name="malte" /> The Linux kernel contains different scheduler classes (or policies). The Completely Fair Scheduler used nowadays by default is {{The Linux Kernel/id|SCHED_NORMAL}} scheduler class aka SCHED_OTHER. The kernel also contains two additional classes {{The Linux Kernel/id|SCHED_BATCH}} and {{The Linux Kernel/id|SCHED_IDLE}}, and another two real-time scheduling classes named {{The Linux Kernel/id|SCHED_FIFO}} (realtime first-in-first-out) and {{The Linux Kernel/id|SCHED_RR}} (realtime round-robin), with a third realtime scheduling policy known as {{The Linux Kernel/id|SCHED_DEADLINE}} that implements the {{w|Earliest deadline first scheduling|earliest deadline first algorithm (EDF)}} added later. Any realtime scheduler class takes precedence over any of the "normal" &mdash;i.e. non realtime&mdash; classes. The scheduler class is selected and configured through the {{The Linux Kernel/man|2|sched_setscheduler}} ↪ {{The Linux Kernel/id|do_sched_setscheduler}} system call. Properly balancing latency, throughput, and fairness in schedulers is an open problem.<ref name="malte" > Malte Skarupke. [https://probablydance.com/2019/12/30/measuring-mutexes-spinlocks-and-how-bad-the-linux-scheduler-really-is/ "Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is"]. </ref> ⚲ API : {{The Linux Kernel/man|1|renice}} &ndash; priority of running processes : {{The Linux Kernel/man|1|nice}} &ndash; run a program with modified scheduling priority : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process :: {{The Linux Kernel/man|2|sched_getattr}} ↪ {{The Linux Kernel/id|sys_sched_getattr}} &ndash; get scheduling policy and attributes : {{The Linux Kernel/include|linux/sched.h}} &ndash; the main scheduler API :: {{The Linux Kernel/id|schedule}} : {{The Linux Kernel/man|2|getpriority}}, {{The Linux Kernel/man|2|setpriority}} : {{The Linux Kernel/man|2|sched_setscheduler}}, {{The Linux Kernel/man|2|sched_getscheduler}} ⚙️ Internals :{{The Linux Kernel/id|sched_init}} is called from {{The Linux Kernel/id|start_kernel}} : {{The Linux Kernel/id|__schedule}} is the main scheduler function. : {{The Linux Kernel/id|runqueues}}, {{The Linux Kernel/id|this_rq}} : {{The Linux Kernel/source|kernel/sched}} : {{The Linux Kernel/source|kernel/sched/core.c}} : {{The Linux Kernel/source|kernel/sched/fair.c}} implements {{The Linux Kernel/id|SCHED_NORMAL}}, {{The Linux Kernel/id|SCHED_BATCH}}, {{The Linux Kernel/id|SCHED_IDLE}} : {{The Linux Kernel/id|sched_setscheduler}}, {{The Linux Kernel/id|sched_getscheduler}} : {{The Linux Kernel/id|task_struct}}::{{The Linux Kernel/id|rt_priority}} and other members with less unique identifiers 🛠️ Utilities : {{The Linux Kernel/man|1|pidstat}}] : {{The Linux Kernel/man|1|pcp-pidstat}} : {{The Linux Kernel/man|1|perf-sched}} : [https://opensource.googleblog.com/2019/10/understanding-scheduling-behavior-with.html Understanding Scheduling Behavior with SchedViz] 📖 References : {{The Linux Kernel/man|7|sched}} : {{The Linux Kernel/doc|Scheduling|scheduler}} : CFS :: {{The Linux Kernel/doc|Completely Fair Scheduler|scheduler/sched-design-CFS.html}} :: {{The Linux Kernel/doc|CFS Bandwidth Control|scheduler/sched-bwc.html}} :: [https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-tuning-taskscheduler.html Tuning the task scheduler] :: [https://home.robusta.dev/blog/stop-using-cpu-limits stop using CPU limits on Kubernetes] : [https://lwn.net/Kernel/Index/#Scheduler-Completely_fair_scheduler Completely fair scheduler LWN] : {{The Linux Kernel/doc|Deadline Task Scheduler|scheduler/sched-deadline.html}} : {{The Linux Kernel/ltp|kernel|sched}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setparam}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_getscheduler}} : {{The Linux Kernel/ltp|kernel/syscalls|sched_setscheduler}} 📚 Further reading about the scheduler : [https://github.com/iovisor/bpftrace/blob/master/docs/tutorial_one_liners.md#lesson-10-scheduler-tracing Scheduler tracing] : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] === Preemption === Preemption refers to the ability of the system to interrupt a running task to switch to another task. This is essential for ensuring that high-priority tasks receive the necessary CPU time and for improving the system's responsiveness. In Linux, preemption models define how and when the kernel can preempt tasks. Different models offer varying trade-offs between system responsiveness and throughput. 📖 References : {{The Linux Kernel/source|kernel/Kconfig.preempt}} :: {{The Linux Kernel/id|CONFIG_PREEMPT_NONE}} &ndash; no forced preemption for servers :: {{The Linux Kernel/id|CONFIG_PREEMPT_VOLUNTARY}} &ndash; voluntary preemption for desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT}} &ndash; preemptible except for critical sections for low-latency desktops :: {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} &ndash; real-time preemption for [[Embedded_Systems/Linux#Real-time|highly responsive applications]] :: {{The Linux Kernel/id|CONFIG_PREEMPT_DYNAMIC}}, see /sys/kernel/debug/sched/preempt === Wait queues === A ''wait queue'' in the kernel is a data structure that allows one or more processes to wait (sleep) until something of interest happens. They are used throughout the kernel to wait for available memory, I/O completion, message arrival, and many other things. In the early days of Linux, a wait queue was a simple list of waiting processes, but various scalability problems (including the {{w|thundering herd problem}}) have led to the addition of a fair amount of complexity since then. ⚲ API {{The Linux Kernel/include|linux/wait.h}} {{The Linux Kernel/id|wait_queue_head}} consists of double linked list of {{The Linux Kernel/id|wait_queue_entry}} and a spinlock. Waiting for simple events: : Use one of two methods for {{The Linux Kernel/id|wait_queue_head}} initialization: :: {{The Linux Kernel/id|init_waitqueue_head}} initializes {{The Linux Kernel/id|wait_queue_head}} in function context :: {{The Linux Kernel/id|DECLARE_WAIT_QUEUE_HEAD}} - actually defines {{The Linux Kernel/id|wait_queue_head}} in global context : Wait alternatives: :: {{The Linux Kernel/id|wait_event_interruptible}} - preferable wait :: {{The Linux Kernel/id|wait_event_interruptible_timeout}} :: {{The Linux Kernel/id|wait_event}} - uninterruptible wait. Can cause deadlock ⚠ : {{The Linux Kernel/id|wake_up}} etc 👁 For example usage see references to unique {{The Linux Kernel/id|suspend_queue}}. Explicit use of add_wait_queue instead of simple wait_event for complex cases: : {{The Linux Kernel/id|DECLARE_WAITQUEUE}} actually defines wait_queue_entry with {{The Linux Kernel/id|default_wake_function}} : {{The Linux Kernel/id|add_wait_queue}} inserts process in the first position of a wait queue : {{The Linux Kernel/id|remove_wait_queue}} ⚙️ Internals : {{The Linux Kernel/id|___wait_event}} : {{The Linux Kernel/id|__add_wait_queue}} : {{The Linux Kernel/id|__wake_up_common}}, {{The Linux Kernel/id|try_to_wake_up}} : {{The Linux Kernel/source|kernel/sched/wait.c}} 📖 References : {{The Linux Kernel/doc|Wait queues and Wake events|driver-api/basics.html#wait-queues-and-wake-events}} : [https://www.halolinux.us/kernel-reference/handling-wait-queues.html Handling wait queues] === Real-time === {{:The Linux Kernel/Multitasking/Real-time}} == Synchronization == Thread {{w|Synchronization (computer science)|synchronization}} is defined as a mechanism which ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as {{w|mutual exclusion}} (mutex). When one thread starts executing the critical section (serialized segment of the program) the other thread should wait until the first thread finishes. If proper synchronization techniques are not applied, it may cause a race condition where, the values of variables may be unpredictable and vary depending on the timings of context switches of the processes or threads. === User space synchronization === ==== Futex ==== A {{The Linux Kernel/man|2|futex}} ↪ {{The Linux Kernel/id|do_futex}} (short for "fast userspace mutex") is a kernel system call that programmers can use to implement basic locking, or as a building block for higher-level locking abstractions such as semaphores and POSIX mutexes or condition variables. A futex consists of a kernelspace ''wait queue'' that is attached to an aligned integer in userspace. Multiple processes or threads operate on the integer entirely in userspace (using atomic operations to avoid interfering with one another), and only resort to relatively expensive system calls to request operations on the wait queue (for example to wake up waiting processes, or to put the current process on the wait queue). A properly programmed futex-based lock will not use system calls except when the lock is contended; since most operations do not require arbitration between processes, this will not happen in most cases. The basic operations of futexes are based on only two central operations {{The Linux Kernel/id|futex_wait}} and {{The Linux Kernel/id|futex_wake}} though implementation has a more operations for more specialized cases. : WAIT (''addr'', ''val'') checks if the value stored at the address ''addr'' is ''val'', and if it is puts the current thread to sleep. : WAKE (''addr'', ''val'') wakes up ''val'' number of threads waiting on the address ''addr''. ⚲ API : {{The Linux Kernel/include|uapi/linux/futex.h}} : {{The Linux Kernel/include|linux/futex.h}} ⚙️ Internals: {{The Linux Kernel/source|kernel/futex.c}} 📖 References : {{w|Futex}} : {{The Linux Kernel/man|7|futex}} : {{The Linux Kernel/doc|Futex API reference|kernel-hacking/locking.html#futex-api-reference}} : {{The Linux Kernel/ltp|kernel/syscalls|futex}} ==== File locking ==== ⚲ API: {{The Linux Kernel/man|2|flock}} ==== Semaphore ==== 💾 ''History: Semaphore is part of System V IPC {{The Linux Kernel/man|7|sysvipc}}'' ⚲ API : {{The Linux Kernel/man|2|semget}} : {{The Linux Kernel/man|2|semctl}} : {{The Linux Kernel/man|2|semget}} ⚙️ Internals: {{The Linux Kernel/source|ipc/sem.c}} === Kernel space synchronization === For kernel mode synchronization Linux provides three categories of locking primitives: sleeping, per CPU local locks and spinning locks. ==== Read-Copy-Update ==== Common mechanism to solve the readers–writers problem is the {{w|read-copy-update}} (''RCU'') algorithm. Read-copy-update implements a kind of mutual exclusion that is wait-free (non-blocking) for readers, allowing extremely low overhead. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. 💾 ''History: RCU was added to Linux in October 2002. Since then, there are thousandths uses of the RCU API within the kernel including the networking protocol stacks and the memory-management system. The implementation of RCU in version 2.6 of the Linux kernel is among the better-known RCU implementations.'' ⚲ The core API in {{The Linux Kernel/include|linux/rcupdate.h}} is quite small: : {{The Linux Kernel/id|rcu_read_lock}} marks an RCU-protected data structure so that it won't be reclaimed for the full duration of that critical section. : {{The Linux Kernel/id|rcu_read_unlock}} is used by a reader to inform the reclaimer that the reader is exiting an RCU read-side critical section. Note that RCU read-side critical sections may be nested and/or overlapping. : {{The Linux Kernel/id|synchronize_rcu}} blocks until all pre-existing RCU read-side critical sections on all CPUs have completed. Note that <code>synchronize_rcu</code> will ''not'' necessarily wait for any subsequent RCU read-side critical sections to complete. 👁 For example, consider the following sequence of events:<pre> CPU 0 CPU 1 CPU 2 ----------------- ------------------------- --------------- 1. rcu_read_lock() 2. enters synchronize_rcu() 3. rcu_read_lock() 4. rcu_read_unlock() 5. exits synchronize_rcu() 6. rcu_read_unlock() </pre> [[File:Rcu api.jpg|thumb|upright=2|RCU API communications between the reader, updater, and reclaimer]] :Since <code>synchronize_rcu</code> is the API that must figure out when readers are done, its implementation is key to RCU. For RCU to be useful in all but the most read-intensive situations, <code>synchronize_rcu</code>'s overhead must also be quite small. :Alternatively, instead of blocking, synchronize_rcu may register a callback to be invoked after all ongoing RCU read-side critical sections have completed. This callback variant is called {{The Linux Kernel/id|call_rcu}} in the Linux kernel. : {{The Linux Kernel/id|rcu_assign_pointer}} - The updater uses this function to assign a new value to an RCU-protected pointer, in order to safely communicate the change in value from the updater to the reader. This function returns the new value, and also executes any [[memory barrier]] instructions required for a given CPU architecture. Perhaps more importantly, it serves to document which pointers are protected by RCU. : {{The Linux Kernel/id|rcu_dereference}} - The reader uses this function to fetch an RCU-protected pointer, which returns a value that may then be safely dereferenced. It also executes any directives required by the compiler or the CPU, for example, a volatile cast for gcc, a memory_order_consume load for C/C++11 or the memory-barrier instruction required by the old DEC Alpha CPU. The value returned by <code>rcu_dereference</code> is valid only within the enclosing RCU read-side critical section. As with <code>rcu_assign_pointer</code>, an important function of <code>rcu_dereference</code> is to document which pointers are protected by RCU. The RCU infrastructure observes the time sequence of <code>rcu_read_lock</code>, <code>rcu_read_unlock</code>, <code>synchronize_rcu</code>, and <code>call_rcu</code> invocations in order to determine when (1) <code>synchronize_rcu</code> invocations may return to their callers and (2) <code>call_rcu</code> callbacks may be invoked. Efficient implementations of the RCU infrastructure make heavy use of batching in order to amortize their overhead over many uses of the corresponding APIs. ⚙️ Internals : {{The Linux Kernel/source|kernel/rcu}} 📖 References : {{The Linux Kernel/doc|Avoiding Locks: Read Copy Update|kernel-hacking/locking.html?#avoiding-locks-read-copy-update}} : {{The Linux Kernel/doc|RCU concepts|RCU}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-9.html RCU initialization] ==== Sleeping locks ==== ===== Mutexes ===== ⚲ API : {{The Linux Kernel/include|linux/mutex.h}} : {{The Linux Kernel/include|linux/completion.h}} : {{The Linux Kernel/id|mutex}} has owner and usage constrains, more easy to debug then semaphore :: {{The Linux Kernel/id|rt_mutex}} blocking mutual exclusion locks with priority inheritance (PI) support :: {{The Linux Kernel/id|ww_mutex}} Wound/Wait mutexes: blocking mutual exclusion locks with deadlock avoidance : {{The Linux Kernel/id|rw_semaphore}} readers–writer semaphores : {{The Linux Kernel/id|percpu_rw_semaphore}} : {{The Linux Kernel/id|completion}} - use completion for synchronization task with ISR and task or two tasks. :: {{The Linux Kernel/id|wait_for_completion}} :: {{The Linux Kernel/id|complete}} 💾 ''Historical'' : {{The Linux Kernel/id|semaphore}} - use mutex instead semaphore if possible : {{The Linux Kernel/include|linux/semaphore.h}} : {{The Linux Kernel/include|linux/rwsem.h}} 📖 References : {{The Linux Kernel/doc|Completions - “wait for completion” barrier APIs|scheduler/completion.html}} : {{The Linux Kernel/doc|Mutex API reference|kernel-hacking/locking.html#mutex-api-reference}} : [http://lwn.net/Articles/23993/ LWN: completion events] ==== per CPU local lock ==== : {{The Linux Kernel/id|local_lock}}, {{The Linux Kernel/id|preempt_disable}} : {{The Linux Kernel/id|local_lock_irqsave}}, {{The Linux Kernel/id|local_irq_save}} : etc On normal preemptible kernel local_lock calls {{The Linux Kernel/id|preempt_disable}}. On RT preemptible kernel local_lock calls {{The Linux Kernel/id|migrate_disable}} and {{The Linux Kernel/id|spin_lock}}. Any changes applied to spinlock_t also apply to local_lock. ⚲ API : {{The Linux Kernel/include|linux/local_lock.h}} 📖 References : {{The Linux Kernel/doc|local_lock|locking/locktypes.html#local-lock}} : {{The Linux Kernel/doc|PREEMPT_RT caveats: spinlock_t, rwlock_t, migrate_disable and local_lock|locking/locktypes.html#spinlock-t-and-rwlock-t}} : {{The Linux Kernel/doc|Proper locking under a preemptive kernel|locking/preempt-locking.html}} : [https://lwn.net/Articles/828477/ Local locks in the kernel] 💾 ''History: Prior to kernel version 2.6, Linux disabled interrupt to implement short critical sections. Since version 2.6 and later, Linux is fully preemptive.'' ==== Spinning locks ==== ===== {{w|Spinlock}}s ===== a ''spinlock'' is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is available. Since the thread remains active but is not performing a useful task, the use of such a lock is a kind of busy waiting. Once acquired, spinlocks will usually be held until they are explicitly released, although in some implementations they may be automatically released if the thread being waited on (that which holds the lock) blocks, or "goes to sleep". Spinlocks are commonly used inside kernels because they are efficient if threads are likely to be blocked for only short periods. However, spinlocks become wasteful if held for longer durations, as they may prevent other threads from running and require rescheduling. 👁 For example {{The Linux Kernel/id|kobj_kset_join}} uses spinlock to protect assess to the linked list. Enabling and disabling of kernel preemption replaced spinlocks on uniprocessor systems (disabled {{The Linux Kernel/id|CONFIG_SMP}}). Most spinning locks becoming sleeping locks in the {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} kernels. 📖 References : {{The Linux Kernel/id|spinlock_t}} : {{The Linux Kernel/id|raw_spinlock_t}} : {{The Linux Kernel/id|bit_spin_lock}} : : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-1.html Introduction to spinlocks] : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-2.html Queued spinlocks] ===== {{w|Seqlock}}s ===== A ''seqlock'' (short for "sequential lock") is a special locking mechanism used in Linux for supporting fast writes of shared variables between two parallel operating system routines. It is a special solution to the readers–writers problem when the number of writers is small. It is a reader-writer consistent mechanism which avoids the problem of writer starvation. A {{The Linux Kernel/id|seqlock_t}} consists of storage for saving a sequence counter {{The Linux Kernel/id|seqcount_t}}/seqcount_spinlock_t in addition to a lock. The lock is to support synchronization between two writers and the counter is for indicating consistency in readers. In addition to updating the shared data, the writer increments the sequence counter, both after acquiring the lock and before releasing the lock. Readers read the sequence counter before and after reading the shared data. If the sequence counter is odd on either occasion, a writer had taken the lock while the data was being read and it may have changed. If the sequence counters are different, a writer has changed the data while it was being read. In either case readers simply retry (using a loop) until they read the same even sequence counter before and after. 💾 ''History: The semantics stabilized as of version 2.5.59, and they are present in the 2.6.x stable kernel series. The seqlocks were developed by Stephen Hemminger and originally called frlocks, based on earlier work by Andrea Arcangeli. The first implementation was in the x86-64 time code where it was needed to synchronize with user space where it was not possible to use a real lock.'' ⚲ API : {{The Linux Kernel/id|seqlock_t}} :: {{The Linux Kernel/id|DEFINE_SEQLOCK}}, {{The Linux Kernel/id|seqlock_init}}, {{The Linux Kernel/id|read_seqlock_excl}}, {{The Linux Kernel/id|write_seqlock}} : {{The Linux Kernel/id|seqcount_t}} :: {{The Linux Kernel/id|seqcount_init}}, {{The Linux Kernel/id|read_seqcount_begin}}, {{The Linux Kernel/id|read_seqcount_retry}}, {{The Linux Kernel/id|write_seqcount_begin}}, {{The Linux Kernel/id|write_seqcount_end}} : {{The Linux Kernel/include|linux/seqlock.h}} 👁 Example: {{The Linux Kernel/id|mount_lock}}, defined in {{The Linux Kernel/source|fs/namespace.c}} 📖 References : {{The Linux Kernel/doc|Sequence counters and sequential locks|locking/seqlock.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/linux-sync-6.html SeqLock] ==== Spinning or sleeping locks ==== :{| class="wikitable" ! !! normal !! on preempt RT |- | spinlock_t, || raw_spinlock_t || rt_mutex_base, rt_spin_lock, sleeping |- | rwlock_t || spinning || sleeping |- | local_lock || preempt_disable|| migrate_disable, rt_spin_lock, sleeping |} ==== Low level ==== The compiler might optimize away or reorder writes to variables leading to unexpected behavior when variables are accessed concurrently by multiple threads. ⚲ API : {{The Linux Kernel/include|asm-generic/rwonce.h}} &ndash; prevent the compiler from merging or refetching reads or writes. : {{The Linux Kernel/include|linux/compiler.h}} :: {{The Linux Kernel/id|barrier}} &ndash; prevents the compiler from reordering instructions around the barrier : {{The Linux Kernel/include|asm-generic/barrier.h}} &ndash; generic barrier definitions : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} &ndash; force strict CPU ordering :: {{The Linux Kernel/id|mb}} &ndash; ensures that all memory operations before the barrier are completed before any memory operations after the barrier are started ⚙️ Internals : {{The Linux Kernel/doc|Atomics|driver-api/basics.html#atomics}} :: {{The Linux Kernel/include|asm-generic/atomic.h}} :: {{The Linux Kernel/include|linux/atomic/atomic-instrumented.h}} ::: {{The Linux Kernel/id|atomic_dec_and_test}} ... 📚 Further reading : {{w|Volatile_(computer_programming)#In_C_and_C++|volatile}} &ndash; prevents the compiler from optimizations : {{w|Memory barrier}} &ndash; enforces an ordering constraint on memory operations ==== ... ==== ⚙️ Locking internals : {{The Linux Kernel/include|linux/lockdep.h}} &ndash; runtime locking correctness validator : {{The Linux Kernel/include|linux/debug_locks.h}} : {{The Linux Kernel/source|lib/locking-selftest.c}} : {{The Linux Kernel/source|kernel/locking}} : {{The Linux Kernel/id|timer_list}} {{The Linux Kernel/id|wait_queue_head_t}} :: {{The Linux Kernel/source|kernel/locking/locktorture.c}} &ndash; module-based torture test facility for locking 📖 Locking references : {{The Linux Kernel/doc|locking|locking}} :: {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} ::: 😴 {{The Linux Kernel/doc|sleeping locks|locking/locktypes.html#sleeping-locks}} :::: {{The Linux Kernel/id|mutex}}, {{The Linux Kernel/id|rt_mutex}}, {{The Linux Kernel/id|semaphore}}, {{The Linux Kernel/id|rw_semaphore}}, {{The Linux Kernel/id|ww_mutex}}, {{The Linux Kernel/id|percpu_rw_semaphore}} :::: on preempt RT: local_lock, spinlock_t, rwlock_t ::: 😵‍💫 {{The Linux Kernel/doc|spinning locks|locking/locktypes.html#spinning-locks}}: :::: raw_spinlock_t, bit spinlocks :::: on non preempt RT: spinlock_t, rwlock_t : {{The Linux Kernel/doc|Unreliable Guide To Locking|kernel-hacking/locking.html}} : [https://0xax.gitbooks.io/linux-insides/content/SyncPrim/ Synchronization primitives] === Time === ⚲ UAPI : {{The Linux Kernel/include|uapi/linux/time.h}} :: {{The Linux Kernel/id|timespec}} &ndash; nanosecond resolution :: {{The Linux Kernel/id|timeval}} &ndash; microsecond resolution :: {{The Linux Kernel/id|timezone}} :: ... : {{The Linux Kernel/include|uapi/linux/time_types.h}} :: {{The Linux Kernel/id|__kernel_timespec}} &ndash; nanosecond resolution, used in syscalls :: ... ⚲ API : {{The Linux Kernel/include|linux/time.h}} :: {{The Linux Kernel/id|tm}} :: {{The Linux Kernel/id|get_timespec64}} :: ... : {{The Linux Kernel/include|linux/ktime.h}} :: {{The Linux Kernel/id|ktime_t}} &ndash; nanosecond scalar representation for kernel time values :: {{The Linux Kernel/id|ktime_sub}} :: ... : {{The Linux Kernel/include|linux/timekeeping.h}} :: {{The Linux Kernel/id|ktime_get}}, {{The Linux Kernel/id|ktime_get_ns}} :: {{The Linux Kernel/id|ktime_get_real}} :: ... : {{The Linux Kernel/include|linux/time64.h}} :: {{The Linux Kernel/id|timespec64}} :: {{The Linux Kernel/id|time64_t}} :: {{The Linux Kernel/id|ns_to_timespec64}} :: {{The Linux Kernel/id|timespec64_sub}} :: {{The Linux Kernel/id|ktime_to_timespec64}} :: ... : {{The Linux Kernel/include|uapi/linux/rtc.h}} : {{The Linux Kernel/include|linux/jiffies.h}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time}} 📖 References : {{The Linux Kernel/doc|ktime accessors|core-api/timekeeping.html}} : {{The Linux Kernel/doc|Clock sources, Clock events, sched_clock() and delay timers|timers/timekeeping.html}} : {{The Linux Kernel/doc|Time and timer routines|driver-api/basics.html#time-and-timer-routines}} : {{w|Year 2038 problem}} == Interrupts == An {{w|interrupt}} is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. An interrupt alerts the processor to a high-priority condition requiring the interruption of the current code the processor is executing. The processor responds by suspending its current activities, saving its state, and executing a function called an ''interrupt handler'' (or an interrupt service routine, ISR) to deal with the event. This interruption is temporary, and, after the interrupt handler finishes, the processor resumes normal activities. There are two types of interrupts: hardware interrupts and software interrupts. Hardware interrupts are used by devices to communicate that they require attention from the operating system. For example, pressing a key on the keyboard or moving the mouse triggers hardware interrupts that cause the processor to read the keystroke or mouse position. Unlike the software type, hardware interrupts are asynchronous and can occur in the middle of instruction execution, requiring additional care in programming. The act of initiating a hardware interrupt is referred to as an ''interrupt request'' - IRQ (⚙️ {{The Linux Kernel/id|do_IRQ}}). A software interrupt is caused either by an exceptional condition in the processor itself, or a special instruction in the instruction set which causes an interrupt when it is executed. The former is often called a ''{{w|Trap (computing)|trap}}'' (⚙️ {{The Linux Kernel/id|do_trap}}) or ''exception'' and is used for errors or events occurring during program execution that are exceptional enough that they cannot be handled within the program itself. For example, if the processor's arithmetic logic unit is commanded to divide a number by zero, this impossible demand will cause a ''divide-by-zero exception'' (⚙️ {{The Linux Kernel/id|X86_TRAP_DE}}), perhaps causing the computer to abandon the calculation or display an error message. Software interrupt instructions function similarly to subroutine calls and are used for a variety of purposes, such as to request services from low-level system software such as device drivers. For example, computers often use software interrupt instructions to communicate with the disk controller to request data be read or written to the disk. Each interrupt has its own interrupt handler. The number of hardware interrupts is limited by the number of interrupt request (IRQ) lines to the processor, but there may be hundreds of different software interrupts. ⚲ API : /proc/interrupts : {{The Linux Kernel/man|1|irqtop}} &ndash; utility to display kernel interrupt information : [https://github.com/Irqbalance/irqbalance irqbalance] &ndash; distribute hardware interrupts across processors on a multiprocessor system : There are many ways to request ISR, two of them : {{The Linux Kernel/id|devm_request_threaded_irq}} &ndash; preferable function to allocate an interrupt line for a managed device with a threaded ISR : {{The Linux Kernel/id|request_irq}}, {{The Linux Kernel/id|free_irq}} &ndash; old and common functions to add and remove a handler for an interrupt line : {{The Linux Kernel/include|linux/interrupt.h}} &ndash; main interrupt support header :: {{The Linux Kernel/id|irqaction}} &ndash; contains handler functions : {{The Linux Kernel/include|linux/irq.h}} :: {{The Linux Kernel/id|irq_data}} : {{The Linux Kernel/include|include/linux/irqflags.h}} :: {{The Linux Kernel/id|irqs_disabled}} :: {{The Linux Kernel/id|local_irq_save}} ... :: {{The Linux Kernel/id|local_irq_disable}} ... : {{The Linux Kernel/include|linux/irqdesc.h}} :: {{The Linux Kernel/id|irq_desc}} : {{The Linux Kernel/include|linux/irqdomain.h}} :: {{The Linux Kernel/id|irq_domain}} &ndash; hardware interrupt number translation object :: {{The Linux Kernel/id|irq_domain_get_irq_data}} : {{The Linux Kernel/include|linux/msi.h}} &ndash; {{w|Message Signaled Interrupts}} :: {{The Linux Kernel/id|msi_desc}} : Structure of structures: :: {{The Linux Kernel/id|irq_desc}} is container of ::: {{The Linux Kernel/id|irq_data}} ::: {{The Linux Kernel/id|irq_common_data}} ::: list of {{The Linux Kernel/id|irqaction}} ⚙️ Internals : {{The Linux Kernel/source|kernel/irq/settings.h}} : {{The Linux Kernel/source|kernel/irq}} :: {{The Linux Kernel/source|kernel/irq/internals.h}} : ls /sys/kernel/debug/irq/domains/ :: {{The Linux Kernel/id|x86_vector_domain}}, {{The Linux Kernel/id|x86_vector_domain_ops}} : {{The Linux Kernel/id|irq_chip}} 📖 References : {{The Linux Kernel/doc|IRQs|core-api/irq}} :: {{The Linux Kernel/doc|The irq_domain interrupt number mapping library|core-api/irq/irq-domain.html}} : {{The Linux Kernel/doc|Linux generic IRQ handling|core-api/genericirq.html}} : {{The Linux Kernel/doc|Message Signaled Interrupts: The MSI Driver Guide|PCI/msi-howto.html}} : {{The Linux Kernel/doc|Lock types and their rules|locking/locktypes.html}} : {{The Linux Kernel/doc|Hard IRQ Context|kernel-hacking/locking.html#hard-irq-context}} : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/ Interrupts] 👁 Examples : {{The Linux Kernel/id|dummy_irq_chip}} &ndash; dummy interrupt chip implementation : {{The Linux Kernel/source|lib/locking-selftest.c}} === IRQ affinity === ⚲ API : /proc/irq/default_smp_affinity : /proc/irq/*/smp_affinity and /proc/irq/*/smp_affinity_list Common types and functions: : struct {{The Linux Kernel/id|irq_affinity}} &ndash; description for automatic irq affinity assignments, see {{The Linux Kernel/id|devm_platform_get_irqs_affinity}} : struct {{The Linux Kernel/id|irq_affinity_desc}} &ndash; interrupt affinity descriptor, see {{The Linux Kernel/id|irq_update_affinity_desc}}, {{The Linux Kernel/id|irq_create_affinity_masks}} : {{The Linux Kernel/id|irq_set_affinity}} : {{The Linux Kernel/id|irq_get_affinity_mask}} : {{The Linux Kernel/id|irq_can_set_affinity}} : {{The Linux Kernel/id|irq_set_affinity_hint}} : {{The Linux Kernel/id|irqd_affinity_is_managed}} : {{The Linux Kernel/id|irq_data_get_affinity_mask}} : {{The Linux Kernel/id|irq_data_get_effective_affinity_mask}} : {{The Linux Kernel/id|irq_data_update_effective_affinity}} : {{The Linux Kernel/id|irq_set_affinity_notifier}} : {{The Linux Kernel/id|irq_affinity_notify}} : {{The Linux Kernel/id|irq_chip_set_affinity_parent}} : {{The Linux Kernel/id|irq_set_vcpu_affinity}} 🛠️ Utilities : [https://man.archlinux.org/man/extra/irqbalance/irqbalance.1.en irqbalance] – distributes hardware interrupts across CPUs ===== ... ===== 📖 References : {{The Linux Kernel/doc|SMP IRQ affinity|core-api/irq/irq-affinity.html}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start#irq_affinity IRQ affinity, LF] : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=managed_irq managed_irq kernel parameter], [https://lore.kernel.org/lkml/?q=managed_irq @LKML] : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=irqaffinity= irqaffinity kernel parameter], [https://lore.kernel.org/lkml/?q=irqaffinity @LKML] 📚 Further reading : IDT &ndash; {{w|Interrupt descriptor table}} : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/ticklesskernel Tickless (Full dynticks)] reduces timer interrupts overhead, {{The Linux Kernel/id|CONFIG_NO_HZ_FULL}} == Deferred works == === Scheduler context === ==== Threaded IRQ ==== ⚲ API {{The Linux Kernel/id|devm_request_threaded_irq}}, {{The Linux Kernel/id|request_threaded_irq}} ISR should return IRQ_WAKE_THREAD to run thread function ⚙️ Internals : {{The Linux Kernel/id|setup_irq_thread}}, {{The Linux Kernel/id|irq_thread}} : {{The Linux Kernel/source|kernel/irq/manage.c}} 📖 References : {{The Linux Kernel/doc|request_threaded_irq|core-api/genericirq.html#c.request_threaded_irq}} ==== Work ==== work is a workqueue wrapper ⚲ API : {{The Linux Kernel/include|linux/workqueue.h}} : {{The Linux Kernel/id|work_struct}}, {{The Linux Kernel/id|INIT_WORK}}, {{The Linux Kernel/id|schedule_work}}, : {{The Linux Kernel/id|delayed_work}}, {{The Linux Kernel/id|INIT_DELAYED_WORK}}, {{The Linux_Kernel/id|schedule_delayed_work}}, {{The Linux Kernel/id|cancel_delayed_work_sync}} 👁 Example usage {{The Linux Kernel/source|samples/ftrace/sample-trace-array.c}} ⚙️ Internals: {{The Linux Kernel/id|system_wq}} ==== Workqueue ==== ⚲ API : {{The Linux Kernel/include|linux/workqueue.h}} : {{The Linux Kernel/id|workqueue_struct}}, {{The Linux Kernel/id|alloc_workqueue}}, {{The Linux Kernel/id|queue_work}} ⚙️ Internals : {{The Linux Kernel/id|workqueue_init}}, {{The Linux Kernel/id|create_worker}}, {{The Linux Kernel/id|pool_workqueue}} : {{The Linux Kernel/source|kernel/workqueue.c}} 📖 References : {{The Linux Kernel/doc|Concurrency Managed Workqueue|core-api/workqueue.html}} === Interrupt context === : {{The Linux Kernel/include|linux/irq_work.h}} &ndash; framework for enqueueing and running callbacks from hardirq context :: {{The Linux Kernel/source|samples/trace_printk/trace-printk.c}} ==== Timers ==== ===== softirq timer ===== This timer is a softirq for periodical tasks with jiffies resolution ⚲ API : {{The Linux Kernel/include|linux/timer.h}} : {{The Linux Kernel/id|timer_list}}, {{The Linux Kernel/id|DEFINE_TIMER}}, {{The Linux Kernel/id|timer_setup}} : {{The Linux Kernel/id|mod_timer}} &mdash; sets expiration time in jiffies. : {{The Linux Kernel/id|del_timer}} ⚙️ Internals : {{The Linux Kernel/source|kernel/time/timer.c}} 👁 Examples : {{The Linux Kernel/id|input_enable_softrepeat}} and {{The Linux Kernel/id|input_start_autorepeat}} ===== High-resolution timer ===== ⚲ API : {{The Linux Kernel/include|linux/hrtimer.h}} : {{The Linux Kernel/id|hrtimer}}, hrtimer.function &mdash; callback : {{The Linux Kernel/id|hrtimer_init}}, {{The Linux Kernel/id|hrtimer_cancel}} : {{The Linux Kernel/id|hrtimer_start}} starts a timer with nanosecond resolution 👁 Example {{The Linux Kernel/id|watchdog_enable}} ⚙️ Internals : {{The Linux Kernel/id|CONFIG_HIGH_RES_TIMERS}} : {{The Linux Kernel/source|kernel/time/hrtimer.c}} ''' 📚 HR timers references : {{The Linux Kernel/doc|High-resolution timers|driver-api/basics.html#high-resolution-timers}} : {{The Linux Kernel/doc|hrtimers - subsystem for high-resolution kernel timers|timers/hrtimers.html}} : {{The Linux Kernel/doc|high resolution timers and dynamic ticks design notes|timers/highres.html}} ===== ... ===== 📚 Timers references : {{The Linux Kernel/doc|Timers|timers}} : [https://lwn.net/Articles/913568/ Better CPU selection for timer expiration] ==== Tasklet ==== tasklet is a softirq, for time critical operations ⚲ API is deprecated in favor of threaded IRQs: {{The Linux Kernel/id|devm_request_threaded_irq}} : {{The Linux Kernel/id|tasklet_struct}}, {{The Linux Kernel/id|tasklet_init}}, {{The Linux Kernel/id|tasklet_schedule}} ⚙️ Internals: {{The Linux Kernel/id|tasklet_action_common}} HI_SOFTIRQ, TASKLET_SOFTIRQ ==== Softirq ==== softirq is internal system facility and should not be used directly. Use tasklet or threaded IRQs ⚲ API : cat /proc/softirqs : {{The Linux Kernel/id|open_softirq}} registers {{The Linux Kernel/id|softirq_action}} ⚙️ Internals : {{The Linux Kernel/source|kernel/softirq.c}} ⚲ API : {{The Linux Kernel/include|linux/interrupt.h}} 📖 References : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-9.html Introduction to deferred interrupts (Softirq, Tasklets and Workqueues)] : [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-9.html Softirq, Tasklets and Workqueues] :[https://0xax.gitbooks.io/linux-insides/content/Timers/ Timers and time management] : [https://linux-kernel-labs.github.io/refs/heads/master/labs/deferred_work.html Deferred work, linux-kernel-labs] : [https://www.oreilly.com/library/view/linux-device-drivers/0596005903/ch07.html Chapter 7. Time, Delays, and Deferred Work] ==CPU specific== 🖱️ GUI : [https://manpages.ubuntu.com/manpages/kinetic/en/man8/tuna.8.html tuna] &ndash; program for tuning running processes ⚲ API : cat /proc/cpuinfo : /sys/devices/system/cpu/ : /sys/cpu/ : /sys/fs/cgroup/cpu/ : grep -i cpu /proc/self/status : [https://manpages.ubuntu.com/manpages/jammy/man1/rdmsr.1.html rdmsr] &ndash; tool for reading CPU machine specific registers (MSR) : {{The Linux Kernel/man|1|lscpu}} &ndash; display information about the CPU architecture : {{The Linux Kernel/include|linux/arch_topology.h}} &ndash; arch specific cpu topology information : {{The Linux Kernel/include|linux/cpu.h}} &ndash; generic cpu definition : {{The Linux Kernel/include|linux/cpu_cooling.h}} : {{The Linux Kernel/include|linux/cpu_pm.h}} : {{The Linux Kernel/include|linux/cpufeature.h}} : {{The Linux Kernel/include|linux/cpufreq.h}} : {{The Linux Kernel/include|linux/cpuidle.h}} &ndash; a generic framework for CPU idle power management : {{The Linux Kernel/include|linux/peci-cpu.h}} : {{The Linux Kernel/include|linux/sched/cpufreq.h}} &ndash; Interface between cpufreq drivers and the scheduler : {{The Linux Kernel/include|linux/sched/cputime.h}} &ndash; cputime accounting APIs ⚙️ Internals : {{The Linux Kernel/source|drivers/base/cpu.c}} :: {{The Linux Kernel/id|cpu_dev_init}} : {{The Linux Kernel/source|drivers/cpufreq}} :: {{The Linux Kernel/id|intel_pstate}} :: {{The Linux Kernel/id|acpi_cpufreq_driver}} : {{The Linux Kernel/source|drivers/cpuidle}} === Cache === : {{The Linux Kernel/include|linux/cacheflush.h}} :: {{The Linux Kernel/source|arch/x86/include/asm/cacheflush.h}}: {{The Linux Kernel/id|clflush_cache_range}} : {{The Linux Kernel/include|linux/cache.h}} :: {{The Linux Kernel/source|arch/x86/include/asm/cache.h}} ⚙️ Internals : {{The Linux Kernel/source|arch/x86/mm/pat/set_memory.c}} 📖 References : {{The Linux Kernel/doc|Working-State Power Management|admin-guide/pm/working-state.html}} : https://www.thinkwiki.org/wiki/How_to_use_cpufrequtils : {{The Linux Kernel/ltp|kernel/device-drivers|cpufreq}} === {{w|Symmetric_multiprocessing|SMP}} === This chapter is about multiprocessing and {{w|Multi-core processor|muti-core}} aspects of Linux kernel. Key concepts and features of Linux SMP include: * Symmetry: In an SMP system, all processors are considered the same without hardware hierarchy in contradiction to use of {{w|coprocessor}}s. * Load balancing: The Linux kernel employs load balancing mechanisms to distribute tasks evenly among available CPU cores. This prevents any one core from becoming overwhelmed while others remain underutilized. * Parallelism: SMP enables parallel processing, where multiple threads or processes can execute simultaneously on different CPU cores. This can significantly improve the execution speed of applications that are designed to take advantage of multiple threads. * Thread scheduling: The Linux kernel scheduler is responsible for determining which threads or processes run on which CPU cores and for how long. It aims to optimize performance by minimizing contention and maximizing CPU utilization. * Shared memory: In an SMP system, all CPU cores typically share the same physical memory space. This allows processes and threads running on different cores to communicate and share data more efficiently. * NUMA &ndash; {{w|Non-Uniform Memory Access}}: In larger SMP systems, memory access times might not be uniform due to the physical arrangement of memory banks and processors. Linux has mechanisms to handle NUMA architectures efficiently, allowing processes to be scheduled on CPUs closer to their associated memory. * Cache coherency: SMP systems require mechanisms to ensure that all CPU cores have consistent views of memory. Cache coherency protocols ensure that changes made to shared memory locations are correctly propagated to all cores. * Scalability: SMP systems can be scaled up to include more CPU cores, enhancing the overall computing power of the system. However, as the number of cores increases, challenges related to memory access, contention, and communication between cores may arise. * Kernel and user space: Linux applications running in user space can take advantage of SMP without needing to be aware of the underlying hardware details. The kernel handles the management of CPU cores and resource allocation. 🗝️ Key terms : '''Affinity''' refers to assigning a process or thread to specific CPU cores. This helps control which CPUs execute tasks, potentially improving performance by reducing data movement between cores. It can be managed using system calls or commands. Affinity can be represented as CPU bitmask: {{The Linux Kernel/id|cpumask_t}} or CPU affinity list: {{The Linux Kernel/id|cpulist_parse}}. ⚲ API : <code>ps -PLe</code> &ndash; lists threads with processor that the thread last executed on (the third column PSR). : {{The Linux Kernel/man|1|taskset}} &ndash; set or retrieve a process's CPU affinity : {{The Linux Kernel/man|2|getcpu}} &ndash; determine CPU and NUMA node on which the calling thread is running : {{The Linux Kernel/man|8|chcpu}} &ndash; configure CPUs : {{The Linux Kernel/man|3|CPU_SET}} &ndash; macros for manipulating CPU sets : grep Cpus_allowed /proc/self/status : {{The Linux Kernel/man|2|sched_setaffinity}} {{The Linux Kernel/man|2|sched_getaffinity}} &ndash; set and get a thread's CPU affinity mask :: ↪ {{The Linux Kernel/id|sched_setaffinity}} : {{The Linux Kernel/id|set_cpus_allowed_ptr}} &ndash; common kernel function to change a task's affinity mask : {{The Linux Kernel/include|linux/smp.h}} : {{The Linux Kernel/include|linux/cpu.h}} : {{The Linux Kernel/include|linux/group_cpus.h}}: {{The Linux Kernel/id|group_cpus_evenly}} &ndash; groups all CPUs evenly per NUMA/CPU locality : {{The Linux Kernel/include|linux/cpu_rmap.h}} &ndash; CPU affinity reverse-map support : {{The Linux Kernel/include|linux/cpumask_types.h}} :: struct cpumask, {{The Linux Kernel/id|cpumask_t}} &ndash; CPUs bitmap, can be very big :: {{The Linux Kernel/id|cpumask_var_t}} &ndash; type for local cpumask variable, see {{The Linux Kernel/id|alloc_cpumask_var}}, {{The Linux Kernel/id|free_cpumask_var}}. : {{The Linux Kernel/include|linux/cpumask.h}} &ndash; Cpumasks provide a bitmap suitable for representing the set of CPU's in a system, one bit position per CPU number : {{The Linux Kernel/include|asm-generic/percpu.h}} : {{The Linux Kernel/include|linux/percpu-defs.h}} &ndash; basic definitions for percpu areas :: {{The Linux Kernel/id|this_cpu_ptr}} : {{The Linux Kernel/include|linux/percpu.h}} : {{The Linux Kernel/include|linux/percpu-refcount.h}} : {{The Linux Kernel/include|linux/percpu-rwsem.h}} : {{The Linux Kernel/include|linux/preempt.h}} :: {{The Linux Kernel/id|migrate_disable}}, {{The Linux Kernel/id|migrate_enable}} : /sys/bus/cpu : [[#per_CPU_local_lock|per CPU local_lock]] ⚙️ Internals : {{The Linux Kernel/id|boot_cpu_init}} activates the first CPU : {{The Linux Kernel/id|smp_prepare_cpus}} initializes rest CPUs during boot : {{The Linux Kernel/id|cpu_number}} : {{The Linux Kernel/id|cpus_mask}} – affinity of {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|CONFIG_SMP}} :: {{The Linux Kernel/id|CONFIG_NUMA}} : {{The Linux Kernel/include|trace/events/percpu.h}} : IPI &ndash; {{w|Inter-processor interrupt}} :: {{The Linux Kernel/include|trace/events/ipi.h}} :: {{The Linux Kernel/file|kernel/irq/ipi.c}} :: {{The Linux Kernel/id|ipi_send_single}}, {{The Linux Kernel/id|ipi_send_mask}} ... :: {{The Linux Kernel/file|drivers/base/cpu.c}} &ndash; CPU driver model subsystem support :: {{The Linux Kernel/file|kernel/cpu.c}} : smpboot :: {{The Linux Kernel/include|linux/smpboot.h}} :: {{The Linux Kernel/source|kernel/smpboot.c}} :: {{The Linux Kernel/source|arch/x86/kernel/smpboot.c}} : {{The Linux Kernel/source|lib/group_cpus.c}} 🛠️ Utilities : [https://man.archlinux.org/man/extra/irqbalance/irqbalance.1.en irqbalance] – distributes hardware interrupts across CPUs : {{The Linux Kernel/man|8|numactl}} &ndash; controls NUMA policy for processes or shared memory 📖 References : {{The Linux Kernel/doc|CPU lists in command-line parameters|admin-guide/kernel-parameters.html#cpu-lists}} :: [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=nohz_full '''nohz_full'''] clears housekeeping.{{The Linux Kernel/id|cpumasks}} for tick, wq, timer, rcu, misc, and kthread in {{The Linux Kernel/id|housekeeping_nohz_full_setup}} 📚 Further reading : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU Partitioning] : {{The Linux Kernel/doc|Scheduler Domains|scheduler/sched-domains.html}} &ndash; the Scheduler balances CPUs (scheduling groups) within a sched domain : [https://lore.kernel.org/lkml/?q=nohz_full nohz_full @LKML] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/customizing-tuned-profiles_monitoring-and-managing-system-status-and-performance#functionalities-of-the-scheduler-tuned-plug-in_customizing-tuned-profiles Functionalities of the scheduler TuneD plugin] ==== CPU hotplug ==== CPU hotplugging in Linux refers to the ability to dynamically add or remove CPUs from the system without needing a reboot. This feature is crucial in environments requiring high availability and resource flexibility, such as data centers, virtualized systems, and systems that use power management aggressively. ⚲ API : /sys/devices/system/cpu/cpu*/online : /sys/devices/system/cpu/cpu*/hotplug/ : {{The Linux Kernel/include|include/linux/cpu.h}} :: {{The Linux Kernel/id|add_cpu}} ... : {{The Linux Kernel/include|linux/cpuhotplug.h}} :: {{The Linux Kernel/id|cpuhp_state}} &ndash; CPU hotplug states :: {{The Linux Kernel/id|cpuhp_setup_state}} ... &ndash; setups hotplug state callbacks ::: {{The Linux Kernel/id|cpuhp_setup_state_multi}} ::: {{The Linux Kernel/id|cpuhp_setup_state_nocalls}} : {{The Linux Kernel/include|linux/cpuhplock.h}} &ndash; CPU hotplug locking :: {{The Linux Kernel/id|cpus_read_lock}} ... :: {{The Linux Kernel/id|remove_cpu}} ... ⚙️ Internals : {{The Linux Kernel/source|kernel/cpu.c}} :: {{The Linux Kernel/id|cpuhp_hp_states}} :: {{The Linux Kernel/id|boot_cpu_hotplug_init}} :: {{The Linux Kernel/id|cpuhp_threads_init}} :: ... {{The Linux Kernel/id|cpuhp_invoke_callback_range}} ... : {{The Linux Kernel/source|kernel/irq/cpuhotplug.c}} : {{The Linux Kernel/source|drivers/base/cpu.c}} &ndash; CPU subsystem support :: {{The Linux Kernel/id|cpu_dev_init}} ::: ... {{The Linux Kernel/id|cpu_subsys_online}} 📖 References : {{The Linux Kernel/doc|CPU hotplug in the Kernel|core-api/cpu_hotplug.html}} 📚 Further reading : {{The Linux Kernel/id|CONFIG_CPU_HOTPLUG_STATE_CONTROL}} &ndash; enables the ability to write incremental steps between "offline" and "online" states to the CPU's sysfs target file, allowing for more granular control of state transitions. :: {{The Linux Kernel/id|target_store}}: {{The Linux Kernel/id|cpu_up}}/{{The Linux Kernel/id|cpu_down}} : [https://lore.kernel.org/lkml/?q=cpuhotplug cpuhotplug @LKML] ==== CPU isolation ==== CPU isolation ensures that specific tasks run on dedicated CPUs, reducing contention and latency. '''Housekeeping''' CPUs refer to the CPUs that are reserved for various '''system''' tasks. See {{The Linux Kernel/id|hk_type}}. '''Isolated''' CPUs are dedicated to '''real-time''' applications, such as DPDK. ⚲ API : [https://docs.kernel.org/admin-guide/cgroup-v2.html#:~:text=cpuset.cpus.isolated /sys/fs/cgroup/cpuset.cpus.isolated] : [https://docs.kernel.org/admin-guide/cgroup-v2.html#:~:text=Partition%20root%20without%20load%20balancing /sys/fs/cgroup/.../cpuset.cpus.partition] : {{The Linux Kernel/include|linux/sched/isolation.h}} :: {{The Linux Kernel/id|hk_type}} &ndash; housekeeping type :: {{The Linux Kernel/id|housekeeping_cpumask}} :: {{The Linux Kernel/id|cpu_is_isolated}} : {{The Linux Kernel/include|linux/cpuset.h}} &ndash; cpuset interface :: {{The Linux Kernel/id|cpuset_cpu_is_isolated}} : {{The Linux Kernel/man|7|cpuset}} &ndash; confine processes to processor and memory node subsets ⚙️ Internals : {{The Linux Kernel/id|CONFIG_CPU_ISOLATION}} :: {{The Linux Kernel/source|kernel/sched/isolation.c}} ::: {{The Linux Kernel/id|isolated_cpus}} : {{The Linux Kernel/id|CONFIG_CPUSETS}} :: {{The Linux Kernel/source|kernel/cgroup/cpuset.c}} ::: {{The Linux Kernel/id|cpuset_init}} ::: {{The Linux Kernel/id|cpuset_init_smp}} ::: {{The Linux Kernel/id|partition_xcpus_newstate}} 📖 References : [https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt#:~:text=isolcpus '''isolcpus'''] clears housekeeping.{{The Linux Kernel/id|cpumasks}} for domain (by default), tick, and managed_irq in {{The Linux Kernel/id|housekeeping_isolcpus_setup}} : {{The Linux Kernel/doc|CPUSETS of cgroup v2|admin-guide/cgroup-v2.html#cpuset}} : {{The Linux Kernel/doc|CPUSETS of cgroup v1|admin-guide/cgroup-v1/cpusets.html}} 📚 Further reading : [https://www.youtube.com/watch?v=1lomUhSS82s CPU Isolation state of the art, LPC'23] : [https://www.suse.com/c/cpu-isolation-introduction-part-1/ CPU Isolation] : [https://lore.kernel.org/lkml/?q=isolcpus isolcpus @LKML] : [https://lore.kernel.org/lkml/?q=housekeeping housekeeping @LKML] : [https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/#explicitly-reserved-cpu-list Explicitly Reserved CPU List, Kubernetes Documentation] === {{w|Memory barrier}}s === Memory barriers (MB) are synchronization mechanisms used to ensure proper ordering of memory operations in a SMP environment. They play a crucial role in maintaining the consistency and correctness of data shared among different CPU cores or processors. MBs prevent unexpected and potentially harmful reordering of memory access instructions by the compiler or CPU, which can lead to data corruption and race conditions in a concurrent software system. ⚲ API : {{The Linux Kernel/man|2|membarrier}} : {{The Linux Kernel/include|asm-generic/barrier.h}} :: {{The Linux Kernel/id|mb}}, {{The Linux Kernel/id|rmb}}, {{The Linux Kernel/id|wmb}} :: {{The Linux Kernel/id|smp_mb}}, {{The Linux Kernel/id|smp_rmb}}, {{The Linux Kernel/id|smp_wmb}} ⚙️ Internals : {{The Linux Kernel/source|arch/x86/include/asm/barrier.h}} : {{The Linux Kernel/source|kernel/sched/membarrier.c}} 📖 References : {{The Linux Kernel/doc|Memory barriers|core-api/wrappers/memory-barriers.html}} === Architectures === Linux CPU architectures refer to the different types of central processing units (CPUs) that are compatible with the Linux operating system. Linux is designed to run on a wide range of CPU architectures, which allows it to be utilized on various devices, from smartphones to servers and supercomputers. Each architecture has its own unique features, advantages, and design considerations. Architectures are classified by family (e.g. x86, ARM), {{w|Word (computer architecture)|word}} or {{w|Integer_(computer_science)#Long_integer|long int}} size (e.g. {{The Linux Kernel/id|CONFIG_32BIT}}, {{The Linux Kernel/id|CONFIG_64BIT}}). Some functions with different implementations for different CPU architectures: : {{The Linux Kernel/id|do_boot_cpu}} > {{The Linux Kernel/id|start_secondary}} > {{The Linux Kernel/id|cpu_init}} : {{The Linux Kernel/id|setup_arch}}, {{The Linux Kernel/id|start_thread}}, {{The Linux Kernel/id|get_current}}, {{Linux ident|current}} ⚲ API : {{The Linux Kernel/id|BITS_PER_LONG}}, {{The Linux Kernel/id|__BITS_PER_LONG}}, ⚙️ Arch internals : {{The Linux Kernel/source|arch}} :: '''x86''' ::: {{The Linux Kernel/id|CONFIG_X86}} ::: {{The Linux Kernel/source|arch/x86}} ::: {{The Linux Kernel/source|drivers/platform/x86}} ::: https://lwn.net/Kernel/Index/#Architectures-x86 :: '''ARM''' ::: {{The Linux Kernel/id|CONFIG_ARM}} ::: {{The Linux Kernel/source|arch/arm}}, {{The Linux Kernel/doc|ARM Architecture|arch/arm}} ::: https://lwn.net/Kernel/Index/#Architectures-ARM ::: {{The Linux Kernel/source|arch/arm64}}, {{The Linux Kernel/doc|ARM64 Architecture|arm64}} : [https://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-5.html architecture-specific initialization] 📖 References : {{The Linux Kernel/doc|CPU Architectures|arch}} :: {{The Linux Kernel/doc|x86-specific|arch/x86}} ::: {{The Linux Kernel/doc|x86_64 Support|arch/x86/x86_64}} 📚 Further reading about multitasking, scheduling and CPU : [https://github.com/iovisor/bcc/blob/master/README.md#cpu-and-scheduler-tools bcc/ebpf CPU and scheduler tools] {{BookCat}} 1ywuzoq8b5olbu8jazew1e5r988yeli The Linux Kernel/Memory 0 226983 4444327 4442740 2024-11-10T20:19:49Z Conan 3188 Processes 4444327 wikitext text/x-wiki {{DISPLAYTITLE:Memory functionality}} {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor="#bfd" |memory |- | bgcolor="#aed" |[[#Processes|Processes]] |- | bgcolor="#9dd" |[[#Virtual_memory|virtual memory]] |- | bgcolor="#aca" |[[#Memory_mapping|memory mapping]] |- | bgcolor="#acb" | [[#Swap|demand paging and swap]] |- | bgcolor="#8b9" |[[#Logical_memory|logical memory]] |- | bgcolor="#7a7" |[[#Page Allocator|Page Allocator]] |- | bgcolor="#686" |[[#Pages|pages]] |} The kernel has full access to the system's memory and allows processes to {{w|Process isolation|safely access}} this memory as they require it. Often the first step in doing this is {{w|Virtual address space|virtual addressing}}, usually achieved by paging and/or segmentation. Virtual addressing allows the kernel to make a given {{w|physical address}} appear to be another address, the virtual address. Virtual address spaces may be different for different processes; the memory that one process accesses at a particular (virtual) address may be different memory from what another process accesses at the same address. This allows every program to behave as if it is the only one (apart from the kernel) running and thus prevents applications from crashing each other. On many systems, a program's virtual address may refer to data which is not currently in memory. The layer of indirection provided by virtual addressing allows the operating system to use other data stores, like a hard drive, to store what would otherwise have to remain in main {{w|random-access memory}} (RAM). As a result, operating systems can allow programs to use more memory than the system has physically available. When a program needs data which is not currently in RAM, the {{w|Memory management unit|MMU}} {{w|Page fault|signals}} to the kernel that this has happened, and the kernel responds by writing the contents of an inactive memory block to disk (if necessary) and replacing it with the data requested by the program. The program can then be resumed from the point where it was stopped. This scheme is generally known as {{w|demand paging}}. Virtual addressing also allows creation of virtual partitions of memory in two disjointed areas, one being reserved for the kernel (kernel space) and the other for the applications (user space). The applications are not permitted by the processor to address kernel memory, thus preventing an application from damaging the running kernel. This fundamental partition of memory space has contributed much to the current designs of actual general-purpose kernels and is almost universal in such systems, Linux being one of them. ⚲ Shell interface : cat /proc/meminfo : {{The Linux Kernel/man|1|free}} : {{The Linux Kernel/man|8|vmstat}} {{:The Linux Kernel/Processes}} == Memory management Linux API == : ⚲ {{The Linux Kernel/man|2|brk}} ↪ {{The Linux Kernel/id|sys_brk}}, {{The Linux Kernel/id|do_brk_flags}} dynamically changes data segment size of the calling process. The change is made by resetting the <u>program break</u> of the process, which determines the maximum space that can be allocated. The program break is the address of the first location beyond the current end of the data region, and determines the maximum space that can be allocated by the process. The amount of available space increases as the break value increases. The added available space is initialized to a value of zero. : ⚲ {{The Linux Kernel/man|2|mmap}} ↪ {{The Linux Kernel/id|ksys_mmap_pgoff}} maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because file contents are not read from disk initially and do not use physical RAM at all. The actual reads from disk are performed in a "lazy" manner, after a specific location is accessed. After the memory is no longer needed it is important to {{The Linux Kernel/man|2|unmmap}} the pointers to it. Protection information can be managed using {{The Linux Kernel/man|2|mprotect}} ↪ {{The Linux Kernel/id|do_mprotect_pkey}} and special treatment can be enforced using {{The Linux Kernel/man|2|madvise}} ↪ {{The Linux Kernel/id|do_madvise}}. In Linux, {{The Linux Kernel/man|2|mmap}} can create several types of mappings, such as ''anonymous mappings'', ''shared mappings'' and ''private mappings''. Using the <code>MAP_ANONYMOUS</code> flag <tt>mmap()</tt> can map a specific area of the process's virtual memory not backed by any file, whose contents are initialized to zero. These functions are typically called from a higher-level memory management library function such as C standard library {{The Linux Kernel/man|3|malloc}} or [[w:new and delete (C++)|C++ new operator]]. 💾 ''History: Two basic related to memory management system calls <tt>brk</tt> and <tt>mmap</tt> Linux inherits from Unix.'' ''BTW: On Linux, {{The Linux Kernel/man|2|sbrk}} is not a separate system call, but a C library function that also calls to {{The Linux Kernel/id|sys_brk}} and keeps some internal state to return the previous break value.'' 📚 References : {{The Linux Kernel/doc|Memory Management APIs|core-api/mm-api.html}} : {{The Linux Kernel/doc|x86_64 Memory Management|x86/x86_64/mm.html}} : {{w|sbrk}} : {{w|mmap}} : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] ⚙️ Internals: : '''{{The Linux Kernel/id|sys_brk}}''' ↯ call hierarchy: : {{The Linux Kernel/id|do_brk_flags}} :: {{The Linux Kernel/id|vm_area_alloc}} ::: {{The Linux Kernel/id|kmem_cache_alloc}} :::: {{The Linux Kernel/id|__kmem_cache_alloc_lru}} ==Virtual memory== 🔧 TODO: {{w|Virtual memory|Virtually contiguous memory}} on top of physical and [[#Swap|swapped]] memory pages. 🗝️ Acronyms: : VPFN - Virtual Page Frame Number : PFN - Physical Page Frame Number : pgd - Page Directory : pmd - Page Middle Directory : pud - Page Upper Directory : pte - {{w|Page table}} Entry : TLB - {{w|Translation Lookaside Buffer}} : MMU - {{w|Memory Management Unit}} ⚲ API: : {{The Linux Kernel/include|linux/vmalloc.h}} : {{The Linux Kernel/id|vmalloc}} {{The Linux Kernel/id|vfree}} ⚙️ Internals: : {{The Linux Kernel/id|vm_struct}} : {{The Linux Kernel/id|virt_to_page}} : {{The Linux Kernel/id|vmalloc_init}} : {{The Linux Kernel/id|find_vma}} : {{The Linux Kernel/source|mm/vmalloc.c}} 📚 References : {{The Linux Kernel/doc|Virtually Contiguous Mappings|core-api/mm-api.html#virtually-contiguous-mappings}} : {{The Linux Kernel/doc|Page Tables|mm/page_tables.html}} ==Data structures== ⚲ API: : {{The Linux Kernel/include|linux/types.h}} : {{The Linux Kernel/include|linux/kref.h}} : {{The Linux Kernel/id|list_head}} &ndash; common double linked list :: {{The Linux Kernel/include|linux/list.h}} - basic {{The Linux Kernel/id|list_head}} operations ::: {{The Linux Kernel/id|list_head}} {{The Linux Kernel/id|list_add}} ... :: {{The Linux Kernel/include|linux/klist.h}} &ndash; some {{The Linux Kernel/id|klist_node}}->{{The Linux Kernel/id|kref}} helpers ::: {{The Linux Kernel/id|klist_add_tail}} ... : {{The Linux Kernel/include|linux/kobject.h}} : {{The Linux Kernel/include|linux/circ_buf.h}} : {{The Linux Kernel/include|linux/kfifo.h}} &ndash; generic kernel FIFO :: {{The Linux Kernel/id|kfifo_in}} ... : {{The Linux Kernel/include|linux/rbtree.h}} &ndash; Red-black trees :: {{The Linux Kernel/id|rb_node}} : {{The Linux Kernel/include|linux/scatterlist.h}} :: {{The Linux Kernel/id|scatterlist}} :: 👁 Example: {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/include|linux/idr.h}} &ndash; ID allocation : {{The Linux Kernel/include|linux/bitmap.h}} &ndash; bit arrays that consume one or more unsigned longs : {{The Linux Kernel/include|linux/sbitmap.h}} &ndash; fast and scalable bitmaps 📚 References: : {{The Linux Kernel/doc|List Management Functions|core-api/kernel-api.html#list-management-functions}} : {{The Linux Kernel/doc|FIFO Buffer|core-api/kernel-api.html#fifo-buffer}} : {{The Linux Kernel/doc|Data structures and low-level utilities|core-api#data-structures-and-low-level-utilities}} :: {{The Linux Kernel/doc|Everything you never wanted to know about kobjects, ksets, and ktypes|core-api/kobject.html}} :: {{The Linux Kernel/doc|Adding reference counters (krefs) to kernel objects|core-api/kref.html}} :: {{The Linux Kernel/doc|Generic Associative Array Implementation|core-api/assoc_array.html}} :: {{The Linux Kernel/doc|XArray|core-api/xarray.html}} :: {{The Linux Kernel/doc|ID Allocation|core-api/idr.html}} :: {{The Linux Kernel/doc|Circular Buffers|core-api/circular-buffers.html}} :: {{The Linux Kernel/doc|Red-black Trees (rbtree) in Linux|core-api/rbtree.html}} :: {{The Linux Kernel/doc|Generic radix trees/sparse arrays|core-api/generic-radix-tree.html}} :: {{The Linux Kernel/doc|Generic bitfield packing and unpacking functions|core-api/packing.html}} :: {{The Linux Kernel/doc|How to access I/O mapped memory from within device drivers|core-api/bus-virt-phys-mapping.html}} :: {{The Linux Kernel/doc|this_cpu operations|core-api/this_cpu_ops.html}} :: {{The Linux Kernel/doc|The errseq_t datatype|core-api/errseq.html}} : [https://0xax.gitbooks.io/linux-insides/content/DataStructures/ Data Structures in the Linux Kernel] ==Memory mapping== 🔧 TODO Key items: {{The Linux Kernel/man|2|mmap}} {{The Linux Kernel/man|2|mprotect}} {{The Linux Kernel/man|2|mmap2}} {{The Linux Kernel/man|2|mincore}} {{The Linux Kernel/man|2|ksys_mmap_pgoff}} {{The Linux Kernel/id|do_mmap}} {{The Linux Kernel/id|mm_struct}} {{The Linux Kernel/id|vm_area_struct}} {{The Linux Kernel/id|vm_struct}} {{The Linux Kernel/id|remap_pfn_range}} {{The Linux Kernel/id|SetPageReserved}} {{The Linux Kernel/id|ClearPageReserved}} {{The Linux Kernel/id|alloc_mmap_pages free_mmap_pages}} ⚲ API: : {{The Linux Kernel/include|linux/mm_types.h}} : {{The Linux Kernel/include|linux/mm.h}} ⚙️ Internals: : {{The Linux Kernel/source|mm/mmap.c}} 📚 References: : {{w|mmap}} : {{The Linux Kernel/doc|Maple Tree|core-api/maple_tree.html}} : [https://linux-kernel-labs.github.io/refs/heads/master/labs/memory_mapping.html Memory mapping, linux-kernel-labs] == Swap == 🔧 TODO ⚲ API: : cat /proc/sys/vm/swappiness ↪ {{The Linux Kernel/id|vm_swappiness}} : {{The Linux Kernel/include|linux/swap.h}} : {{The Linux Kernel/man|2|swapon}} ↪ {{The Linux Kernel/id|enable_swap_slots_cache}} : {{The Linux Kernel/man|2|swapoff}} : {{The Linux Kernel/man|2|mlock}} ↪ {{The Linux Kernel/id|do_mlock}} : {{The Linux Kernel/man|2|shmctl}} ↪ {{The Linux Kernel/id|shmctl_do_lock}} ⚙️ Internals: : {{The Linux Kernel/source|mm/swapfile.c}} : {{The Linux Kernel/source|mm/vmscan.c}} : {{The Linux Kernel/source|mm/mlock.c}} {{The Linux Kernel/id|VM_LOCKED}} {{The Linux Kernel/id|swap_info_struct}} {{The Linux Kernel/id|si_swapinfo}} {{The Linux Kernel/id|swap_info}} {{The Linux Kernel/id|handle_pte_fault}} {{The Linux Kernel/id|do_swap_page}} {{The Linux Kernel/id|wakeup_kswapd}} {{The Linux Kernel/id|kswapd}} 📚 References: : {{w|Memory_paging#Linux|Memory paging}} : https://wiki.archlinux.org/title/swap == Logical memory == ⚲ {{The Linux Kernel/id|kmalloc}} is the normal method of allocating memory in the kernel for objects smaller than the page size. It is defined in {{The Linux Kernel/include|linux/slab.h}}. The first argument ''size'' is the size (in bytes) of the block of memory to be allocated. The second argument ''flags'' are the allocation flags or ''GFP flags'', a set of macros that the caller provides to control the type of requested memory. The most commonly used values for ''flags'' are GFP_KERNEL and GFP_ATOMIC, but there is more to be considered. Memory-allocation requests in the kernel are always qualified by a set of ''GFP flags'' ("GFP" initially came from "get free page") describing what can and cannot be done to satisfy the request. The most commonly used flags are GFP_ATOMIC and GFP_KERNEL, though they are actually built up from lower-level flags. The full set of flags is huge; they can be found in the {{The Linux Kernel/include|linux/gfp.h}} header file. ⚲ API: : ↯ {{w|RAII}} allocation functions hierarchy from {{The Linux Kernel/include|linux/device.h}}: :: {{The Linux Kernel/id|devm_kcalloc}} - zeroed array ::: {{The Linux Kernel/id|devm_kmalloc_array}} :::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation :: {{The Linux Kernel/id|devm_kzalloc}} - zeroed allocation ::: {{The Linux Kernel/id|devm_kmalloc}} - common allocation : Classic direct API: :: {{The Linux Kernel/include|linux/slab.h}} :: {{The Linux Kernel/id|kmalloc}}, {{The Linux Kernel/id|kfree}} === Slab allocation === {{w|Slab allocation}} is a memory management algorithm intended for the efficient memory allocation of kernel objects. It eliminates fragmentation caused by allocations and deallocations. The technique is used to retain allocated memory that contains a data object of a certain type for reuse upon subsequent allocations of objects of the same type. ''' Basics ''' ''This section is about SLAB and SLUB allocator implementations'' A slab can be thought of as an array of objects of certain type or with the same size, spanning through one or more contiguous pages of memory; for example, the slab named "task_struct" holds objects of <code>struct task_struct</code> type, used by the scheduling subsystem. Other slabs store objects used by other subsystems, and there is also slabs for dynamic allocations inside the kernel, such as the "kmalloc-64" slab that holds up to 64-byte chunks requested via kmalloc() calls. In a slab, each object can be allocated and freed separately. The primary motivation for slab allocation is that the initialization and destruction of kernel data objects can actually outweigh the cost of allocating memory for them. As object creation and deletion are widely employed by the kernel, overhead costs of initialization can result in significant performance drops. The notion of object caching was therefore introduced in order to avoid the invocation of functions used to initialize object state. With slab allocation, memory chunks suitable to fit data objects of certain type or size are preallocated. The slab allocator keeps track of these chunks, known as caches {{The Linux Kernel/id|kmalloc_caches}}, so that when a request to allocate memory for a data object of a certain type is received, it can instantly satisfy the request with an already allocated slot {{The Linux Kernel/id|slab_alloc}}. Deallocatoion of the object with {{The Linux Kernel/id|kfree}} does not free up the memory, but only opens a slot which is put in the list of free slots {{The Linux Kernel/id|kmem_cache_cpu}} by the slab allocator. The next call to allocate memory of the same size will return the now unused memory slot. See {{The Linux Kernel/id|slab_alloc}}//{{The Linux Kernel/id|___slab_alloc}}/{{The Linux Kernel/id|get_freelist}}. This process eliminates the need to search for suitable memory space and greatly alleviates memory fragmentation. In this context, a slab is one or more contiguous pages in the memory containing pre-allocated memory chunks. Slab allocation provides a kind of front-end to the zoned buddy allocator for those sections of the kernel that require more flexible memory allocation than the standard 4KB page size. ⚲ Interface: : sudo cat /proc/slabinfo :{{The Linux Kernel/include|linux/slab.h}} : {{The Linux Kernel/id|kmem_cache_alloc}}, {{The Linux Kernel/id|kmem_cache_free}} : {{The Linux Kernel/man|1|slabtop}} ⚙️ Internals: : {{The Linux Kernel/source|mm/slab_common.c}} : {{The Linux Kernel/id|mm_init}} is called from {{The Linux Kernel/id|start_kernel}} :: {{The Linux Kernel/id|kmem_cache_init}} ::: {{The Linux Kernel/id|create_kmalloc_caches}} : {{The Linux Kernel/id|____kasan_kmalloc}} ''' SLUB allocator ''' &ndash; default Unqueued allocator {{w|SLUB (software)|SLUB}} is the iteration of the original SLAB allocator that replaced it and became the Linux default allocator since 2.6.23. ⚙️ Internals: {{The Linux Kernel/source|mm/slub.c}} 📚 References: : {{The Linux Kernel/id|CONFIG_SLUB}} ''' SLOB allocator ''' &ndash; Simple List Of Blocks for 🤖 embedded devices Unfortunately, SLAB and SLUB allocators consume a big amount of memory allocating their slabs, which is a serious drawback in small systems with memory constraints, such as embedded systems. To overcome it, the SLOB (Simple List Of Blocks) allocator was designed in January 2006 by Matt Mackall as a simpler method to allocate kernel objects. SLOB allocator uses a first-fit algorithm, which chooses the first available space for memory. This algorithm reduces memory consumption, but a major limitation of this method is that it suffers greatly from internal fragmentation. The SLOB allocator is also used as a fall back by the kernel build system when no slab allocator is defined (when the {{The Linux Kernel/id|CONFIG_SLAB}} flag is disabled). ⚙️ Internals: {{The Linux Kernel/source|mm/slob.c}}, {{The Linux Kernel/id|slob_alloc}} : {{w|SLOB}} ''' SLAB allocator ''' 💾 History: ''SLAB allocator is the original implementation Slab allocation. It was the default allocator since kernel 2.2 until 2.6.23, when SLUB allocator became the default, but it is still available as an option.'' SLAB is the name given to the first slab allocation implementation in the kernel to distinguish it from later allocators that use the same interface. It's heavily based on Jeff Bonwick's paper ''"The Slab Allocator: An Object-Caching Kernel Memory Allocator"'' (1994) describing the first slab allocator implemented in the Solaris 5.4 kernel. ⚙️ Internals: {{The Linux Kernel/source|mm/slab.c}} <hr> 📚 References for Slab allocation: : {{The Linux Kernel/doc|KASAN - KernelAddressSANitizer|dev-tools/kasan.html}} - dynamic memory safety error detector designed to find out-of-bound and use-after-free bugs : [https://www.youtube.com/watch?v=h0VMLXavx30 <nowiki>Video "SL[AUO]B: Kernel memory allocator design and philosophy"</nowiki>] Christopher Lameter (Linux.conf.au 2015 conference) [http://lca2015.linux.org.au/slides/167/slaballocators-auckland-2015.pdf Slides] === Page Allocator === The page allocator (or "zoned buddy allocator") is a low-level allocator that deals with physical memory. It delivers physical pages (usually with a size of 4096 bytes) of free memory to high-level memory consumers such as the slab allocators and <code>kmalloc()</code>. As the ultimate source of memory in the system, the page allocator must ensure that memory is always available, since a failure providing memory to a critical kernel subsystem can lead to a general system failure or a kernel panic. The page allocator divides physical memory into "zones", each of which corresponds to {{The Linux Kernel/id|zone_type}} with specific characteristics. ZONE_DMA contains memory at the bottom of the address range for use by severely challenged devices, for example, while {{The Linux Kernel/id|ZONE_NORMAL}} may contain most memory on the system. 32-bit systems have a ZONE_HIGHMEM for memory that is not directly mapped into the kernel's address space. Depending on the characteristics of any given allocation request, the page allocator will search the available zones in a specific priority order. For the curious, <tt>/proc/zoneinfo</tt> gives a lot of information about the zones in use on any given system. Within a zone, memory is grouped into ''page blocks'', each of which can be marked with a ''migration type'' - {{The Linux Kernel/id|migratetype}} describing how the block should be allocated. ⚲ API: : cat /proc/buddyinfo : {{The Linux Kernel/include|linux/gfp.h}} : {{The Linux Kernel/include|linux/mmzone.h}} : {{The Linux Kernel/id|alloc_page}} : {{The Linux Kernel/id|devm_get_free_pages}} - {{w|RAII}} function, ↯ hierarchy of it: :: {{The Linux Kernel/id|__get_free_pages}} ::: {{The Linux Kernel/id|alloc_pages}} :::: {{The Linux Kernel/id|alloc_pages_node}} ::::: {{The Linux Kernel/id|__alloc_pages}} - the 'heart' of the zoned buddy allocator ⚙️ Internals: : {{The Linux Kernel/id|build_all_zonelists}} is called from {{The Linux Kernel/id|start_kernel}}, ↯ call hierarchy: :: {{The Linux Kernel/id|build_all_zonelists_init}} ::: {{The Linux Kernel/id|__build_all_zonelists}} :::: {{The Linux Kernel/id|build_zonelists}} : {{The Linux Kernel/id|__alloc_pages}} - the 'heart' of the zoned buddy allocator : struct {{The Linux Kernel/id|zone}} :: {{The Linux Kernel/id|free_area}} : {{The Linux Kernel/source|mm/mmzone.c}} : {{The Linux Kernel/source|mm/page_alloc.c}} 📚 References: : {{The Linux Kernel/doc|Get Free Page flags|core-api/memory-allocation.html}} : {{w|Buddy memory allocation}} : {{w|Page replacement algorithm}} <hr> 📚 References for logical memory: : {{The Linux Kernel/doc|Memory Allocation Guide|core-api/memory-allocation.html}} : {{The Linux Kernel/doc|Selecting memory allocator|core-api/memory-allocation.html#selecting-memory-allocator}} == Physical memory == === Memory Layout === A 32-bit processor can address a maximum of 4GB of memory. Linux kernels split the 4GB address space between user processes and the kernel; under the most common configuration, the first 3GB of the 32-bit range are given over to user space, and the kernel gets the final 1GB starting at 0xc0000000. Sharing the address space gives a number of performance benefits; in particular, the hardware's address translation buffer can be shared between the kernel and user space. In '''x86-64''' - {{The Linux Kernel/id|CONFIG_X86_64}} with 4-level page tables ({{The Linux Kernel/id|CONFIG_X86_5LEVEL}}=n), only the least significant 48&nbsp;bits of a virtual memory address would actually be used in address translation (page table lookup). The remainder bits 48 through 63 of any virtual address must be copies of bit 47, or the processor will raise an exception. Addresses complying with this rule are referred to as "canonical form." Canonical form addresses run from 0 through 00007FFF'FFFFFFFF, and from FFFF8000'00000000 through FFFFFFFF'FFFFFFFF, for a total of 256&nbsp;TB of usable {{w|virtual address space}}. This is still approximately 64,000 times the virtual address space on 32-bit machines. Linux takes the higher-addressed half of the address space for itself (kernel space) and leaves the lower-addressed half for user space. The "canonical address" design has, in effect, two memory halves: the lower half starts at 00000000'00000000 and "grows upwards" as more virtual address bits become available, while the higher half is "docked" to the top of the address space and grows downwards. {| class="wikitable sortable" |+ !Start addr !class=unsortable|Offset !End addr !class=unsortable|Size !class=unsortable|VM area description |- | <code><small>0000'</small>'''8'''<small>000'0000'0000</small></code> | +128 TB | <code><small>ffff'7fff'ffff'ffff</small></code> | | ... huge, almost 64 bits wide hole of non-canonical virtual memory addresses up to the -128 TB starting offset of kernel mappings. |- | <code><small>0000'0000'0000'0000</small></code> |0 | <code><small>0000'7fff'ffff'ffff</small></code> |128&nbsp;TB=2<sup>47</sup> |user-space virtual memory, different per mm |- | <code><small>ffff'ffff'ffe0'0000</small></code> | -2 MB | <code><small>ffff'ffff'ffff'ffff</small></code> | 2 MB=2<sup>21</sup> |... unused hole |- | <code><small>ffff'ffff'ff60'0000</small></code> | -10 MB | <code><small>ffff'ffff'ff60'0fff</small></code> | 4 kB=2<sup>12</sup> | {{The Linux Kernel/id|VSYSCALL_ADDR}} - legacy vsyscall ABI |- | <code><small>ffff'ffff'8000'0000</small></code> | -2 GB | <code><small>ffff'ffff'9fff'ffff</small></code> | 512&nbsp;MB=2<sup>19</sup> | kernel text mapping, mapped to physical address 0 |- | | | | | |- | <code><small>ffff'8880'0000'0000</small></code> | -119.5&nbsp;TB | <code><small>ffff'c87f'ffff'ffff</small></code> | 64&nbsp;TB | {{The Linux Kernel/id|page_offset_base}} = {{The Linux Kernel/id|__PAGE_OFFSET_BASE_L4}} - direct mapping of all physical memory |- | | | | | |- | <code><small>ffff'8000'0000'0000</small></code> | -128 TB | <code><small>ffff'87ff'ffff'ffff</small></code> | 8&nbsp;TB | ... guard hole, also reserved for hypervisor |} [[File:Linux_Virtual_Memory_Layout_64bit.svg|border|center|x86-64 memory layout]] ⚲ API: : {{The Linux Kernel/man|8|setarch}} --addr-no-randomize cat /proc/self/maps ⚙️ Internals: : {{The Linux Kernel/source|arch/x86/include/asm/page_64_types.h}} : {{The Linux Kernel/source|arch/x86/mm/init_64.c}} 📚 References: : {{The Linux Kernel/doc|X86_64 memory nap|x86/x86_64/mm.html}} : {{w|Address_space_layout_randomization#Linux|Address space layout randomization}} === Pages === In Linux, different architectures have different page sizes. The original &mdash;for x86 architecture&mdash; and still most commonly used page size is 4096 bytes (4 KB). The page size (in bytes) of the current architecture is defined by the <code>PAGE_SIZE</code> macro included in {{The Linux Kernel/source|arch/x86/include/asm/page_types.h}} header file. User space programs can get this value using the {{The Linux Kernel/man|2|getpagesize}} library function. Another related macro is <code>PAGE_SHIFT</code>, that contains the number of bits to shift an address to get its page number &mdash;12 bits for 4K pages. One of the most fundamental kernel data structures relating memory-management is <code>struct page</code>. The kernel keeps track of the status of every page of physical memory present in the system using variables of this type. There are millions of pages in a modern system, and therefore there are millions of these structures in memory. The full definition of <code>struct page</code> can be found in {{The Linux Kernel/include|linux/mm_types.h}}. : [https://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-1.html Pages] ===DMA=== ⚲ API: : {{The Linux Kernel/id|dma_addr_t}} - bus address : {{Template:The Linux Kernel/include|linux/dma-mapping.h}} : {{The Linux Kernel/id|dma_alloc_coherent}} : {{The Linux Kernel/id|dma_alloc_pages}} {{The Linux Kernel/id|pin_user_pages}} : {{The Linux Kernel/id|dma_map_single}} {{The Linux Kernel/id|dma_data_direction}} : {{The Linux Kernel/id|dma_map_sg}} {{The Linux Kernel/id|scatterlist}} : {{The Linux Kernel/id|dma_set_mask}} {{The Linux Kernel/id|dma_set_coherent_mask}} {{The Linux Kernel/id|dma_set_mask_and_coherent}} : {{The Linux Kernel/id|dma_sync_single_for_cpu}} {{The Linux Kernel/id|dma_sync_single_for_device}} : {{Template:The Linux Kernel/include|linux/gfp.h}} : {{Template:The Linux Kernel/include|linux/dmapool.h}} : {{The Linux Kernel/id|dma_pool_create}} : DMA-able memory: {{The Linux Kernel/id|__get_free_page}} {{The Linux Kernel/id|kmalloc}} {{The Linux Kernel/id|kmem_cache_alloc}} : {{The Linux Kernel/id|get_user_pages}} pins user pages in memory, 👁 Examples: : {{The Linux Kernel/source|samples/kfifo/dma-example.c}} : {{The Linux Kernel/id|e1000_alloc_rx_buffers}}, {{The Linux Kernel/id|e1000_alloc_ring_dma}} ⚙️ Internals: : {{Template:The Linux Kernel/source|kernel/dma}} : {{Template:The Linux Kernel/source|mm/dmapool.c}} : {{Template:The Linux Kernel/source|mm/gup.c}} : {{Template:The Linux Kernel/source|kernel/dma/mapping.c}} 📚 References: : {{The Linux Kernel/doc|Dynamic DMA mapping Guide|core-api/dma-api-howto.html}} : {{The Linux Kernel/doc|Dynamic DMA mapping using the generic device|core-api/dma-api.html}} : [https://lwn.net/Articles/787636/ LWM: get_user_pages, pinned pages, and DAX] : {{The Linux Kernel/doc|pin_user_pages() and related calls|core-api/pin_user_pages.html}} 💾 ''Historical:'' : [http://lwn.net/images/pdf/LDD3/ch15.pdf LDD3:Memory Mapping and DMA] : http://www.xml.com/ldd/chapter/book/ch13.html mmap and DMA SAC Single Address Cycle ==== DMAEngine ==== : {{The Linux Kernel/include|linux/dmaengine.h}} : {{The Linux Kernel/source|drivers/dma}} : {{The Linux Kernel/doc|driver-api/dmaengine}} : https://bootlin.com/pub/conferences/2015/elc/ripard-dmaengine/ == ... == 📚 References for the article: : {{The Linux Kernel/doc|Linux Memory Management Documentation|mm/}} :[https://www.ryadel.com/en/linux-memory-management-mechanism-analysis-kernel/ Analysis of Linux Memory Management Mechanism] : [https://0xax.gitbooks.io/linux-insides/content/MM/ Memory management] : http://linux-mm.org/LinuxMM : http://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-7.html : [https://lwn.net/Kernel/Index/#Memory_management Memory management, lwn] {{BookCat}} gbwgurqdbt3h86rgwqolhjb1ysftae0 The Linux Kernel/Storage 0 226984 4444372 4443902 2024-11-11T05:46:39Z Conan 3188 /* Multi-Queue Block IO Queueing */ 4444372 wikitext text/x-wiki {{DISPLAYTITLE:Storage functionality}} {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor=#cef | storage |-style="" | bgcolor=#aef | [[#Files_and_directories|files & directories access]] |-style="" | bgcolor=#8df | [[#Virtual File System|Virtual File System]] |-style="" | bgcolor=#8ce |[[#Page_cache|page cache]] |-style="" | bgcolor=#7ac |[[#Logical file systems|logical file systems]] |-style="" | bgcolor=#69a |[[#Block_device_layer|block devices]] |-style="" | bgcolor=#689 |[[#Storage_drivers|storage drivers]] |} Storage functionality provides access to various storage devices via files and directories of files. Most of the storage is persistent as flash memory, SSD and legacy hard disks. Another kind of storage is temporary. The ''file system'' provides an abstraction to organize the information into separate pieces of data (called ''files'') identified by a unique name. Each file system type defines their own structures and logic rules used to manage these groups of information and their names. Linux supports a plethora or different file system types, local and remote, native and from other operating systems. To accommodate such disparity the kernel defines a common top layer, the ''virtual file system'' (VFS) layer. [[File:The Linux Storage Stack Diagram.svg|Summary of the Linux kernel's storage stack|right|800x800px]] == Files and directories == Four basic files access system calls: : {{The Linux Kernel/man|2|open}} ↪ {{The Linux Kernel/id|do_sys_open}} - opens a file by name and returns a {{w|file descriptor}} (<big>fd</big>). Below functions operates on a fd. : {{The Linux Kernel/man|2|close}} ↪ {{The Linux Kernel/id|close_fd}} : {{The Linux Kernel/man|2|read}} ↪ {{The Linux Kernel/id|ksys_read}} : {{The Linux Kernel/man|2|write}} ↪ {{The Linux Kernel/id|ksys_write}} File in Linux and UNIX is not only physical file on persistent storage. File interface is used to access pipes, sockets and other pseudo-files. 🔧 TODO : {{The Linux Kernel/man|2|readlink}} , {{The Linux Kernel/man|2|symlink}} , {{The Linux Kernel/man|2|link}} : {{The Linux Kernel/man|3|readdir}} ⇾ {{The Linux Kernel/man|2|getdents}} : {{The Linux Kernel/man|7|path_resolution}} : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor ⚙️ Files and directories internals : {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/source|fs/open.c}} : {{The Linux Kernel/source|fs/namei.c}} : {{The Linux Kernel/source|fs/read_write.c}} 📚 Files and directories references : [https://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html Input/Output, The GNU C Library] : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] : {{w|Unix file types}} === File locks === File locks are mechanisms that allow processes to coordinate access to shared files. These locks help prevent conflicts when multiple processes or threads attempt to access the same file simultaneously. ⚲ API : {{The Linux Kernel/man|8|lslocks}} &ndash; list local system locks : {{The Linux Kernel/man|3|lockf}} &ndash; apply, test or remove a POSIX lock on an open file : {{The Linux Kernel/man|2|flock}} &ndash; apply or remove an advisory BSD lock on an open file : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor :: {{The Linux Kernel/id|F_SETLK}} &ndash; advisory record lock :: {{The Linux Kernel/id|F_OFD_SETLK}} &ndash; Open File Description Lock :: {{The Linux Kernel/id|flock}} &ndash; lock parameters : ⚠️ Avoid mixing flock and fcntl locks on the same file as they don’t interact with each other. ⚙️ Internals : {{The Linux Kernel/include|linux/filelock.h}} : {{The Linux Kernel/source|fs/locks.c}} : {{The Linux Kernel/include|trace/events/filelock.h}} 💾 ''Historical: [https://elixir.bootlin.com/linux/v5.14/K/ident/CONFIG_MANDATORY_FILE_LOCKING Mandatory locking] feature is no longer supported at all in Linux 5.15 and above because the implementation is unreliable.'' === Asynchronous I/O === 🚀 advanced features '''AIO''' : https://lwn.net/Kernel/Index/#Asynchronous_IO : {{The Linux Kernel/man|2|io_submit}} {{The Linux Kernel/man|2|io_setup}} {{The Linux Kernel/man|2|io_cancel}} {{The Linux Kernel/man|2|io_destroy}} {{The Linux Kernel/man|2|io_getevents}} : {{The Linux Kernel/include|uapi/linux/aio_abi.h}} : {{The Linux Kernel/source|fs/aio.c}} : {{The Linux Kernel/ltp|kernel|io/aio}} '''{{w|io_uring}}''' 🌱 ''New since release 5.1 in May 2019'' : https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework : https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/ : {{The Linux Kernel/id|io_uring_enter}} {{The Linux Kernel/id|io_uring_setup}} {{The Linux Kernel/id|io_uring_register}} : {{The Linux Kernel/include|linux/io_uring.h}} : {{The Linux Kernel/include|uapi/linux/io_uring.h}} : {{The Linux Kernel/source|fs/.c}} : https://lwn.net/Kernel/Index/#io_uring :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/810414/ The rapid growth of io_uring] :: [https://lwn.net/Articles/815491/ Automatic buffer selection for io_uring] :: [https://lwn.net/Articles/826053/ Operations restrictions for io_uring] :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/803070/ Redesigned workqueues for io_uring] : {{The Linux Kernel/ltp|kernel/syscalls|io_uring}} === {{w|Asynchronous_I/O#Forms|Non-blocking I/O}} === Allow non-blocking access to multiple file descriptors. '''Efficient event polling {{w|epoll}}''' ⚲ API: : {{The Linux Kernel/include|uapi/linux/eventpoll.h}} : {{The Linux Kernel/man|7|epoll}} : {{The Linux Kernel/man|2|epoll_create}} ↪ {{The Linux Kernel/id|do_epoll_create}} : {{The Linux Kernel/man|2|epoll_ctl}} ↪ {{The Linux Kernel/id|do_epoll_ctl}} : {{The Linux Kernel/man|2|epoll_wait}} ↪ {{The Linux Kernel/id|do_epoll_wait}} ⚙️ Internals: : {{The Linux Kernel/source|fs/eventpoll.c}} '''{{w|Select (Unix)|select}} and {{w|poll (Unix)|poll}}''' 💾 ''Historical: Select and poll system calls are derived from UNIX'' ⚲ API: : {{The Linux Kernel/man|2|poll}} ↪ {{The Linux Kernel/id|do_sys_poll}} : {{The Linux Kernel/man|2|select}} ↪ {{The Linux Kernel/id|kern_select}} ⚙️ Internals: : {{The Linux Kernel/source|fs/select.c}} === Vectored I/O === 🚀 advanced feature {{w|Vectored I/O}}, also known as scatter/gather I/O, is a method of input and output by which a single procedure call sequentially reads data from multiple buffers and writes it to a single data stream, or reads data from a data stream and writes it to multiple buffers, as defined in a vector of buffers. Scatter/gather refers to the process of gathering data from, or scattering data into, the given set of buffers. Vectored I/O can operate synchronously or asynchronously. The main reasons for using vectored I/O are efficiency and convenience. ⚲ API: : {{The Linux Kernel/include|uapi/linux/uio.h}} : {{The Linux Kernel/include|linux/uio.h}} : {{The Linux Kernel/id|iovec}} : {{The Linux Kernel/man|2|readv}} ↪ {{The Linux Kernel/id|do_readv}} : {{The Linux Kernel/man|2|writev}} ↪ {{The Linux Kernel/id|do_writev}} ⚙️ Internals: : {{The Linux Kernel/id|iov_iter}} : {{The Linux Kernel/id|do_readv}} ↯ call hierarchy: :: {{The Linux Kernel/id|vfs_readv}} ::: {{The Linux Kernel/id|import_iovec}} ::: {{The Linux Kernel/id|ext4_file_read_iter}} : {{The Linux Kernel/source|lib/iov_iter.c}} 📚 References : [https://www.gnu.org/software/libc/manual/html_node/Scatter_002dGather.html Fast Scatter-Gather I/O, The GNU C Library] : https://lwn.net/Kernel/Index/#Vectored_IO : https://lwn.net/Kernel/Index/#Scattergather_chaining == Virtual File System == The {{w|virtual file system}} (VFS) is an abstract layer on top of a concrete logical file system. The purpose of a VFS is to allow client applications to access different types of logical file systems in a uniform way. A VFS can, for example, be used to access local and [[../Networking#Network_storage|network storage]] devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing. A VFS specifies an interface (or a "contract") between the kernel and a logical file system. Therefore, it is easy to add support for new file system types to the kernel simply by fulfilling the contract. 🔧 TODO: {{The Linux Kernel/id|vfsmount}}, {{The Linux Kernel/id|vfs_create}}, {{The Linux Kernel/id|vfs_read}}, {{The Linux Kernel/id|vfs_write}} 📚 VFS References : {{The Linux Kernel/doc|VFS|filesystems/#core-vfs-documentation}} : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] == Logical file systems == A {{w|file system}} (or ''filesystem'') is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system". There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications. For example, the ISO 9660 file system is designed specifically for optical discs. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media. The most common storage device in use today is a {{w|SSD}}. Other media that was used are hard disk, magnetic tape, optical disc, and . In some cases, the computer's main memory (RAM) is used to create a temporary file system for short-term use. Raw storage is called a block device. Linux supports many different file systems, but common choices for the system disk on a block device include the ext* family (such as {{w|ext2}}, {{w|ext3}} and {{w|ext4}}), {{w|XFS}}, {{w|ReiserFS}} and {{w|btrfs}}. For raw Flash without a {{w|flash translation layer}} (FTL) or {{w|Memory Technology Device}} (MTD), there is {{w|UBIFS}}, {{w|JFFS2}}, and {{w|YAFFS}}, among others. {{w|SquashFS}} is a common compressed read-only file system. NFS and another network FS are described further in paragraph [[../Networking#Network_storage|Network storage]]. ⚲ Shell interfaces: : cat /proc/filesystems : ls /sys/fs/ : {{The Linux Kernel/man|8|mount}} : {{The Linux Kernel/man|8|umount}} : {{The Linux Kernel/man|8|findmnt}} : {{The Linux Kernel/man|1|mountpoint}} : {{The Linux Kernel/man|1|df}} Infrastructure ⚲ API function {{The Linux Kernel/id|register_filesystem}} registers structs {{The Linux Kernel/id|file_system_type}} and stores them in linked list ⚙️ {{The Linux Kernel/id|file_systems}}. Function {{The Linux Kernel/id|ext4_init_fs}} registers {{The Linux Kernel/id|ext4_fs_type}}. Operation of ''file system opening'' is called mounting: {{The Linux Kernel/id|ext4_mount}} ⚙️ Internals: : {{The Linux Kernel/source|fs/namespace.c}} :: {{The Linux Kernel/man|2|mount}} ::: {{The Linux Kernel/id|do_mount}} : {{The Linux Kernel/include|linux/buffer_head.h}} :: {{The Linux Kernel/id|super_block}} :: {{The Linux Kernel/id|sb_bread}} : {{The Linux Kernel/source|fs}} :: {{The Linux Kernel/source|fs/ext4/ext4.h}} ::: {{The Linux Kernel/id|ext4_sb_bread}} 📚 References: : {{The Linux Kernel/doc|filesystems|filesystems/#filesystems}} : Kernel wikis: [https://ext4.wiki.kernel.org/ EXT4], [https://btrfs.wiki.kernel.org/ btrfs], [https://reiser4.wiki.kernel.org/ Reiser4], [https://raid.wiki.kernel.org/ RAID], [https://xfs.wiki.kernel.org/ XFS] == Page cache == A page cache or disk cache is a transparent cache for the memory pages originating from a secondary storage device such as a hard disk drive. The operating system keeps a page cache in otherwise unused portions of the main memory, resulting in quicker access to the contents of cached pages and overall performance improvements. The page cache is implemented by the kernel, and is mostly transparent to applications. Usually, all physical memory not directly allocated to applications is used by the operating system for the page cache. Since the memory would otherwise be idle and is easily reclaimed when applications request it, there is generally no associated performance penalty and the operating system might even report such memory as "free" or "available". The page cache also aids in writing to a disk. Pages in the main memory that have been modified during writing data to disk are marked as "dirty" and have to be flushed to disk before they can be freed. When a file write occurs, the page backing the particular block is looked up. If it is already found in the page cache, the write is done to that page in the main memory. Otherwise, when the write perfectly falls on page size boundaries, the page is not even read from disk, but allocated and immediately marked dirty. Otherwise, the page(s) are fetched from disk and requested modifications are done. Not all cached pages can be written to as program code is often mapped as read-only or copy-on-write; in the latter case, modifications to code will only be visible to the process itself and will not be written to disk. ⚲ API: : {{The Linux Kernel/man|2|fsync}} ↪ {{The Linux Kernel/id|do_fsync}} : {{The Linux Kernel/man|2|sync_file_range}} ↪ {{The Linux Kernel/id|ksys_sync_file_range}} : {{The Linux Kernel/man|2|syncfs}} ↪ {{The Linux Kernel/id|sync_filesystem}} 📚 References : {{The Linux Kernel/id|wb_workfn}} : {{The Linux Kernel/id|address_space}} : {{The Linux Kernel/id|do_writepages}} : {{The Linux Kernel/include|linux/writeback.h}} : {{The Linux Kernel/source|mm/page-writeback.c}} : {{w|Page cache}} More : [https://lwn.net/Articles/717953/ The future of DAX ] - direct access bypassing the cache : [https://tldp.org/LDP/lki/lki-4.html Linux Page Cache in Linux Kernel 2.4 Internals] == Zero-copy == 🚀 advanced features Writing data to storage and reading are very resource consuming operations. Copying memory is time and CPU consuming operation too. Set of methods to avoid copying operations is called {{w|zero-copy}}. The goal of zero-copy methods is a fast and efficient data transfer within the system. The first and simplest method is {{w|Pipeline (Unix)|Pipeline}}, invoked by operator "|" in shells. Instead of writing data into temporary file and reading, the data is passed efficiently via a pipe bypassing a storage. The second method is {{w|Tee_(command)|tee}}. ⚲ Syscalls: : {{The Linux Kernel/man|2|pipe2}} : {{The Linux Kernel/man|2|tee}}, {{The Linux Kernel/man|1|tee}} : {{The Linux Kernel/man|2|sendfile}} : {{The Linux Kernel/man|2|copy_file_range}} : {{The Linux Kernel/man|2|splice}} : {{The Linux Kernel/man|2|vmsplice}} ⚲ API and ⚙️ Internals: : '''{{The Linux Kernel/man|2|pipe2}}''' ↪ {{The Linux Kernel/id|do_pipe2}} - creates pipe :: uses {{The Linux Kernel/id|pipe_fs_type}}, {{The Linux Kernel/id|pipefifo_fops}} : '''{{The Linux Kernel/man|2|tee}}''' ↪ {{The Linux Kernel/id|do_tee}}- duplicates pipe content :: calls {{The Linux Kernel/id|link_pipe}} : '''{{The Linux Kernel/man|2|sendfile}}''' ↪ {{The Linux Kernel/id|do_sendfile}} - transfers data between file descriptors, the output can be a socket. Used in [[../Networking#Network_storage|network storage]] and servers. :: Calls: {{The Linux Kernel/id|do_splice_direct}}, {{The Linux Kernel/id|splice_direct_to_actor}} : '''{{The Linux Kernel/man|2|copy_file_range}}''' ↪ {{The Linux Kernel/id|vfs_copy_file_range}} - transfers data between files :: calls custom {{The Linux Kernel/id|remap_file_range}} like {{The Linux Kernel/id|nfs42_remap_file_range}} :: or custom {{The Linux Kernel/id|copy_file_range}} like {{The Linux Kernel/id|fuse_copy_file_range}} :: or {{The Linux Kernel/id|do_splice_direct}} : '''{{The Linux Kernel/man|2|splice}}''' ↪ {{The Linux Kernel/id|do_splice}} - splices data to/from a pipe. :: There are three cases regarding which end being a pipe: :# {{The Linux Kernel/id|do_splice_from}} - only input is a pipe :#: Calls {{The Linux Kernel/id|iter_file_splice_write}} or custom {{The Linux Kernel/id|splice_write}} :#: or {{The Linux Kernel/id|default_file_splice_write}}: {{The Linux Kernel/id|write_pipe_buf}}, {{The Linux_Kernel/id|splice_from_pipe}}, {{The Linux Kernel/id|__splice_from_pipe}} :# {{The Linux Kernel/id|do_splice_to}} - only output is a pipe. :#: Calls {{The Linux Kernel/id|generic_file_splice_read}} or custom {{The Linux Kernel/id|splice_read}} :#: or {{The Linux Kernel/id|default_file_splice_read}}: {{The Linux Kernel/id|kernel_readv}} :# {{The Linux Kernel/id|splice_pipe_to_pipe}} - both are pipes : '''{{The Linux Kernel/man|2|vmsplice}}''' ↪ :: {{The Linux Kernel/id|vmsplice_to_pipe}} &ndash; splices user pages to a pipe :: {{The Linux Kernel/id|vmsplice_to_user}} &ndash; splices a pipe to user pages ⚲ API : {{The Linux Kernel/include|linux/splice.h}} ⚙️ Internals: : {{The Linux Kernel/source|fs/pipe.c}} : {{The Linux Kernel/source|fs/splice.c}} 🔧 TODO: {{The Linux Kernel/id|zerocopy_sg_from_iter}} builds a zerocopy skb datagram from an iov_iter. Used in {{The Linux Kernel/id|tap_get_user}} and {{The Linux Kernel/id|tun_get_user}}. {{The Linux Kernel/id|skb_zerocopy}} {{The Linux Kernel/id|skb_zerocopy_iter_dgram}} 📚 References : {{The Linux Kernel/man|7|pipe}} : {{The Linux Kernel/man|7|fifo}} : {{The Linux Kernel/doc|splice and pipes|filesystems/splice.html}} :: {{The Linux Kernel/doc|Pipes API|filesystems/splice.html#pipes-api}} : {{w|splice (system call)}} : LTP: {{The Linux Kernel/ltp|kernel/syscalls|pipe}}, {{The Linux Kernel/ltp|kernel/syscalls|pipe2}}, {{The Linux Kernel/ltp|kernel/syscalls|tee}}, {{The Linux Kernel/ltp|kernel/syscalls|sendfile}}, {{The Linux Kernel/ltp|kernel/syscalls|copy_file_range}}, {{The Linux Kernel/ltp|kernel/syscalls|splice}}, {{The Linux Kernel/ltp|kernel/syscalls|vmsplice}} == Block device layer == The block device layer in Linux provides an abstraction for accessing storage devices, such as and USB drives, by presenting them as a series of fixed-size blocks. It sits between the hardware and the file system, allowing applications and file systems to perform read and write operations efficiently without needing to know the specifics of the underlying hardware. Key components include block drivers, the I/O scheduler, and buffer management, which work together to handle requests, optimize access patterns, and ensure data integrity. This layer supports essential features like caching, partition management, and queueing mechanisms to balance performance and reliability. ⚲ Interfaces: : {{The Linux Kernel/include|linux/genhd.h}} : {{The Linux Kernel/include|linux/blk_types.h}} :: {{The Linux Kernel/id|bio}} &ndash; main unit of I/O for the block layer and lower layers : {{The Linux Kernel/include|linux/bio.h}} : {{The Linux Kernel/id|block_device}} : {{The Linux Kernel/id|alloc_disk_node}} allocates {{The Linux Kernel/id|gendisk}} : {{The Linux Kernel/id|add_disk}} :: {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|block_device_operations}} : {{The Linux Kernel/include|linux/blkdev.h}} :: {{The Linux Kernel/id|block_class}} &ndash; block devices Driver Model class :: {{The Linux Kernel/id|register_blkdev}} :: {{The Linux Kernel/id|request}} :: {{The Linux Kernel/id|request_queue}} ⚙️ Internals. : {{The Linux Kernel/source|block}} : {{The Linux Kernel/id|block_class}} 👁 Examples: : {{The Linux Kernel/source|drivers/block/brd.c}} - small RAM backed block device driver : {{The Linux Kernel/source|drivers/block/null_blk}} === Device mapper === The ''device mapper'' is a framework provided by the kernel for mapping physical block devices onto higher-level "virtual block devices". It forms the foundation of LVM2, software RAIDs and dm-crypt disk encryption, and offers additional features such as file system snapshots. Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption. User space applications that need to create new mapped devices talk to the device mapper via the <code>libdevmapper.so</code> shared library, which in turn issues ioctls to the <code>/dev/mapper/control</code> device node. Functions provided by the device mapper include linear, striped and error ''mappings,'' as well as crypt and multipath ''targets.'' For example, two disks may be concatenated into one logical volume with a pair of ''linear'' mappings, one for each disk. As another example, ''crypt'' target encrypts the data passing through the specified device, by using the Linux kernel's Crypto API. The following mapping targets are available: : ''cache'' - allows the creation of hybrid volumes, by using solid-state drives (SSDs) as caches for hard disk drives (HDDs) : ''crypt'' - provides data encryption, by using the Linux kernel's Crypto API : ''delay'' - delays reads and/or writes to different devices (used for testing) : ''era'' - behaves in a way similar to the linear target, while it keeps track of blocks that were written to within a user-defined period of time : ''error'' - simulates I/O errors for all mapped blocks (used for testing) : ''flakey'' - simulates periodic unreliable behaviour (used for testing) : ''linear'' - maps a continuous range of blocks onto another block device : ''mirror'' - maps a mirrored logical device, while providing data redundancy : ''multipath'' - supports the mapping of multipathed devices, through usage of their path groups : ''raid'' - offers an interface to the Linux kernel's software RAID driver (md) : ''snapshot'' and ''snapshot-origin'' - used for creation of LVM snapshots, as part of the underlining copy-on-write scheme : ''striped'' - strips the data across physical devices, with the number of stripes and the striping chunk size as parameters : ''zero'' - an equivalent of <code>/dev/zero</code>, all reads return blocks of zeros, and writes are discarded 📚 References : {{w|Device mapper}} : {{The Linux Kernel/doc|Device mapper|admin-guide/device-mapper}} : {{The Linux Kernel/include|linux/device-mapper.h}} : {{The Linux Kernel/source|drivers/md}} : https://lwn.net/Kernel/Index/#Device_mapper === Multi-Queue Block IO Queueing === The blk-mq API enhances IO performance by leveraging multiple queues for parallel processing, addressing bottlenecks from traditional single-queue designs. It uses software queues for scheduling, merging, and reordering requests, and hardware queues to interface directly with devices. If hardware resources are limited, requests are temporarily queued for later dispatch. ⚲ Interfaces: : /sys/devices/.../mq/ : {{The Linux Kernel/include|linux/blk-mq.h}} :: Structures: ::: {{The Linux Kernel/id|blk_mq_hw_ctx}} &ndash; hardware dispatch queue context ::: {{The Linux Kernel/id|blk_mq_tag_set}} &ndash; shared between request queues :::: {{The Linux Kernel/id|blk_mq_ops}} :::: {{The Linux Kernel/id|blk_mq_tags}} :::: {{The Linux Kernel/id|blk_mq_queue_map}} &ndash; map software queues to hardware queues ::: {{The Linux Kernel/id|request}} 👁️ Example : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; multi-queue aware block test driver ⚙️ Internals : /sys/kernel/debug/block/*/hctx* : {{The Linux Kernel/source|block/blk-mq.h}} :: {{The Linux Kernel/id|blk_mq_ctx}} &ndash; software staging queue context : {{The Linux Kernel/source|block/blk-mq.c}} &ndash; block multi-queue core code : {{The Linux Kernel/source|block/blk-mq-tag.c}} &ndash; tag allocation using scalable bitmaps : ... 📖 References : {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} === I/O scheduler === I/O scheduling (or disk scheduling) is the method chosen by the kernel to decide in which order the block I/O operations will be submitted to the storage volumes. I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal arm/head movement. The particular I/O scheduler used with certain block device can be switched at run time by modifying the corresponding <code>/sys/block/<block_device>/queue/scheduler</code> file in the sysfs filesystem. Some I/O schedulers also have tunable parameters that can be set through files in <code>/sys/block/<block_device>/queue/iosched/</code>. ⚲ Interfaces: : {{The Linux Kernel/include|linux/elevator.h}} : Function {{The Linux Kernel/id|elv_register}} registers struct {{The Linux Kernel/id|elevator_type}}. : {{The Linux Kernel/id|elevator_queue}} ⚙️ Internals: : {{The Linux Kernel/source|block/elevator.c}} : {{The Linux Kernel/source|block/Kconfig.iosched}} : {{The Linux Kernel/source|block/bfq-iosched.c}} : {{The Linux Kernel/source|block/kyber-iosched.c}} : {{The Linux Kernel/source|block/mq-deadline.c}} : {{The Linux Kernel/include|include/trace/events/block.h}} 📖 References: : {{w|I/O scheduling}} : {{w|Elevator algorithm}} : {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} : {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} : {{The Linux Kernel/doc|Deadline IO scheduler tunables|deadline-iosched.html}} : https://www.cloudbees.com/blog/linux-io-scheduler-tuning/ : https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers === ... === 📖 References : {{The Linux Kernel/doc|Block devices|block}} :: {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} ::: {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} ::: {{The Linux Kernel/doc|Deadline IO scheduler tunables|block/deadline-iosched.html}} ::: {{The Linux Kernel/doc|Kyber I/O scheduler tunables|block/kyber-iosched.html}} :: {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} 📚 Further reading : /sys/kernel/debug/block/*/ : https://lwn.net/Kernel/Index/#Block_layer : [https://lore.kernel.org/linux-block/ block devices ML] : [http://lwn.net/images/pdf/LDD3/ch16.pdf LDD3:Block Drivers] : [http://www.xml.com/ldd/chapter/book/ch12.html LDD1:Loading Block Drivers] : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch14.html ULK3 Chapter 14. Block Device Drivers] : [https://sg.danny.cz/sg/The Linux SCSI Generic (sg) Driver] :: [https://sg.danny.cz/sg/scsi_debug.html Scsi_debug adapter driver for Linux] :: https://github.com/doug-gilbert/sg3_utils == {{w|Computer data storage|Storage}} drivers == 🔧 TODO ⚙️ Internals : {{The Linux Kernel/source|drivers/nvmem}} &ndash; {{w|Non-volatile memory}} : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/scsi}} &ndash; {{w|SCSI|Small Computer System Interface}} : {{The Linux Kernel/source|drivers/virtio}} : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} for 🤖 embedded devices === NVMe === {{w|NVM Express}} drivers provide accesses a computer's {{w|non-volatile storage}}. Local storage is attached via {{w|PCIe|PCI Express}} bus. PCI NVMe device driver entry point is {{The Linux Kernel/id|nvme_init}}. Remote storage driver is called target and local {{w|Proxy_pattern|proxy}} driver is called host. {{w|Switched fabric|Fabrics}} connect remote targets with local host. A fabric can be based on {{w|Remote direct memory access|RDMA}}, {{w|Transmission Control Protocol|TCP}} or {{w|Fibre Channel}} protocols. ⚲ API: : [https://github.com/linux-nvme/nvme-cli nvme-cli] : {{The Linux Kernel/include|uapi/linux/nvme_ioctl.h}} : {{The Linux Kernel/include|linux/nvme.h}} ⚙️ '''Internals:''' : {{The Linux Kernel/source|drivers/nvme}} '''Host''' {{The Linux Kernel/source|drivers/nvme/host}}: ⚲ Interfaces: : {{The Linux Kernel/source|drivers/nvme/host/nvme.h}} :: {{The Linux Kernel/id|nvme_init_ctrl}} initializes a NVMe controller structures {{The Linux Kernel/id|nvme_ctrl}} with operations {{The Linux Kernel/id|nvme_ctrl_ops}} ::: a subroutine of {{The Linux Kernel/id|nvme_scan_work}} adds a new disk with {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|nvme_init}} - local PCI nvme module init :: {{The Linux Kernel/id|nvme_probe}} ::: {{The Linux Kernel/id|nvme_init_ctrl}} ... ::: {{The Linux Kernel/id|nvme_pci_ctrl_ops}} : {{The Linux Kernel/id|nvme_core_init}} - module init '''Fabrics''' ⚲ interfaces: : {{The Linux Kernel/source|drivers/nvme/host/fabrics.h}} :: {{The Linux Kernel/id|nvmf_register_transport}} resisters {{The Linux Kernel/id|nvmf_transport_ops}} : {{The Linux Kernel/id|nvmf_init}} - fabrics module init ⚙️ internals: : {{The Linux Kernel/id|nvmf_init}} - fabrics module init :: {{The Linux Kernel/id|nvmf_misc}} ::: {{The Linux Kernel/id|nvmf_dev_fops}} :::: {{The Linux Kernel/id|nvmf_dev_write}} ::::: {{The Linux Kernel/id|nvmf_create_ctrl}} binds {{The Linux Kernel/id|nvmf_transport_ops}} '''Target''' {{The Linux Kernel/source|drivers/nvme/target}}: ⚲ Interfaces: {{The Linux Kernel/source|drivers/nvme/target/nvmet.h}} : {{The Linux Kernel/id|nvmet_register_transport}} registers {{The Linux Kernel/id|nvmet_fabrics_ops}} : {{The Linux Kernel/id|nvmet_init}} - module init : {{The Linux Kernel/id|fcloop_init}} - loopback test module init which can be useful to test NVMe-FC transport interfaces. {| class="wikitable" |- ! ! colspan="3" |NVMe over {{w|Switched fabric|Fabrics}} |- !<div style='text-align:left'>Layers</div> !{{w|Transmission Control Protocol|TCP}} ![[../Networking#RDMA|RDMA]] !{{w|Fibre Channel}} |- !<div style='text-align:left'>Host modules</div> |{{The Linux Kernel/id|nvme_tcp_init_module}} |{{The Linux Kernel/id|nvme_rdma_init_module}} |{{The Linux Kernel/id|nvme_fc_init_module}} |- !<div style='text-align:left'>Fabrics protocols</div> |{{The Linux Kernel/include|linux/nvme-tcp.h}} |{{The Linux Kernel/include|linux/nvme-rdma.h}} |{{The Linux Kernel/include|linux/nvme-fc.h}} {{The Linux Kernel/include|linux/nvme-fc-driver.h}} |- !<div style='text-align:left'>Target modules</div> |{{The Linux Kernel/id|nvmet_tcp_init}} |{{The Linux Kernel/id|nvmet_rdma_init}} |{{The Linux Kernel/id|nvmet_fc_init_module}} |} 👁 Example: {{The Linux Kernel/id|nvme_loop_init_module}} nvme loopback : {{The Linux Kernel/id|nvme_loop_transport}} - fabrics operations :: {{The Linux Kernel/id|nvme_loop_create_ctrl}} ::: {{The Linux Kernel/id|nvme_loop_create_io_queues}} : {{The Linux Kernel/id|nvme_loop_ops}} - target operation :: {{The Linux Kernel/id|nvme_loop_add_port}} :: {{The Linux Kernel/id|nvme_loop_queue_response}} == Appendices== 🚀 Advanced : {{The Linux Kernel/man|1|pidstat}} &ndash; reports task statistics : /proc/self/io &ndash; I/O statistics for the process (see {{The Linux Kernel/man|5|proc}}) 💾 Historical storage drivers : {{The Linux Kernel/source|drivers/ata}} - {{w|Parallel ATA}} 📖 Further reading about storage : [https://github.com/iovisor/bcc/blob/master/README.md#storage-and-filesystems-tools bcc/ebpf storage and filesystems tools] {{BookCat}} bdaocclsyal80shqkimuhk1trn7kyqz 4444373 4444372 2024-11-11T06:07:21Z Conan 3188 /* Block device layer */ gendisk ... 4444373 wikitext text/x-wiki {{DISPLAYTITLE:Storage functionality}} {|style="width: 25%; float: right; text-align:center;border-spacing: 0; color:black; margin:auto;" cellpadding=5pc ! bgcolor=#cef | storage |-style="" | bgcolor=#aef | [[#Files_and_directories|files & directories access]] |-style="" | bgcolor=#8df | [[#Virtual File System|Virtual File System]] |-style="" | bgcolor=#8ce |[[#Page_cache|page cache]] |-style="" | bgcolor=#7ac |[[#Logical file systems|logical file systems]] |-style="" | bgcolor=#69a |[[#Block_device_layer|block devices]] |-style="" | bgcolor=#689 |[[#Storage_drivers|storage drivers]] |} Storage functionality provides access to various storage devices via files and directories of files. Most of the storage is persistent as flash memory, SSD and legacy hard disks. Another kind of storage is temporary. The ''file system'' provides an abstraction to organize the information into separate pieces of data (called ''files'') identified by a unique name. Each file system type defines their own structures and logic rules used to manage these groups of information and their names. Linux supports a plethora or different file system types, local and remote, native and from other operating systems. To accommodate such disparity the kernel defines a common top layer, the ''virtual file system'' (VFS) layer. [[File:The Linux Storage Stack Diagram.svg|Summary of the Linux kernel's storage stack|right|800x800px]] == Files and directories == Four basic files access system calls: : {{The Linux Kernel/man|2|open}} ↪ {{The Linux Kernel/id|do_sys_open}} - opens a file by name and returns a {{w|file descriptor}} (<big>fd</big>). Below functions operates on a fd. : {{The Linux Kernel/man|2|close}} ↪ {{The Linux Kernel/id|close_fd}} : {{The Linux Kernel/man|2|read}} ↪ {{The Linux Kernel/id|ksys_read}} : {{The Linux Kernel/man|2|write}} ↪ {{The Linux Kernel/id|ksys_write}} File in Linux and UNIX is not only physical file on persistent storage. File interface is used to access pipes, sockets and other pseudo-files. 🔧 TODO : {{The Linux Kernel/man|2|readlink}} , {{The Linux Kernel/man|2|symlink}} , {{The Linux Kernel/man|2|link}} : {{The Linux Kernel/man|3|readdir}} ⇾ {{The Linux Kernel/man|2|getdents}} : {{The Linux Kernel/man|7|path_resolution}} : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor ⚙️ Files and directories internals : {{The Linux Kernel/include|linux/fs.h}} : {{The Linux Kernel/source|fs/open.c}} : {{The Linux Kernel/source|fs/namei.c}} : {{The Linux Kernel/source|fs/read_write.c}} 📚 Files and directories references : [https://www.gnu.org/software/libc/manual/html_node/I_002fO-Overview.html Input/Output, The GNU C Library] : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] : {{w|Unix file types}} === File locks === File locks are mechanisms that allow processes to coordinate access to shared files. These locks help prevent conflicts when multiple processes or threads attempt to access the same file simultaneously. ⚲ API : {{The Linux Kernel/man|8|lslocks}} &ndash; list local system locks : {{The Linux Kernel/man|3|lockf}} &ndash; apply, test or remove a POSIX lock on an open file : {{The Linux Kernel/man|2|flock}} &ndash; apply or remove an advisory BSD lock on an open file : {{The Linux Kernel/man|2|fcntl}} &ndash; manipulate file descriptor :: {{The Linux Kernel/id|F_SETLK}} &ndash; advisory record lock :: {{The Linux Kernel/id|F_OFD_SETLK}} &ndash; Open File Description Lock :: {{The Linux Kernel/id|flock}} &ndash; lock parameters : ⚠️ Avoid mixing flock and fcntl locks on the same file as they don’t interact with each other. ⚙️ Internals : {{The Linux Kernel/include|linux/filelock.h}} : {{The Linux Kernel/source|fs/locks.c}} : {{The Linux Kernel/include|trace/events/filelock.h}} 💾 ''Historical: [https://elixir.bootlin.com/linux/v5.14/K/ident/CONFIG_MANDATORY_FILE_LOCKING Mandatory locking] feature is no longer supported at all in Linux 5.15 and above because the implementation is unreliable.'' === Asynchronous I/O === 🚀 advanced features '''AIO''' : https://lwn.net/Kernel/Index/#Asynchronous_IO : {{The Linux Kernel/man|2|io_submit}} {{The Linux Kernel/man|2|io_setup}} {{The Linux Kernel/man|2|io_cancel}} {{The Linux Kernel/man|2|io_destroy}} {{The Linux Kernel/man|2|io_getevents}} : {{The Linux Kernel/include|uapi/linux/aio_abi.h}} : {{The Linux Kernel/source|fs/aio.c}} : {{The Linux Kernel/ltp|kernel|io/aio}} '''{{w|io_uring}}''' 🌱 ''New since release 5.1 in May 2019'' : https://blogs.oracle.com/linux/an-introduction-to-the-io_uring-asynchronous-io-framework : https://thenewstack.io/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/ : {{The Linux Kernel/id|io_uring_enter}} {{The Linux Kernel/id|io_uring_setup}} {{The Linux Kernel/id|io_uring_register}} : {{The Linux Kernel/include|linux/io_uring.h}} : {{The Linux Kernel/include|uapi/linux/io_uring.h}} : {{The Linux Kernel/source|fs/.c}} : https://lwn.net/Kernel/Index/#io_uring :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/810414/ The rapid growth of io_uring] :: [https://lwn.net/Articles/815491/ Automatic buffer selection for io_uring] :: [https://lwn.net/Articles/826053/ Operations restrictions for io_uring] :: [https://lwn.net/Articles/779472/ io_uring, SCM_RIGHTS, and reference-count cycles] :: [https://lwn.net/Articles/803070/ Redesigned workqueues for io_uring] : {{The Linux Kernel/ltp|kernel/syscalls|io_uring}} === {{w|Asynchronous_I/O#Forms|Non-blocking I/O}} === Allow non-blocking access to multiple file descriptors. '''Efficient event polling {{w|epoll}}''' ⚲ API: : {{The Linux Kernel/include|uapi/linux/eventpoll.h}} : {{The Linux Kernel/man|7|epoll}} : {{The Linux Kernel/man|2|epoll_create}} ↪ {{The Linux Kernel/id|do_epoll_create}} : {{The Linux Kernel/man|2|epoll_ctl}} ↪ {{The Linux Kernel/id|do_epoll_ctl}} : {{The Linux Kernel/man|2|epoll_wait}} ↪ {{The Linux Kernel/id|do_epoll_wait}} ⚙️ Internals: : {{The Linux Kernel/source|fs/eventpoll.c}} '''{{w|Select (Unix)|select}} and {{w|poll (Unix)|poll}}''' 💾 ''Historical: Select and poll system calls are derived from UNIX'' ⚲ API: : {{The Linux Kernel/man|2|poll}} ↪ {{The Linux Kernel/id|do_sys_poll}} : {{The Linux Kernel/man|2|select}} ↪ {{The Linux Kernel/id|kern_select}} ⚙️ Internals: : {{The Linux Kernel/source|fs/select.c}} === Vectored I/O === 🚀 advanced feature {{w|Vectored I/O}}, also known as scatter/gather I/O, is a method of input and output by which a single procedure call sequentially reads data from multiple buffers and writes it to a single data stream, or reads data from a data stream and writes it to multiple buffers, as defined in a vector of buffers. Scatter/gather refers to the process of gathering data from, or scattering data into, the given set of buffers. Vectored I/O can operate synchronously or asynchronously. The main reasons for using vectored I/O are efficiency and convenience. ⚲ API: : {{The Linux Kernel/include|uapi/linux/uio.h}} : {{The Linux Kernel/include|linux/uio.h}} : {{The Linux Kernel/id|iovec}} : {{The Linux Kernel/man|2|readv}} ↪ {{The Linux Kernel/id|do_readv}} : {{The Linux Kernel/man|2|writev}} ↪ {{The Linux Kernel/id|do_writev}} ⚙️ Internals: : {{The Linux Kernel/id|iov_iter}} : {{The Linux Kernel/id|do_readv}} ↯ call hierarchy: :: {{The Linux Kernel/id|vfs_readv}} ::: {{The Linux Kernel/id|import_iovec}} ::: {{The Linux Kernel/id|ext4_file_read_iter}} : {{The Linux Kernel/source|lib/iov_iter.c}} 📚 References : [https://www.gnu.org/software/libc/manual/html_node/Scatter_002dGather.html Fast Scatter-Gather I/O, The GNU C Library] : https://lwn.net/Kernel/Index/#Vectored_IO : https://lwn.net/Kernel/Index/#Scattergather_chaining == Virtual File System == The {{w|virtual file system}} (VFS) is an abstract layer on top of a concrete logical file system. The purpose of a VFS is to allow client applications to access different types of logical file systems in a uniform way. A VFS can, for example, be used to access local and [[../Networking#Network_storage|network storage]] devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing. A VFS specifies an interface (or a "contract") between the kernel and a logical file system. Therefore, it is easy to add support for new file system types to the kernel simply by fulfilling the contract. 🔧 TODO: {{The Linux Kernel/id|vfsmount}}, {{The Linux Kernel/id|vfs_create}}, {{The Linux Kernel/id|vfs_read}}, {{The Linux Kernel/id|vfs_write}} 📚 VFS References : {{The Linux Kernel/doc|VFS|filesystems/#core-vfs-documentation}} : [https://tldp.org/LDP/lki/lki-3.html VFS in Linux Kernel 2.4 Internals] == Logical file systems == A {{w|file system}} (or ''filesystem'') is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified. Each group of data is called a "file". The structure and logic rules used to manage the groups of information and their names is called a "file system". There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more. Some file systems have been designed to be used for specific applications. For example, the ISO 9660 file system is designed specifically for optical discs. File systems can be used on many different kinds of storage devices. Each storage device uses a different kind of media. The most common storage device in use today is a {{w|SSD}}. Other media that was used are hard disk, magnetic tape, optical disc, and . In some cases, the computer's main memory (RAM) is used to create a temporary file system for short-term use. Raw storage is called a block device. Linux supports many different file systems, but common choices for the system disk on a block device include the ext* family (such as {{w|ext2}}, {{w|ext3}} and {{w|ext4}}), {{w|XFS}}, {{w|ReiserFS}} and {{w|btrfs}}. For raw Flash without a {{w|flash translation layer}} (FTL) or {{w|Memory Technology Device}} (MTD), there is {{w|UBIFS}}, {{w|JFFS2}}, and {{w|YAFFS}}, among others. {{w|SquashFS}} is a common compressed read-only file system. NFS and another network FS are described further in paragraph [[../Networking#Network_storage|Network storage]]. ⚲ Shell interfaces: : cat /proc/filesystems : ls /sys/fs/ : {{The Linux Kernel/man|8|mount}} : {{The Linux Kernel/man|8|umount}} : {{The Linux Kernel/man|8|findmnt}} : {{The Linux Kernel/man|1|mountpoint}} : {{The Linux Kernel/man|1|df}} Infrastructure ⚲ API function {{The Linux Kernel/id|register_filesystem}} registers structs {{The Linux Kernel/id|file_system_type}} and stores them in linked list ⚙️ {{The Linux Kernel/id|file_systems}}. Function {{The Linux Kernel/id|ext4_init_fs}} registers {{The Linux Kernel/id|ext4_fs_type}}. Operation of ''file system opening'' is called mounting: {{The Linux Kernel/id|ext4_mount}} ⚙️ Internals: : {{The Linux Kernel/source|fs/namespace.c}} :: {{The Linux Kernel/man|2|mount}} ::: {{The Linux Kernel/id|do_mount}} : {{The Linux Kernel/include|linux/buffer_head.h}} :: {{The Linux Kernel/id|super_block}} :: {{The Linux Kernel/id|sb_bread}} : {{The Linux Kernel/source|fs}} :: {{The Linux Kernel/source|fs/ext4/ext4.h}} ::: {{The Linux Kernel/id|ext4_sb_bread}} 📚 References: : {{The Linux Kernel/doc|filesystems|filesystems/#filesystems}} : Kernel wikis: [https://ext4.wiki.kernel.org/ EXT4], [https://btrfs.wiki.kernel.org/ btrfs], [https://reiser4.wiki.kernel.org/ Reiser4], [https://raid.wiki.kernel.org/ RAID], [https://xfs.wiki.kernel.org/ XFS] == Page cache == A page cache or disk cache is a transparent cache for the memory pages originating from a secondary storage device such as a hard disk drive. The operating system keeps a page cache in otherwise unused portions of the main memory, resulting in quicker access to the contents of cached pages and overall performance improvements. The page cache is implemented by the kernel, and is mostly transparent to applications. Usually, all physical memory not directly allocated to applications is used by the operating system for the page cache. Since the memory would otherwise be idle and is easily reclaimed when applications request it, there is generally no associated performance penalty and the operating system might even report such memory as "free" or "available". The page cache also aids in writing to a disk. Pages in the main memory that have been modified during writing data to disk are marked as "dirty" and have to be flushed to disk before they can be freed. When a file write occurs, the page backing the particular block is looked up. If it is already found in the page cache, the write is done to that page in the main memory. Otherwise, when the write perfectly falls on page size boundaries, the page is not even read from disk, but allocated and immediately marked dirty. Otherwise, the page(s) are fetched from disk and requested modifications are done. Not all cached pages can be written to as program code is often mapped as read-only or copy-on-write; in the latter case, modifications to code will only be visible to the process itself and will not be written to disk. ⚲ API: : {{The Linux Kernel/man|2|fsync}} ↪ {{The Linux Kernel/id|do_fsync}} : {{The Linux Kernel/man|2|sync_file_range}} ↪ {{The Linux Kernel/id|ksys_sync_file_range}} : {{The Linux Kernel/man|2|syncfs}} ↪ {{The Linux Kernel/id|sync_filesystem}} 📚 References : {{The Linux Kernel/id|wb_workfn}} : {{The Linux Kernel/id|address_space}} : {{The Linux Kernel/id|do_writepages}} : {{The Linux Kernel/include|linux/writeback.h}} : {{The Linux Kernel/source|mm/page-writeback.c}} : {{w|Page cache}} More : [https://lwn.net/Articles/717953/ The future of DAX ] - direct access bypassing the cache : [https://tldp.org/LDP/lki/lki-4.html Linux Page Cache in Linux Kernel 2.4 Internals] == Zero-copy == 🚀 advanced features Writing data to storage and reading are very resource consuming operations. Copying memory is time and CPU consuming operation too. Set of methods to avoid copying operations is called {{w|zero-copy}}. The goal of zero-copy methods is a fast and efficient data transfer within the system. The first and simplest method is {{w|Pipeline (Unix)|Pipeline}}, invoked by operator "|" in shells. Instead of writing data into temporary file and reading, the data is passed efficiently via a pipe bypassing a storage. The second method is {{w|Tee_(command)|tee}}. ⚲ Syscalls: : {{The Linux Kernel/man|2|pipe2}} : {{The Linux Kernel/man|2|tee}}, {{The Linux Kernel/man|1|tee}} : {{The Linux Kernel/man|2|sendfile}} : {{The Linux Kernel/man|2|copy_file_range}} : {{The Linux Kernel/man|2|splice}} : {{The Linux Kernel/man|2|vmsplice}} ⚲ API and ⚙️ Internals: : '''{{The Linux Kernel/man|2|pipe2}}''' ↪ {{The Linux Kernel/id|do_pipe2}} - creates pipe :: uses {{The Linux Kernel/id|pipe_fs_type}}, {{The Linux Kernel/id|pipefifo_fops}} : '''{{The Linux Kernel/man|2|tee}}''' ↪ {{The Linux Kernel/id|do_tee}}- duplicates pipe content :: calls {{The Linux Kernel/id|link_pipe}} : '''{{The Linux Kernel/man|2|sendfile}}''' ↪ {{The Linux Kernel/id|do_sendfile}} - transfers data between file descriptors, the output can be a socket. Used in [[../Networking#Network_storage|network storage]] and servers. :: Calls: {{The Linux Kernel/id|do_splice_direct}}, {{The Linux Kernel/id|splice_direct_to_actor}} : '''{{The Linux Kernel/man|2|copy_file_range}}''' ↪ {{The Linux Kernel/id|vfs_copy_file_range}} - transfers data between files :: calls custom {{The Linux Kernel/id|remap_file_range}} like {{The Linux Kernel/id|nfs42_remap_file_range}} :: or custom {{The Linux Kernel/id|copy_file_range}} like {{The Linux Kernel/id|fuse_copy_file_range}} :: or {{The Linux Kernel/id|do_splice_direct}} : '''{{The Linux Kernel/man|2|splice}}''' ↪ {{The Linux Kernel/id|do_splice}} - splices data to/from a pipe. :: There are three cases regarding which end being a pipe: :# {{The Linux Kernel/id|do_splice_from}} - only input is a pipe :#: Calls {{The Linux Kernel/id|iter_file_splice_write}} or custom {{The Linux Kernel/id|splice_write}} :#: or {{The Linux Kernel/id|default_file_splice_write}}: {{The Linux Kernel/id|write_pipe_buf}}, {{The Linux_Kernel/id|splice_from_pipe}}, {{The Linux Kernel/id|__splice_from_pipe}} :# {{The Linux Kernel/id|do_splice_to}} - only output is a pipe. :#: Calls {{The Linux Kernel/id|generic_file_splice_read}} or custom {{The Linux Kernel/id|splice_read}} :#: or {{The Linux Kernel/id|default_file_splice_read}}: {{The Linux Kernel/id|kernel_readv}} :# {{The Linux Kernel/id|splice_pipe_to_pipe}} - both are pipes : '''{{The Linux Kernel/man|2|vmsplice}}''' ↪ :: {{The Linux Kernel/id|vmsplice_to_pipe}} &ndash; splices user pages to a pipe :: {{The Linux Kernel/id|vmsplice_to_user}} &ndash; splices a pipe to user pages ⚲ API : {{The Linux Kernel/include|linux/splice.h}} ⚙️ Internals: : {{The Linux Kernel/source|fs/pipe.c}} : {{The Linux Kernel/source|fs/splice.c}} 🔧 TODO: {{The Linux Kernel/id|zerocopy_sg_from_iter}} builds a zerocopy skb datagram from an iov_iter. Used in {{The Linux Kernel/id|tap_get_user}} and {{The Linux Kernel/id|tun_get_user}}. {{The Linux Kernel/id|skb_zerocopy}} {{The Linux Kernel/id|skb_zerocopy_iter_dgram}} 📚 References : {{The Linux Kernel/man|7|pipe}} : {{The Linux Kernel/man|7|fifo}} : {{The Linux Kernel/doc|splice and pipes|filesystems/splice.html}} :: {{The Linux Kernel/doc|Pipes API|filesystems/splice.html#pipes-api}} : {{w|splice (system call)}} : LTP: {{The Linux Kernel/ltp|kernel/syscalls|pipe}}, {{The Linux Kernel/ltp|kernel/syscalls|pipe2}}, {{The Linux Kernel/ltp|kernel/syscalls|tee}}, {{The Linux Kernel/ltp|kernel/syscalls|sendfile}}, {{The Linux Kernel/ltp|kernel/syscalls|copy_file_range}}, {{The Linux Kernel/ltp|kernel/syscalls|splice}}, {{The Linux Kernel/ltp|kernel/syscalls|vmsplice}} == Block device layer == The block device layer in Linux provides an abstraction for accessing storage devices, such as and USB drives, by presenting them as a series of fixed-size blocks. It sits between the hardware and the file system, allowing applications and file systems to perform read and write operations efficiently without needing to know the specifics of the underlying hardware. Key components include block drivers, the I/O scheduler, and buffer management, which work together to handle requests, optimize access patterns, and ensure data integrity. This layer supports essential features like caching, partition management, and queueing mechanisms to balance performance and reliability. ⚲ Interfaces: : {{The Linux Kernel/include|linux/genhd.h}} : {{The Linux Kernel/include|linux/blk_types.h}} :: {{The Linux Kernel/id|bio}} &ndash; main unit of I/O for the block layer and lower layers :: {{The Linux Kernel/id|req_op}} &ndash; operations common to the bio and request structures : {{The Linux Kernel/include|linux/bio.h}} : {{The Linux Kernel/id|block_device}} :: {{The Linux Kernel/id|block_size}} : {{The Linux Kernel/id|alloc_disk_node}} allocates {{The Linux Kernel/id|gendisk}} : {{The Linux Kernel/id|add_disk}} :: {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|block_device_operations}} : {{The Linux Kernel/include|linux/blkdev.h}} :: {{The Linux Kernel/id|gendisk}} ::: {{The Linux Kernel/id|dev_to_disk}}, {{The Linux Kernel/id|disk_to_dev}} :: {{The Linux Kernel/id|block_class}} &ndash; block devices Driver Model class :: {{The Linux Kernel/id|register_blkdev}} :: {{The Linux Kernel/id|request}} :: {{The Linux Kernel/id|request_queue}} ⚙️ Internals. : {{The Linux Kernel/source|block}} : {{The Linux Kernel/id|block_class}} 👁 Examples: : {{The Linux Kernel/source|drivers/block/brd.c}} - small RAM backed block device driver : {{The Linux Kernel/source|drivers/block/null_blk}} === Device mapper === The ''device mapper'' is a framework provided by the kernel for mapping physical block devices onto higher-level "virtual block devices". It forms the foundation of LVM2, software RAIDs and dm-crypt disk encryption, and offers additional features such as file system snapshots. Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption. User space applications that need to create new mapped devices talk to the device mapper via the <code>libdevmapper.so</code> shared library, which in turn issues ioctls to the <code>/dev/mapper/control</code> device node. Functions provided by the device mapper include linear, striped and error ''mappings,'' as well as crypt and multipath ''targets.'' For example, two disks may be concatenated into one logical volume with a pair of ''linear'' mappings, one for each disk. As another example, ''crypt'' target encrypts the data passing through the specified device, by using the Linux kernel's Crypto API. The following mapping targets are available: : ''cache'' - allows the creation of hybrid volumes, by using solid-state drives (SSDs) as caches for hard disk drives (HDDs) : ''crypt'' - provides data encryption, by using the Linux kernel's Crypto API : ''delay'' - delays reads and/or writes to different devices (used for testing) : ''era'' - behaves in a way similar to the linear target, while it keeps track of blocks that were written to within a user-defined period of time : ''error'' - simulates I/O errors for all mapped blocks (used for testing) : ''flakey'' - simulates periodic unreliable behaviour (used for testing) : ''linear'' - maps a continuous range of blocks onto another block device : ''mirror'' - maps a mirrored logical device, while providing data redundancy : ''multipath'' - supports the mapping of multipathed devices, through usage of their path groups : ''raid'' - offers an interface to the Linux kernel's software RAID driver (md) : ''snapshot'' and ''snapshot-origin'' - used for creation of LVM snapshots, as part of the underlining copy-on-write scheme : ''striped'' - strips the data across physical devices, with the number of stripes and the striping chunk size as parameters : ''zero'' - an equivalent of <code>/dev/zero</code>, all reads return blocks of zeros, and writes are discarded 📚 References : {{w|Device mapper}} : {{The Linux Kernel/doc|Device mapper|admin-guide/device-mapper}} : {{The Linux Kernel/include|linux/device-mapper.h}} : {{The Linux Kernel/source|drivers/md}} : https://lwn.net/Kernel/Index/#Device_mapper === Multi-Queue Block IO Queueing === The blk-mq API enhances IO performance by leveraging multiple queues for parallel processing, addressing bottlenecks from traditional single-queue designs. It uses software queues for scheduling, merging, and reordering requests, and hardware queues to interface directly with devices. If hardware resources are limited, requests are temporarily queued for later dispatch. ⚲ Interfaces: : /sys/devices/.../mq/ : {{The Linux Kernel/include|linux/blk-mq.h}} :: Structures: ::: {{The Linux Kernel/id|blk_mq_hw_ctx}} &ndash; hardware dispatch queue context ::: {{The Linux Kernel/id|blk_mq_tag_set}} &ndash; shared between request queues :::: {{The Linux Kernel/id|blk_mq_ops}} :::: {{The Linux Kernel/id|blk_mq_tags}} :::: {{The Linux Kernel/id|blk_mq_queue_map}} &ndash; map software queues to hardware queues ::: {{The Linux Kernel/id|request}} 👁️ Example : {{The Linux Kernel/source|drivers/block/null_blk}} &ndash; multi-queue aware block test driver ⚙️ Internals : /sys/kernel/debug/block/*/hctx* : {{The Linux Kernel/source|block/blk-mq.h}} :: {{The Linux Kernel/id|blk_mq_ctx}} &ndash; software staging queue context : {{The Linux Kernel/source|block/blk-mq.c}} &ndash; block multi-queue core code : {{The Linux Kernel/source|block/blk-mq-tag.c}} &ndash; tag allocation using scalable bitmaps : ... 📖 References : {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} === I/O scheduler === I/O scheduling (or disk scheduling) is the method chosen by the kernel to decide in which order the block I/O operations will be submitted to the storage volumes. I/O scheduling usually has to work with hard disk drives that have long access times for requests placed far away from the current position of the disk head (this operation is called a seek). To minimize the effect this has on system performance, most I/O schedulers implement a variant of the elevator algorithm that reorders the incoming randomly ordered requests so the associated data would be accessed with minimal arm/head movement. The particular I/O scheduler used with certain block device can be switched at run time by modifying the corresponding <code>/sys/block/<block_device>/queue/scheduler</code> file in the sysfs filesystem. Some I/O schedulers also have tunable parameters that can be set through files in <code>/sys/block/<block_device>/queue/iosched/</code>. ⚲ Interfaces: : {{The Linux Kernel/include|linux/elevator.h}} : Function {{The Linux Kernel/id|elv_register}} registers struct {{The Linux Kernel/id|elevator_type}}. : {{The Linux Kernel/id|elevator_queue}} ⚙️ Internals: : {{The Linux Kernel/source|block/elevator.c}} : {{The Linux Kernel/source|block/Kconfig.iosched}} : {{The Linux Kernel/source|block/bfq-iosched.c}} : {{The Linux Kernel/source|block/kyber-iosched.c}} : {{The Linux Kernel/source|block/mq-deadline.c}} : {{The Linux Kernel/include|include/trace/events/block.h}} 📖 References: : {{w|I/O scheduling}} : {{w|Elevator algorithm}} : {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} : {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} : {{The Linux Kernel/doc|Deadline IO scheduler tunables|deadline-iosched.html}} : https://www.cloudbees.com/blog/linux-io-scheduler-tuning/ : https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers === ... === 📖 References : {{The Linux Kernel/doc|Block devices|block}} :: {{The Linux Kernel/doc|Switching Scheduler|block/switching-sched.html}} ::: {{The Linux Kernel/doc|BFQ - Budget Fair Queueing|block/bfq-iosched.html}} ::: {{The Linux Kernel/doc|Deadline IO scheduler tunables|block/deadline-iosched.html}} ::: {{The Linux Kernel/doc|Kyber I/O scheduler tunables|block/kyber-iosched.html}} :: {{The Linux Kernel/doc|Multi-Queue Block IO Queueing Mechanism (blk-mq)|block/blk-mq.html}} 📚 Further reading : /sys/kernel/debug/block/*/ : https://lwn.net/Kernel/Index/#Block_layer : [https://lore.kernel.org/linux-block/ block devices ML] : [http://lwn.net/images/pdf/LDD3/ch16.pdf LDD3:Block Drivers] : [http://www.xml.com/ldd/chapter/book/ch12.html LDD1:Loading Block Drivers] : [https://www.oreilly.com/library/view/understanding-the-linux/0596005652/ch14.html ULK3 Chapter 14. Block Device Drivers] : [https://sg.danny.cz/sg/The Linux SCSI Generic (sg) Driver] :: [https://sg.danny.cz/sg/scsi_debug.html Scsi_debug adapter driver for Linux] :: https://github.com/doug-gilbert/sg3_utils == {{w|Computer data storage|Storage}} drivers == 🔧 TODO ⚙️ Internals : {{The Linux Kernel/source|drivers/nvmem}} &ndash; {{w|Non-volatile memory}} : {{The Linux Kernel/source|drivers/sdio}} &ndash; {{w|Secure Digital#SDIO cards|Secure Digital Input Output}} : {{The Linux Kernel/source|drivers/scsi}} &ndash; {{w|SCSI|Small Computer System Interface}} : {{The Linux Kernel/source|drivers/virtio}} : {{The Linux Kernel/source|drivers/mtd}} &ndash; {{w|Memory Technology Device}} for 🤖 embedded devices === NVMe === {{w|NVM Express}} drivers provide accesses a computer's {{w|non-volatile storage}}. Local storage is attached via {{w|PCIe|PCI Express}} bus. PCI NVMe device driver entry point is {{The Linux Kernel/id|nvme_init}}. Remote storage driver is called target and local {{w|Proxy_pattern|proxy}} driver is called host. {{w|Switched fabric|Fabrics}} connect remote targets with local host. A fabric can be based on {{w|Remote direct memory access|RDMA}}, {{w|Transmission Control Protocol|TCP}} or {{w|Fibre Channel}} protocols. ⚲ API: : [https://github.com/linux-nvme/nvme-cli nvme-cli] : {{The Linux Kernel/include|uapi/linux/nvme_ioctl.h}} : {{The Linux Kernel/include|linux/nvme.h}} ⚙️ '''Internals:''' : {{The Linux Kernel/source|drivers/nvme}} '''Host''' {{The Linux Kernel/source|drivers/nvme/host}}: ⚲ Interfaces: : {{The Linux Kernel/source|drivers/nvme/host/nvme.h}} :: {{The Linux Kernel/id|nvme_init_ctrl}} initializes a NVMe controller structures {{The Linux Kernel/id|nvme_ctrl}} with operations {{The Linux Kernel/id|nvme_ctrl_ops}} ::: a subroutine of {{The Linux Kernel/id|nvme_scan_work}} adds a new disk with {{The Linux Kernel/id|device_add_disk}} : {{The Linux Kernel/id|nvme_init}} - local PCI nvme module init :: {{The Linux Kernel/id|nvme_probe}} ::: {{The Linux Kernel/id|nvme_init_ctrl}} ... ::: {{The Linux Kernel/id|nvme_pci_ctrl_ops}} : {{The Linux Kernel/id|nvme_core_init}} - module init '''Fabrics''' ⚲ interfaces: : {{The Linux Kernel/source|drivers/nvme/host/fabrics.h}} :: {{The Linux Kernel/id|nvmf_register_transport}} resisters {{The Linux Kernel/id|nvmf_transport_ops}} : {{The Linux Kernel/id|nvmf_init}} - fabrics module init ⚙️ internals: : {{The Linux Kernel/id|nvmf_init}} - fabrics module init :: {{The Linux Kernel/id|nvmf_misc}} ::: {{The Linux Kernel/id|nvmf_dev_fops}} :::: {{The Linux Kernel/id|nvmf_dev_write}} ::::: {{The Linux Kernel/id|nvmf_create_ctrl}} binds {{The Linux Kernel/id|nvmf_transport_ops}} '''Target''' {{The Linux Kernel/source|drivers/nvme/target}}: ⚲ Interfaces: {{The Linux Kernel/source|drivers/nvme/target/nvmet.h}} : {{The Linux Kernel/id|nvmet_register_transport}} registers {{The Linux Kernel/id|nvmet_fabrics_ops}} : {{The Linux Kernel/id|nvmet_init}} - module init : {{The Linux Kernel/id|fcloop_init}} - loopback test module init which can be useful to test NVMe-FC transport interfaces. {| class="wikitable" |- ! ! colspan="3" |NVMe over {{w|Switched fabric|Fabrics}} |- !<div style='text-align:left'>Layers</div> !{{w|Transmission Control Protocol|TCP}} ![[../Networking#RDMA|RDMA]] !{{w|Fibre Channel}} |- !<div style='text-align:left'>Host modules</div> |{{The Linux Kernel/id|nvme_tcp_init_module}} |{{The Linux Kernel/id|nvme_rdma_init_module}} |{{The Linux Kernel/id|nvme_fc_init_module}} |- !<div style='text-align:left'>Fabrics protocols</div> |{{The Linux Kernel/include|linux/nvme-tcp.h}} |{{The Linux Kernel/include|linux/nvme-rdma.h}} |{{The Linux Kernel/include|linux/nvme-fc.h}} {{The Linux Kernel/include|linux/nvme-fc-driver.h}} |- !<div style='text-align:left'>Target modules</div> |{{The Linux Kernel/id|nvmet_tcp_init}} |{{The Linux Kernel/id|nvmet_rdma_init}} |{{The Linux Kernel/id|nvmet_fc_init_module}} |} 👁 Example: {{The Linux Kernel/id|nvme_loop_init_module}} nvme loopback : {{The Linux Kernel/id|nvme_loop_transport}} - fabrics operations :: {{The Linux Kernel/id|nvme_loop_create_ctrl}} ::: {{The Linux Kernel/id|nvme_loop_create_io_queues}} : {{The Linux Kernel/id|nvme_loop_ops}} - target operation :: {{The Linux Kernel/id|nvme_loop_add_port}} :: {{The Linux Kernel/id|nvme_loop_queue_response}} == Appendices== 🚀 Advanced : {{The Linux Kernel/man|1|pidstat}} &ndash; reports task statistics : /proc/self/io &ndash; I/O statistics for the process (see {{The Linux Kernel/man|5|proc}}) 💾 Historical storage drivers : {{The Linux Kernel/source|drivers/ata}} - {{w|Parallel ATA}} 📖 Further reading about storage : [https://github.com/iovisor/bcc/blob/master/README.md#storage-and-filesystems-tools bcc/ebpf storage and filesystems tools] {{BookCat}} dncijh11uqi9l99kp7z1793mqwh7826 Using YouTube Videos 0 256131 4444369 4028532 2024-11-11T05:36:40Z 24.84.42.180 4444369 wikitext text/x-wiki [[File:YouTube 2024.svg|thumb|The YouTube logo.]] There are a variety of ways to use YouTube videos beyond just watching them online. == Table of Contents == {{Book search}} {{Print version}} # [[/Downloading YouTube Videos/]] # [[/Editing YouTube Videos/]] # [[/Extracting Audio from YouTube videos/]] # [[/Converting YouTube Videos/]] # [[/Using YouTube Videos for School Projects/]] {{Shelves|Multimedia software|Web applications}} {{Status|0%}} 7rvc6o3yvcil2rp45vi5isz26xwp85b Introduction to Computer Information Systems/Ethics 0 293161 4444371 4356161 2024-11-11T05:40:51Z 2604:3D08:9476:BE00:4460:3100:282F:85D9 /* Ethical Use of Music */ 4444371 wikitext text/x-wiki ==Intellectual Property Rights== [[File:Trademark License FAQ.svg|thumb|Trademark License FAQ]] '''Intellectual Property Rights''' are the legal rights which creators are entitled to. Creators are the people who produced intellectual property which are creative works that they have originally made. With these rights, creators can choose what can legally be done to the work and other rules that need to be followed. There are a variety of original works that can have property rights. Some of these include written work, drawings, graphics, and many more. Having these rights are very important because it allows someone to claim their intellectual ideas as their own. There is a company called WIPO which are a self-funding agency that has copyrights, patents, trademarks, industrial designs, and also geographical indications used in e-commerce. This system is around because they recognize that creative works need to be protected by law and that they are around to support a creative environment. This company even has a magazine which displays the work that they have protected and boosts the work of creators worldwide. They also run workshops and have different forms of training to help innovators improve their skills and become familiar with new developments. The ability to have an agency support you and your work is a great step in the world of creativity, and keeping those intellectual property rights is what will continue to help creators flourish.<ref>http://www.wipo.int/about-ip/en</ref> [[File:Copyright.svg|thumb|Copyright]] '''Copyrights''' are there to protect individuals' work, such as literature, art and music. Enacted in 1976, Copyrights give the original creator rights over what they created. In the case where the creator dies, they still retain rights 70 years after their death. So let's say someone buys a C.D. of a certain artist. Even though it is now their property, the artist still holds rights over the songs. Often times with trying to prevent piracy, many things will have digital watermarks, a slight change to content that most cannot see but identifies the copyright holder. All of this is necessary due to complaints of infringement. These measures must be put in place to protect original work. [[File:Trademark Warning Symbol.svg|thumb|Trademark Symbols]] '''Trademarks''' are words, phrases, symbols, designs, or a combination of these that are used as an identifier in order to help consumers identify and distinguish one product/service from another one which might be similar. This is also referred to as their "logo". Trademarks are usually registered with the U.S. Patent and Trademark Office (USPO) and use the letter R enveloped in a circle next to the logo to signify this. Trademarks which are claimed but unregistered are allowed to use the print <sup>tm</sup> alongside their logo to represent that a claim has been made so as to deter others from using it. The purpose of a trademark is to protect the logo from being used by competitors who may want to "knock off" a more reputable company, though trademarks also protect domain names as well. Many companies want to set up a website using a domain name which matches their product so a consumer can instinctively find their web address, and a trademark will often safeguard against another company using it.<ref>http://www.wipo.int/trademarks/en/trademarks.html</ref> '''Patents''' are similar to Copyrights and Trademarks but protect a person's invention rather than their literary accomplishments or company logos. Patents are usually granted for a 20 year period and legally authorize the sole rights of an individual to manufacture or produce that which s/he invented. Often it is a unique product but it can also be a unique process such as the Born-Haber Cycle. Having your item patented, you are given the right to ban others from selling, making, using or importing your item for this certain number of years. ==Ethics== [[File:Computer-blue.svg|thumb|do YOU have computer ethics?]] The general definition of the word "ethics" defines the elements important to humans' morals. Ethics could be referred to as specific values, standards, rules, and agreements. For example, not being involved in software piracy is a matter of ethics. Computer ethics is a set of morals that regulate the use of computers. It is important for computer users to be aware of the ethical use of copyrighted material, the ethical use of resources and information, and the ethical use of school, company, and employee information. There are a set of rules called the "Ten Commandments of Computer Ethics" - which are rules that speak for themselves. These commandments are: *Thou shalt not use a computer to harm other people. *Thou shalt not interfere with other people's computer work. *Thou shalt not snoop around in other people's computer files. *Thou shalt not use a computer to steal. *Thou shalt not use a computer to bear false witness. *Thou shalt not copy or use proprietary software for which you have not paid (without permission). *Thou shalt not use other people's computer resources without authorization or proper compensation. *Thou shalt not appropriate other people's intellectual output. *Thou shalt think about the social consequences of the program you are writing or the system you are designing. *Thou shalt always use a computer in ways that ensure consideration and respect for your fellow humans <ref>http://www.computerethicsinstitute.org/images/TheTenCommandmentsOfComputerEthics.pdf</ref> The 10 ethical computer commandments are simple rules to abide by when using a computer. <ref>http://www.ethicalsociety.org/article/19/about-wes/ethical-culture-our-religious-heritage/faqs-about-ethical-culture/what-does-ethics-mean</ref> Common issues of computer ethics are the following: privacy concerns, how computers affect society, and intellectual property rights. It is a very common and easy practice to burn a CD or movie for a friend. However, a better option would be to tell the friend to buy the CD or movie as an ethical alternative. The privacy of another person is also an ethical issue of today. People's information is easily accessible through the computer; the ethical solution would be to not access another person's private information unless given permission. Ethics certainly guide our behavior, and it is the source of the acts we will and will not partake in.<ref>http://www.techterms.com/definition/computerethics</ref> [[File:Japanese teenager with her mobile phone.jpg|thumb|left|100px|Young people use cell phones so often that they might not even realize that using them on a test is cheating.]] One ethical issue introduced by the increased prevalence of new technology is the rise in cheating among students using technology. As students have more technology, they naturally have more ways to cheat—ways that adult teachers who don't use all the new technology might not be aware of. 35% of students in one study admitted to cheating by using a phone. This can be done by storing notes on a phone and looking at it in class, texting someone outside of the class for an answer, and so on. A shockingly large number of teenagers seem to not even 'realize' that this is cheating; around or over 20% didn't think that it was. They're so used to having their cell phones attached to themselves as a part of their body that they don't realize that it actually isn't something they're supposed to be using at all times, and they saw no difference between screaming an answer across a class room and covertly texting it to a friend.<ref>http://www.ikeepsafe.org/cheating-technology/</ref> Young people need to be aware that cheating is still present in technology so they don't get in trouble for academic dishonesty. Faculty need to be aware of how students might be cheating using their phones, iPads, etc. to prevent it in the classroom. ==History of Computer Ethics== [[File:1980s computer worker, Centers for Disease Control.jpg|thumb|1980's Employee]] Computer ethics is a concept that is growing larger every day with new advanced technology. Computer ethics first came about in the 1970's as computers were becoming integrated into homes. Computers today are used at home, in schools, and in almost every company. This field has taken ethics to a whole new level, especially due to privacy issues found throughout various businesses. This form of ethics is also now offered as a course to study at many universities around the world. Computer ethics includes the various philosophical aspects of ethics, as well as psychological and sociological interpretations. When the field was first discovered in the 1970's, applied ethics was used to describe the new concept. Applied ethics consisted of a combination of utilitarianism, as well as Kant ethics. At the time there was much controversy to what computers would bring to society. Some thought that computers would create more ethical issues, whereas others thought it put a so-called "twist" on old ethics. In the 1980's the computer was thought to be the closest object to a universal tool available to individuals. In essence, the integration of the computer into every day society was not easy. The generation of the computer was new, as well as exciting. But nobody had used it before, including businesses and individuals. There would have to be some form of ethical guidelines to using these new products that nobody had much experience with. Nowadays, computer ethics covers a wide variety of topics such as computers in the workplace, computer crime, professional responsibility, and privacy and anonymity<ref>http://stanford.library.usyd.edu.au/archives/spr2006/entries/ethics-computer/</ref>. ===Ethical Use of Music=== The sharing of music over the internet has continuously been a problem over the past few years and it is still a major problem today. The music controversy began with Napster, a peer-to-peer file sharing web application that was created to allow users to share music files via the internet. Napster originally started as a small web application for a few friends to share music on, but as the application grew in users, it began to strike the attention of the music industry. Some artists, specifically Metallica and Dr. Dre who filed a law suit against Napster, were outraged at the web application and in 2001, Napster finally closed due to the losing of a lawsuit against the Recording Industry Association of America. Napster and other peer-to-peer sharing websites that still exist today, such as The Pirate Bay, Mediafire, and Megaupload, are a large controversy because the copying of songs for non-commercial use is legal under the fair use concept,<ref>http://www.dartmouth.edu/copyright/peer2peer/</ref> however, downloading files from a peer-to-peer website without compensating the artist is a violation of copyright law under Digital Millennium Copyright Act. There are several websites that can be used to convert YouTube videos to a MP3 format you can download to your computer. The most well known of these programs is called ClipConverter, but there are other programs. ClipConverter is a free online-based service that converts any online video to a MP4 or MP3, and then these files can be downloaded to your computer. There have been similar programs in the past, but these have been deactivated due to pressure from Google, the owner of YouTube<ref>http://www.real.com/resources/youtube-to-mp3-converter/</ref>. ClipConverter converter continues to operate because of the guidelines and rules placed on users. Users are allowed to download the videos for fair use meaning personal, non-commercial use. Personal use of a video is legal, but if a user sells the video for profit, or passes it off as his/her own, that is a copyright violation, and illegal. As a condition of using the ClipConverter service, the user agrees to use the video only for personal use, and agrees to not involve ClipConverter in any type of copyright lawsuit brought against the user. It is this policy and other strict user rules and policies that allow ClipConverter to operate in a legal way. [[File:YouTube 2024.svg|thumb|New YouTube logo]] To combat the infringement of copyright law due to illegal file sharing, the music industry began placing Digital Rights Management (DRM) control on downloaded files so that they couldn’t be shared. However, this also stopped users from being able to transfer the files to other personal devices. Today, many music downloading services, such as Apple’s iTunes, have switched to MP3 or MP4 formats to allow users to view files on multiple personal devices. ===Film Piracy=== [[File:FBI anti piracy.jpg|thumb|FBI Anti-Piracy Warning Seal]] The illegal copying and distribution of movies and TV shows is called film piracy. The rate at which people commit film piracy has been growing exponentially since 2004. This is most likely due to the fact that online peer-to-peer file sharing has become a lot easier.<ref>http://www.storyofmovies.org/common/11041/pdfs/film_piracy_teachers_guide.pdf</ref> According to the Motion Picture Association of America (MPAA), film piracy causes an estimated loss of $18 billion dollars per year worldwide. This statistic is estimated because the MPAA has to determine how many people would have actually watched the film if it weren’t for free, or at a discounted price. Ever since 2004, authorities have been pushing to reduce film piracy. In 2005 the Family Entertainment and Copyright Act was put into place. This act makes recording a movie in a theatre illegal in the United States. Besides laws, there have also been things like visual FBI Anti-Piracy Warning Seal’s added to DVD’s. This seal is shown when the DVD is played, and before the actual movie starts. However, this doesn’t always effectively stop a pirate from stealing the movie.<ref>http://www.forbes.com/sites/karstenstrauss/2013/03/06/tv-and-film-piracy-threatening-an-industry/</ref> There are many software programs used by authorities and private companies to prevent the illegal trade of pirated movies. This software is able to monitor websites that host peer-to-peer file trading. If a company’s film is being misused over the internet, the software is capable of sending infringement notices and collecting important data. All of this information could be used to build a court case against the violator.<ref>Understanding Computers 14th Ed. by Deborah Morley & Charles Parker</ref> ===Computer Hoaxes and Digital Manipulation=== [[File:Aalupi järv 2013 08.jpg|thumb|left|Example of a photo that has been digitally manipulated (edited)]] A computer hoax, or virus hoax, is an inaccurate statement or story spread through computers, typically through an email. Usually the email warns the user about a virus or worm and instructs the user to forward the message (which spreads the virus) or recommends that the receivers download an infected file attachment. These virus hoaxes can often be distinguished by their lofty and enticing wording or by claims that sound formal and authorized. These types of emails use people’s fear of the internet to manipulate their actions and thus spread a virus or computer hoax; many consider these fake emails to be worms in and of themselves because of this.<ref>http://www.techopedia.com/definition/1678/virus-hoax</ref> Digital Manipulation is editing or altering any type of digital content. The most commonly thought of is photo-shop, which is editing an image so that it has little to no resemblance of the original image. This can be anything from adjusting the “exposure” on a photo or using an airbrush tool, to combing two photos to make one or adding portions that were not in the original (such as a large moon covering half the sky behind the Chicago skyline).<ref>http://www.astropix.com/HTML/J_DIGIT/ETHICS.HTM</ref> But digital manipulation also includes altering text, music, movies, or voice interviews. The main issue when it comes to ethics in digital manipulation is ensuring that copyrights are not violated and the original digital information is not misused or misinterpreted. Also, intentions and purpose are key in deciding “how far is too far” when it comes to photo-shop or other editing methods.<ref>http://www.lightstalking.com/what-are-the-ethics-of-digital-manipulation-in-photography/</ref> ==Computers and Your Health== ===Physical Health=== There are some physical problems that can be caused by computer use such as eyestrain, blurred vision, fatigue, headaches, backaches, and wrist and finger pain. One kind of health problem that occurs is repetitive stress injuries, which is when doing the same thing over and over causes hand, wrist, shoulder, or neck pain. Using the keyboard and the mouse can cause repetitive stress injuries. One repetitive stress injury that is related to repetitive finger movement is carpal tunnel syndrome, which is a painful condition of the hands and wrists.<ref>http://sitemaker.umich.edu/state436/files/Physical_Issues.htm</ref> Another repetitive stress injury is related with typing on the smaller keyboards of mobile devices and this is called DeQuervain’s tendonitis. There can also be many eye problems caused by looking at a computer screen for too long. Another concern is hearing loss because many portable media devices can be turned up too loud and cause hearing problems. There is also a concern with radiation that can be emitted from wireless devices. Dr. Josh Axe, DNM, DC, CNS is a certified doctor of natural medicine and of chiropractic manipulation and is a clinical nutritionist, who believes electromagnetic radiation (RMR) from cell phones is harmful to our bodies and our brains, resulting in cancers, tumors and dementia. He also believes we need further testing to discover just how dangerous cell phones (and other EMR-emitting devices) really are<ref>https://draxe.com/electromagnetic-radiation/</ref>. There are ways to avoid the physical health problems caused by computers. One way is to make sure that you are comfortable while at the computer and that you use a good chair that will be supportive for your back and neck. It is also important to just be aware of these possible physical health risks caused by computers because it is something that is often overlooked.<ref>http://www.safety.uwa.edu.au/health-wellbeing/physical/ergonomics/workstation#chairs</ref> Of course, to avoid EMR you'll have to avoid using cell phones, which is highly unlikely to happen. [[File:Computer Workstation Variables cleanup.png|thumb|160px|Computer Workstation Variables cleanup]] As mentioned before, most people today interact with some type of computer daily. We have learned that there are many risk factors associated with the extended use of computers. Some of those risk factors include eye strain, fatigue and upper and lower body discomfort. Luckily, there is a solution to these problems. It is called ergonomics. Ergonomics is a technology which focuses on making the work space as functional, safe and comfortable as possible. One thing computer users should consider when using the computer is wrist strain. It is important for the user to keep his wrists as straight as possible. Some causes for a bent wrist can be the keyboard being too low or high, or it being tilted upward. A solution to this can be to adjust the keyboard to the appropriate height or adjust the height of the chair. Another solution could be to use a split keyboard or what is known as an ergonomic keyboard. Another risk people face with extended use of the computer is back discomfort or even back disorder. This can be caused by an inadequate chair that lacks support for the back. It can also be caused by a lack of foot support or from slouching due to fatigue. Some solutions to these problems would be to use a lumbar cushion or to utilize a foot rest. It is also important for a user to take frequent breaks and change positions often. Many people today are exposed to extended computer use whether it is for a job or for entertainment. It is important for computer users to know the risks associated with over-usage and to be familiar with ergonomics in order to create the safest and most comfortable environment for themselves.<ref>http://www.apple.com/about/ergonomics/</ref> ===Computers in Medicine=== [[File:Fitibit Flex.jpg|thumb|Fitibit Flex]] In the same way that computers can be hazardous to one's long term health, they can also be used to monitor and, in-fact, encourage healthy habits. Sitting at a computer sedentary for hours on end day-in and day-out can lead to eyestrain, headaches, etc. as was previously discussed. However, in recent years, health and medicine have capitalized on the use of computers to further their industry. In hospitals and labs, CAT scans, X-rays, EEGs, EKGs, heart monitors, blood pressure and blood sugar scanners, and much more have been used to assess and monitor an individual's health. Certainly these additions to the medical field have made medicine a much more precise science and helped countless individuals who were suffering. However, computers have not only been used in reactive situations. They now can also help an individual be proactive about their health with the introduction of embedded computers, monitors, and biometrics. One example of this is the three-dimensional accelerometer (better known by the brand name "Fitbit"). These technologies allow the mechanism to gather data about the human body, interpret the data into usable information, and also store it in case a medical professional needs access to real-time health records. They can give an individual information about heartbeat/heart rate, sleep patterns, amount of physical activity, etc. and, in some cases, can even recommend that a person change certain behavior to combat unhealthy habits. <ref>Jhonsa, Eric (May 7, 2015). "Fitbit files for IPO, reports strong growth/profits". Retrieved May 10, 2015.</ref> ===Stress of Ever-Changing Technology=== [[File:Mountain path pagoda for relaxation and viewing.JPG|thumb|120px|left|Relaxation]] Today we see many kinds of changes that are causing a great deal of stress and anxiety. Most of these changes are directly related to the digital revolution and have only become problems in the last 10 to 20 years.<ref>http://www.ucg.org/entertainment/how-can-we-cope-world-rapid-change/</ref> Modern technology has infiltrated the workplaces, people’s cars and their homes. According to the Angus Reid, 14% of Canadian workers identified new technology in the workplace as a significant source of stress. Never before have individuals been asked to adapt as rapidly. Instant communication and exponentially growing technology lead us to one of the few absolute truths – technology change is constant. Technology has reconfigured the nature of work and our social relationships on the job.<ref>http://worksmartlivesmart.com/future-shock-stress-strategies-technology/</ref> People feel overwhelmed by the volume of emails and calls that they receive. Though people cannot stop this technology roller coaster, they can use a variety of practical strategies to develop resilience and renew and replenish themselves. Some of the simplest skills that the people can learn to be more resilient to stress are deep relaxation and self-care. It can convert fatigue into energy and restlessness into calmness.<ref>https://georgeinstitute.wordpress.com/2013/09/27/dealing-with-stress-in-our-fast-paced-ever-changing-world/</ref> ===Emotional Health=== [[File:Chronic fatigue syndrome.JPG|thumb|Burnout]] Because of our fast growth and use of technology there are many positive advantages of using computers; however, in recent years emotional health has become an important factor when using computers and technology. The use of computers in general can cause much stress and anxiety for workers in different fields today. When computers were first introduced to the working field, secretaries had to learn how to change from a typewriter to a keyboard. Many people now widely understand the use of computers, but the downfall is keeping up with the changing technology. Every few years a new system, computer design, etc. is updated and sent out to the market. This makes operating a company more difficult when programs and systems need to be updated. Because the Internet can be accessed 24/7 the stress of being “on-call” is worrisome to many workers. They worry they do not have enough down time for themselves once they come home from work that day. In the U.S. information is right at citizens’ fingertips, which can sometimes create an information overload. There is always news to be caught up on, as well as catching up with email, text messages, and social media. Many can become exhausted from being on the computer (or cell phone) too much. This is called burnout which is long-term exhaustion and diminished interest in work. A more common type of “emotional health” deals with teenagers who have a technology addiction. Social media plays a huge role in this today. ===Internet Addiction=== [[File:Avatar of virtual world.png|thumb|Avatar of virtual world]] The virtual world is similar to reality. People can play their chosen online roles, similar to the masks people put on everyday. At the same time the virtual world seems to have advantages over the real world. You can achieve success through creativity while concealing defects. Virtual reality (VR) gives individuals the opportunity to take on any role without having to take any of the responsibility and without fear of the consequences of rejection or condemnation. The person feels protected and inaccessible and can easily express their opinions, even if they are not able to do so in real life. The virtual world gives the illusion of protection from loneliness. At the same time it provides an opportunity to get away from communicating with real people, whose opinion would have to be considered. VR allows you to simulate reality by creating a state of endless possibilities. Surfing the Net gives the feeling of being in the "flow" and a disconnection from reality with a sense of being in another world, another time, another dimension. <ref>http://www.apa.org/monitor/apr00/addiction.aspx</ref> Many people today are addicted to the internet but do not know that they are. There are many signs of internet addiction. A good example is if they are always thinking about the internet. If a person is using the internet more and more in order to receive satisfaction, this could be a sign of addiction. If they feel restless or depressed because they're not on the internet, this too could be a tell-tale sign of internet addiction. Some tips on breaking this internet addiction are to understand that they have a problem with the internet. Next is to build coping skills. Many people become addicted to the internet because it is their outlet for stress and anger. Being able to change the way a person copes with their problems would be extremely beneficial. There is also therapy, counseling and support groups to take advantage of and help with this addiction.<ref>http://www.helpguide.org/articles/addiction/internet-and-computer-addiction.htm</ref> It is important to be able to overcome an internet addiction to be able to fully appreciate life. ===Cyberbullying=== [[File:Cyberbullying.jpg|thumb|Stop Cyberbullying]] According to stopcyberbullying.org, cyberbullying occurs when a minor is tormented, threatened, harassed, humiliated, embarrassed or otherwise targeted by another minor using the Internet. These acts can be committed through interactive and digital technologies, or mobile phones. To be considered a true cyberbullying incident, minors must be involved on both sides, or at least instigated by one in an attempt to harm, another. If and when adults become involved, it then becomes cyber-harassment or cyberstalking, and is wholly different from cyberbullying. For most, it is usually not a one time event, unless it is a legitimate threat of serious harm. Children are typically aware of the extent of danger or hurtful ideas, while parents may be more concerned about offensive language used. Ultimately, cyberbullying could lead to a misdemeanor charge, though if the child is young enough, juvenile delinquency is an option. Often, it does not go that far, yet many parents try to pursue criminal charges. If hacking, password breach, or identity theft is involved, it can be a crime of state and federal law. <ref>//http://stopcyberbullying.org/what_is_cyberbullying_exactly.html</ref> ==Technology Access== ===The U.S. Digital Divide=== [[File:Santa fe.jpg|thumb|Helping each other understand and use the Internet builds strong bridges for humanity]] Though the exact percentage is argued over by the experts, we can be happy to know that in the United States the Digital Divide continues to shrink. About 80% of the population of the United States uses the Internet. They use the Internet at school, work, home, and everywhere else. It's rare to find a McDonalds, one of the lowest common denominator eating establishments, that doesn't have a Wi-Fi connection. Computers and Internet access are always getting cheaper, which is great news because staying connected to the world is such an important quality. We stay alive and thrive through building relationships of all different kinds and the Internet is a powerful means of obtaining these relationships. Not only that, but most jobs today require the use of the Internet in one way or another. Due to the importance of the Internet, however, the percentage of Americans using the Internet should be closer to 99%. According to Forbes, there are several reasons why some people have never used the Internet or don't use it very often. The biggest percentage of them said they don't want or need to go online, because they're either too busy or because they think the Internet is a waste of time. A slightly smaller number of them said it is difficult or frustrating to go online, either because they don't understand or are physically unable.<ref>http://www.forbes.com/sites/kenrapoza/2013/10/14/why-15-of-americans-dont-use-the-internet/</ref> Ultimately, the importance of the Internet is understood the world over, meaning that the digital divide in the U.S. will continue to shrink so our country can stay competitive with Europe and Asia especially. ===Global Digital Divide=== [[File:XO-Beta1-mikemcgregor-4.jpg|thumb|XO-Beta]] The '''Global Digital Divide''' is an issue that our world seems to be facing more and more as time goes on. Like the US Digital divide, it is a comparison of groups of people with access to technology but on a global scale instead of a country scale. The problem arrises when one country's people has more access to technology and /or communications than another country. Most developed countries have a majority of their population with some access to technology, however it seems that many developing countries lack the technological accessibility that the others have. The largest problem caused by this is the lack of education. The internet today is such a source of information that one could potentially gain their entire college degree while hardly ever stepping foot in a classroom. Many people around the world lack the opportunity to gain an education because of their lack of access to the internet and other technology that would help them to learn things at a faster, easier, or more efficient rate. The internet has so many uses: school courses, communication, language tutoring, translations, calculations, and so many more.<ref>http://iml.jou.ufl.edu/projects/STUDENTS/Lui/index3.htm</ref> ===More on the Digital Divide=== [[File:Global Digital Divide1.png|thumb|Global Digital Divide1]] The concept that is called the '''Digital Divide''' is the reality that technology, specifically computers and the Internet, is not available to all individuals. The digital divide is thought to be based on physical access to computers, Internet, and related technology. Some people consider the people that have access to computers and the Internet but do not understand how to use it are also part of the category of people that do not have true access to digital technology. One article explains that there are multiple dimensions to the digital divide. It claims the difference in not necessarily determined by the access to the Internet, but by access to ICT (Information and Communications Technologies) and to Media that the different segments of society can use. Other factors that should be considered are the quality of connection to the Internet and the cost of access to the Internet. Researchers also report that disadvantages can take such forms as lower-performance computers, lower-quality or high price connections, difficulty of obtaining technical assistance, and lower access to subscription-based contents.<ref>http://www.internetworldstats.com/links10.htm</ref> The reason that the digital gap is a concern for society is that information and communication technologies are vital to quality civic life. One article explains that access to new technology splits clearly along socio-economic class lines. According to U.S. census data, more than 30 million homes have no broadband access, most of them concentrate in some of the poorest parts of the country. According to another survey 84% of the teachers surveyed felt that today’s digital gap is leading to greater disparities between affluent and disadvantaged schools.<ref>http://hechingerreport.org/content/technology-skills-scratch-surface-digital-divide_18096/</ref> Technology can inform people by creating mutual understanding about different cultures and societies; technology also plays a part in education and governmental reform. By lessening the digital gap economic equality, social mobility, and economic growth will be more readily available. === Assistive Technology=== [[File:Assistive devices (6235420475).jpg|thumb|Assistive Devices]] The Americans with Disabilities Act requires companies with more than 15 employees to make reasonable accommodations for anyone that has known limitations. Nowadays, there is hardware and software specifically designed to aid individuals with physical disabilities. The most common technology that has been introduced is used to help those who are visually impaired or hard of hearing. There are various input devices available today to assist users communicate, usually on the computer. * Braille or large-print keyboards * One-handed keyboards * Switches, eye tracking systems * Pointing Devices * Voice Input devices In addition to the various input devices, there are output systems as well. The most common one is a screen reader that can read text information for the blind. There are also printers that can print in Braille instead of the conventional ink. Assistive technology is not always the best option, however. Often times it can be too expensive for the individual and not match their exact needs. <ref>http://www.pluk.org/Pubs/PLUK_ATguide_269K.pdf</ref> Devices should be researched and tried out before purchasing. Training for these devices also needs to be taken into consideration. For example, what if this technology stops working for the user? [[File:Braille text.jpg|thumb|left|Braille, the text language for the visually impaired.]] So how do some of these assistive devices such as ''Braille'' keyboards, one-handed keyboards, eye tracking systems, pointing devices, and voice input devices work? First off, made up of raised dots that signify a “language,” and thus can be read by touch, Braille keyboards allow the visually impaired population to type and enter any text for the computer in Braille. Secondly, to assist people with limited movement of only one hand, each of the one-handed keyboard’s key contains ''two'' letters (accommodating both the left and right side keys on a conventional keyboard), making it easier for all keys to be reached with just one hand. They also provide with the ability to input data to the computer hands-free through speech recognition systems. To act as mouse alternatives, many other pointing devices like foot-controlled mice (controlled solely by the feet), head pointing systems (directed using simple head movements), and eye tracking systems (tracking the movement of the eye) are commonly used. To add on to all these types of outstanding assistive technology, there is also another alternative input system known as “sip-and-puff” system, which is activated by one’s inhaling or exhaling! <ref>http://www.microsoft.com/enable/at/types.aspx</ref> Next, once the data has been input into the computer using any of these assistive input devices, assistive ''output'' devices come into play. These devices include screen readers, which read aloud all the text information on the screen; Braille displays act similar to Braille keyboards as they continuously convert screen output into Braille form. Lastly, there are also Braille ''printers''—sometimes known as Braille embossers—which transfer and print computer generated text into embossed Braille output. Therefore, instead of the traditional ink, the embosser creates raised dots on a page for the visually impaired to read.<ref>http://www.humanware.com/en-usa/products/blindness/braille_embossers_and_writers</ref> ====Assistive Technology in the Classroom==== [[File:Assistive devices (6235420475).jpg|thumb|left|Assistive devices]]Assistive technology can be especially helpful in the education setting. Thanks in large part to the mainstreaming and inclusion efforts in schools today, students of every ability are integrated into traditional classrooms. This integration can be greatly aided by the use of assistive technology. <ref> http://www.readingrockets.org/article/assistive-technology-kids-learning-disabilities-overview</ref> '''Assistive Technology''' allows students with disabilities to learn and complete lessons more independently. Educators can use a variety of tools to help all types of students. Screen readers can be used to read text to visually impaired students. There are many programs available (some are even free) that can be used to read documents aloud to students. This can be helpful for both visually impaired students, as well as students that are cognitively impaired and unable to read. Close captioning and subtitling help students that are hearing impaired. Eye tracking systems as well as sip and puff systems are especially helpful for students with mobility impairments. Voice recognition software can also provide a way for students to write more efficiently without the use of a keyboard. Adding these technological advancements to the classroom allows students to participate in lessons and activities that would not otherwise be available to them. ==Environmental Issues== <br /> ===Green Computing=== Green computing is the study of designing, engineering, and manufacturing using and disposing of computing devices in a way that reduces their environmental impact. <ref>https://www.techopedia.com/definition/14753/green-computing</ref>This refers to the use of computers in an environmentally friendly manner, but computing is not currently as environmental friendly. According to the guide to greener electronics only 2 out of 18 of the PC are considered on the green rating. The reason is because companies are subjected to make energy and hence cost saving in the face of rising electricity prices. One of the activates that could help environmental savings is existing hardware which can be in place of it there are software’s called LittleGreenGenie. This software permit certain individuals to measure reduce and carbon offset from computer use. Its stats that it takes about 1.8 tons of chemicals, fossil fuels and water to produce a typical desktop computer and there’s about one billion PCs sold. Although putting a computer on standby or sleep mode will save a lot of power, people are unaware that shutting down a computer doesn't completely turn it off because the computer power supply will remain physically switched on. This leads the motherboard still partially on waiting for a signal to boot up again. The following are certain tasks that can be beneficial in reducing energy consumption which are lower power hard drive, visualization, cloud computing, energy effecting coding, improved repair, re-use recycling and disposable and less pollutant manufacture.<ref>http://www.explainingcomputers.com/green.html</ref><ref>http://www.greenpeace.org/international/en/publications/reports/Guide-to-Greener-Electronics-15th-edition/</ref> The only true, current, disadvantage to green computing are underpowered devices and costs. ===Solar Power=== [[File:Solar Panel.jpg|thumb|Solar Panel]] Instead of reducing energy consumption and electricity costs, another option is to use solar power. Solar power is the conversion of sunlight into electricity using photovoltaic cells. These cells can be packaged into a frame, and a frame into an array, based on how much solar power is needed for the building or area. The process has slowly become cheaper due to our increase in technology and knowledge of solar power. As of right now, we are considered to be in our third generation of solar power because of our use of new materials like nanotubes, silicon wires, and solar inks. This is a step up from the first generation, which used solely silicon as a material, and then the second generation, which used thin-film solar panels. As the capability of solar power becomes cheaper, more products are incorporating solar power as a power source. Examples of this are the solar powered phone charger and solar powered calculator. Solar powered calculators have been around for a while because calculators do not require much energy, so the solar panel is very small and therefore cheap. The solar powered charger has come out more recently because the newer flexible technology made it feasible to produce. Solar power has been a greener way to consume energy.<ref>http://www.solar-facts-and-advice.com/solar-cells.html</ref> ===Recycling of Computers and Other Electronics=== Given the reliance of the commercial world on computer technology it is easy to overlook the inherent unsustainability of computer production. Computers have become embedded in contemporary culture and play a crucial role in the global economy, but as the industrialized world continues to degrade the environment one must become aware of the negative impacts of computer use and consequently work with possible ways to reduce them. The Chicago Recycling Coalition states that, on average, 240&nbsp;kg of fossil fuels are consumed in the process of producing a desktop PC.<ref>http://www.chicagorecycling.org/computers.htm</ref> In a time when fossil fuel supplies are decreasing at an alarming rate it is important now more than ever to be conscious of consumer decisions. The issue of fossil fuels aside, computers contain arsenic and mercury while computer monitors can contain several pounds of lead. This is one reason why simply disposing computers into landfills is problematic. Instead, the Chicago Recycling Coalition advises consumers to donate computers to various organizations and charities, give older computers to family and friends who need them, and find locations that offer recycling services. The EPA provides a utility that helps consumers and manufacturers know where they can donate or recycle their electronics.<ref>http://www.epa.gov/osw/conserve/materials/ecycling/donate.htm</ref> Mobile devices, PCs and TVs make up the “Electronic Devices” category, and after selecting a device one can choose a company to see what services are offered. [[File:Recycling Computers.jpg|thumb|left|You should recycle computers. Don't throw them away.]] Before recycling your computers you may want to do a few things. In order to protect your information and privacy, you should wipe out your hard drive. However, just deleting files is not enough. Cyber criminals are very capable people and they will find a way to find information on your hard drive that you “deleted” the information. There are programs on the internet that you can use to “sanitize” your hard drive. An even easier way is to just remove the hard drive altogether. Other ways to recycle your devices is to donate them. You could even help your community out by having a fundraiser to collect everyone’s technological garbage and then you can donate them. This not only helps the community but also the environment. Now if you’re not looking to get rid of your entire computer you do have a printer. You will always come to the problem of running out of ink. Instead of throwing out these old cartridges, you could just have them refilled. Not only is this good for the environment, but it can also help you save money because refilling ink cartridges is worth a fraction of the cost of buying new ones.<ref>http://www.carnegiecyberacademy.com/facultyPages/environment/issues.html</ref> ===E-Waste=== [[File:E-Waste Landfill.jpg|thumb|Huge amounts of e-waste is not disposed of properly.]] E-trash, or e-waste, is a growing problem in modern society. The issue of dealing with the huge amounts of electronics that are being outdated and thrown away asks the question; what do we do with all this junk? Although e-waste only makes up about 2% of America’s trash in landfills, it comprises 70% of the country’s toxic waste. A lot of this toxicity is because of the huge amounts of lead that can be found in electronics. Between 20 and 50 million metric tons of e-waste is disposed of every year, but only about 12.5% of e-waste is actually recycled properly. It is important to recycle e-waste not just to protect the environment but also to harvest the high amounts of precious metals within the electronics. Just in cell phones alone, over $60 million in gold and silver is dumped ever year.<ref>https://www.dosomething.org/facts/11-facts-about-e-waste</ref> Electronics can be taken to recyclers for support. There are many non-profit groups that offer recycling of old devices. There are also drop-off locations throughout the US that allow you to dispose of devices and batteries. A lot of “e-waste” is actually not waste at all, and can be recycled and reused if dealt with properly. E-waste is unfortunately shipped to developing countries illegally, which is not a responsible or ethical way of managing the waste.<ref>http://www.greenpeace.org/international/en/campaigns/toxics/electronics/the-e-waste-problem/where-does-e-waste-end-up/</ref> In order to ensure that your e-waste is properly recycled you should find a recycling center near you. You can use this website http://search.earth911.com to find a local center and learn how to properly dispose of your electronic waste! <ref>http://search.earth911.com</ref> ===Family Entertainment and Copyright Act of 2005=== [[File:TVFree-copyright.PNG|thumb|Movie Copyright Laws]] There’s no question that copyright laws are pushed to the side when it comes to copying illegal things such as movies, music, and videos. People act as if there is nothing to risk, and it does not matter if you break the law. However, the Family Entertainment and Copyright Act, which was passed in 2005, made these offenses just a little bit more serious. The law worked to make three offenses more defined and punishable than they were before. First, it made sure that no one was allowed to bring a camcorder into a movie and record it. This works to stop people from selling movies that they do not have legal copyrights to. Second, it worked to make sure that there was no illegal prerelease of movies that had not yet been released to the public. The act actually states that this offense is punishable by a large fine or even time in jail. Finally, it allowed certain technology to be installed into DVD players that permits the user to automatically skip or mute entire portions of a DVD, allowing them to get passed crude, violent, or inappropriate parts that they would not have wanted to watch. Basically, the law just worked to reinforce previous copyright laws that seemed to be pushed aside without users giving them any consideration.<ref>https://www.eff.org/deeplinks/2005/04/family-entertainment-and-copyright-act-passes</ref> ===Other Related Legislation=== [[File:Image removed DMCA.png|thumb|left|Don't break the law|101x101px]] The Family Entertainment and Copyright Act of 2005 is just one example of the several laws surrounding intellectual property rights. The U.S. Anticybersquatting Consumer Protection Act of 1999 makes domain name cybersquatting illegal. This law was targeted at "cybersquatters" who register internet domain names containing trademarks with no intention of creating a legitimate website, but instead plan to sell the domain name to the trademark owner or a third party. For example, if a new trademarked company by the name of Shmauffle wanted to create a website called www.shmauffle.com, a person who bought the domain name, and is doing nothing with it, has to give it up to Schmauffle. Another major law is the Digital Millennium Copyright Act(DMCA), which makes it illegal to circumvent antipiracy measures built into digital media and devices. Other laws, such as ones to increase penalties for illegally sharing music via internet, are proposed on a regular basis. Legislation regarding ethics has proven to be much more difficult to pass. For example, laws surrounding the distribution of indecent or offensive material online can be declared unconstitutional based the right to free speech. As a result, very few ethically oriented laws have been passed in recent years. ==Review== '''Terms and Definitions''' <ref>http://coursemate.cengage.com/CPReader/View/9781133114598/default.aspx?eISBN=9781133114598#3ebb2c54-e38b-4716-ad74-68b62c24cc60</ref> '''assistive technology''' Hardware and software specifically designed for use by individuals with physical disabilities. '''burnout''' A state of fatigue or frustration usually brought on by overwork. '''business ethics''' Standards of moral conduct that guide a business’s policies, decisions, and actions. '''carpal tunnel syndrome (CTS)''' A painful and crippling condition affecting the hands and wrist that can be caused by computer use. '''code of conduct''' A policy, often for a school or business, that specifies allowable use of resources, such as computers and other equipment. '''code of ethics''' A policy, often for an organization or industry, that specifies overall moral guidelines adopted by that organization or industry. '''computer ethics''' Standards of moral conduct as they relate to computer use. '''computer hoax''' An inaccurate statement or story spread through the use of computers. '''copyright''' The legal right to sell, publish, or distribute an original artistic or literary work; it is held by the creator of a work as soon as it exists in physical form. '''cybersquatting''' The act of registering a domain name with the intent to profit from the goodwill of a trademark belonging to someone else. '''DeQuervain’s tendonitis''' A condition in which the tendons on the thumb side of the wrist are swollen and irritated. '''digital divide''' The gap between those who have access to technology and those who do not. '''digital manipulation''' The alteration of digital content, usually text or photographs. '''digital rights management (DRM) software''' Software used to protect and manage the rights of creators of digital content, such as art, music, photographs, and movies. '''digital watermark''' A subtle alteration of digital content that is not noticeable when the work is viewed or played but that identifies the copyright holder. '''docking station''' A device designed to easily connect a portable computer to conventional hardware, such as a keyboard, mouse, monitor, and printer. '''eco-label''' A certification, usually by a government agency, that identifies a device as meeting minimal environmental performance specifications. '''ENERGY STAR''' A program developed by the U.S. Department of Energy and the Environmental Protection Agency (EPA) to encourage the development of energy-saving devices. '''ergonomic hardware''' Hardware, typically an input or output device, that is designed to be more ergonomically correct than its nonergonomic counterpart. '''ergonomics''' The science of fitting a work environment to the people who work there. '''ethics''' Overall standards of moral conduct. '''etrash''' Electronic trash or waste, such as discarded computer components. '''green computing''' The use of computers in an environmentally friendly manner. '''intellectual property rights''' The legal rights to which creators of original creative works (such as artistic or literary works, inventions, corporate logos, and more) are entitled. '''Internet addiction''' The problem of overusing, or being unable to stop using, the Internet. '''notebook stand''' A device that elevates the display of a notebook or tablet computer to a better viewing height; can contain USB ports to connect additional hardware. '''patent''' A form of protection for an invention that can be granted by the government; gives exclusive rights of an invention to its inventor for 20 years. '''plagiarism'''' Presenting someone else’s work as your own. '''repetitive stress injury (RSI)''' A type of injury, such as carpal tunnel syndrome, that is caused by performing the same physical movements over and over again. '''trademark''' A word, phrase, symbol, or design that identifies goods or services. '''Questions''' ''True or False'' 1. All unethical acts are illegal. 2. Changing the background behind a television newscaster to make it appear that he or she is reporting on location instead of from inside the television studio would be an example of digital manipulation. 3. Carpal tunnel syndrome can be caused by using a computer keyboard. 4. As computer use has become more common, the potential for stress related to computer use has decreased. 5. Assistive technology is hardware and software designed to help all beginning computer users learn how to use a computer. 6. A software program would be protected by _____, while a corporate logo would be protected by _____ law. 7. Turning in a copy of a poem you found on a Web site as your original composition for a poetry class assignment is an example of _____. 8. Registering the domain name microsft.com to profit from it would be an act of _____. 9. The _____ can be used to describe discrepancies in access to technology by individuals within a country, as well as to compare access from country to country. 10. Match each term to its description or example, and write the corresponding number in the blank to the left of each description or example. A. What the symbol © stands for. B. Can vary from another's depending on his or her values, culture, and so forth. C. A warning about a nonexistent virus spread via e-mail. D. A subtle alteration of digital content that identifies the copyright holder. i. Computer hoax ii. Copyright iii. Digital watermark iv. Ethics 11. Hardware and software specifically designed for use by individuals with physical disabilities is called _____. '''Answers''' <ref>http://ng.cengage.com/static/nb/ui/index.html?nbId=7345&nbNodeId=1013914#!&parentId=1013951</ref> 1. False 2. True 3. True 4. False 5. False 6. copyright; trademark 7. plagiarism 8. cybersquatting 9. digital divide 10. A. ii. B. iv. C. i. D. iii. 11. Assistive Technology ==References== {{reflist}} {{BookCat}} 2j2uq66ykuk9eh4fwliwioi6iwqd87x Introduction to Inorganic Chemistry/Molecular Orbital Theory 0 293960 4444321 4442894 2024-11-10T19:33:12Z 128.106.249.163 fixed errata, accidentally used bonding wavefunction for antibonding wavefunction 4444321 wikitext text/x-wiki == <big>'''Chapter 2: Molecular Orbital Theory'''</big>== [[file:Carbon-monoxide-LUMO-phase-3D-balls.png|thumb|right|150 px|The lowest unoccupied molecular orbital of the carbon monoxide molecule is a π antibonding orbital that derives from the 2p orbitals of carbon (left) and oxygen (right)]] Valence bond (VB) theory gave us a qualitative picture of chemical bonding, which was useful for predicting the shapes of molecules, bond strengths, etc. It fails to describe some bonding situations accurately because it ignores the wave nature of the electrons. Molecular orbital (MO) theory has the potential to be more quantitative. With it we can also get a picture of where the electrons are in the molecule, as shown in the image at the right. This can help us understand patterns of bonding and reactivity that are otherwise difficult to explain. Although MO theory in principle gives us a way to calculate the energies and wavefunctions of electrons in molecules very precisely, usually we settle for simplified models here too. These simple models do not give very accurate orbital and bond energies, but they do explain concepts such as resonance (e.g., in the ferrocene molecule) that are hard to represent otherwise. We can get more accurate energies from MO theory by computational "number crunching." Many commercial and open-source [[w:List_of_quantum_chemistry_and_solid-state_physics_software|programs]] have been developed for accurately calculating the electronic structure of molecules and extended solids. While MO theory is more correct than VB theory and can be very accurate in predicting the properties of molecules, it is also rather complicated even for fairly simple molecules. For example, you should have no trouble drawing the VB pictures for CO, NH<sub>3</sub>, and benzene, but we will find that these are increasingly challenging with MO theory.<br /> <br /> '''Learning goals for Chapter 2:''' *Be able to construct molecular orbital diagrams for homonuclear diatomic, heteronuclear diatomic, homonuclear triatomic, and heteronuclear triatomic molecules. *Understand and be able to articulate how molecular orbitals form – conceptually, visually, graphically, and (semi)mathematically. *Interrelate bond order, bond length, and bond strength for diatomic and triatomic molecules, including neutral and ionized forms. *Use molecular orbital theory to predict molecular geometry for simple triatomic systems *Rationalize molecular structure for several specific systems in terms of orbital overlap and bonding. *Understand the origin of aromaticity and anti-aromaticity in molecules with π-bonding. ==&#160;&#160;2.1 Constructing molecular orbitals from atomic orbitals== Molecular orbital theory involves solving (approximately) the Schrodinger equation for the electrons in a molecule. To review from Chapter 1, this is a differential equation in which the first and second terms on the right represent the kinetic and potential energies: :<math> E \psi = -\frac{\hbar^2}{2\mu}\nabla^2\psi + V\psi </math> While the Schrodinger equation can be solved analytically for the hydrogen atom, the potential energy function V becomes more complicated - and the equation can then only be solved numerically - when there are many (mutually repulsive) electrons in a molecule. So as a first approximation we will assume that the s, p, d, f, etc. orbitals of the atoms that make up the molecule are good solutions to the Schrodinger equation. We can then allow these wavefunctions to interfere constructively and destructively as we bring the atoms together to make bonds. In this way, we use the atomic orbitals (AO) as our basis for constructing MO's. LCAO-MO = [[w:Linear_combination_of_atomic_orbitals|'''linear combination of atomic orbitals.''']] In physics, this is called this the [[w:Tight_binding_approximation|tight binding approximation]]. We have actually seen linear combinations of atomic orbitals before when we constructed hybrid orbitals in Chapter 1. The basic rules we developed for hybridization also apply here: orbitals are added with scalar coefficients (c) in such a way that the resulting orbitals are '''orthogonal''' and '''normalized'''. The difference is that in the MO case, the atomic orbitals come from different atoms. The linear combination of atomic orbitals always gives back the ''same number of molecular orbitals.'' So if we start with two atomic orbitals (e.g., an s and a p<sub>z</sub> orbital as shown in Fig. 2.1.1), we end up with two molecular orbitals. When atomic orbitals add in phase, we get constructive interference and a lower energy orbital. When they add out of phase, we get a node and the resulting orbital has higher energy. The lower energy MOs are ''bonding'' and higher energy MOs are ''antibonding.''<br /> :[[File:s-pz ao-mo.png|thumb|left|500px|Fig. 2.1.1. Sigma bonding and antibonding combinations of an s and p orbital]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> [[File:FluorescentCells.jpg|thumb|right|250px|Fig. 2.1.2. Different components of endothelial cells are stained by blue, green, and red fluorescent dyes. For each dye the color of emitted light corresponds to the energy given off when an electron drops from the LUMO to the HOMO of the molecule.]] Molecular orbitals are also called '''wavefunctions''' (ψ), because they are solutions to the Schrödinger equation for the molecule. The atomic orbitals (also called basis functions) are labeled as φ's, for example, φ<sub>1s</sub> and φ<sub>3pz</sub> or simply as φ<sub>1</sub> and φ<sub>2</sub>. <br /> In principle, we need to solve the Schrödinger equation for all the orbitals in a molecule, and then fill them up with pairs of electrons as we do for the orbitals in atoms. In practice we are really interested only in the MOs that derive from the valence orbitals of the constituent atoms, because these are the orbitals that are involved in bonding. We are especially interested in the '''frontier orbitals''', i.e., the highest occupied molecular orbital (the '''HOMO''') and the lowest unoccupied molecular orbital (the '''LUMO'''). Filled orbitals that are much lower in energy (i.e., core orbitals) do not contribute to bonding, and empty orbitals at higher energy likewise do not contribute. Those orbitals are however important in photochemistry and spectroscopy, which involve electronic transitions from occupied to empty orbitals. The fluorescent dyes that stain the cells shown in Fig. 2.1.2 absorb light by promoting electrons in the HOMO to empty MOs and give off light when the electrons drop back down to their original energy levels. As an example of the LCAO-MO approach we can construct two MO's (ψ<sub>1</sub> and ψ<sub>2</sub>) of the HCl molecule from two AO's φ<sub>1</sub> and φ<sub>2</sub> (Fig. 2.1.1). To make these two linear combinations, we write: :<math> \psi_1 = c_1 \phi_1 + c_2 \phi_2 </math> and :<math> \psi_2 = c_1 \phi_1 - c_2 \phi_2 </math> The coefficients c<sub>1</sub> and c<sub>2</sub> will be equal (or nearly so) when the two AOs from which they are constructed are the same, e.g., when two hydrogen 1s orbitals combine to make bonding and antibonding MOs in H<sub>2</sub>. They will be unequal when there is an energy difference between the AOs, for example when a hydrogen 1s orbital and a chlorine 3p orbital combine to make a polar H-Cl bond. '''Nodes:''' The wavefunctions φ and ψ are '''amplitudes''' that are related to the probability of finding the electron at some point in space. They have lobes with (+) or (-) signs, which we indicate by shading or color. Wherever the wavefunction changes sign we have a node. As you can see in Fig. 2.1.1, nodes in MOs result from destructive interference of (+) and (-) wavefunctions. Generally, the more nodes, the higher the energy of the orbital. In the example above we have drawn a simplified picture of the Cl 3p<sub>z</sub> orbital and the resulting MOs, leaving out the radial node. Recall that 2p orbitals have no radial nodes, 3p orbitals have one, as illustrated in Fig. 2.1.3. 4p orbitals have two radial nodes, and so on. The MOs we make by combining the AOs have these nodes too.<br><br /> :[[File:2p and 3p nodes.png|thumb|left|450px|Fig. 2.1.3. Nodal structure of 2p and 3p orbitals]] <br /> <br /> <br /> <br /> <br /> <br /> '''Normalization:''' We square the wave functions to get probabilities, which are always positve or zero. So if an electron is in orbital φ<sub>1</sub>, the probability of finding it at point xyz is the square<ref>More precisely, in the case of a complex wavefunction φ, the probability is the product of φ and its complex conjugate φ*</ref> of φ<sub>1</sub>(x,y,z). The total probability does not change when we combine AOs to make MOs, so for the simple case of combining φ<sub>1</sub> and φ<sub>2</sub> to make ψ<sub>1</sub> and ψ<sub>2</sub>, :<math> \psi_1^2 + \psi_2^2 = \phi_1^2 + \phi_2^2 </math> [[File:orbital overlap.png|thumb|300px|Fig. 2.1.4. The wavefunctions of atomic orbitals decrease exponentially with distance. Orbital overlap is non-zero when two atoms are close together, as illustrated for 1s orbitals in the upper figure. The lower figure shows orbitals that are too far away to interact. In this case both S and β are close to zero.]] '''Overlap integral:''' The spatial overlap between two atomic orbitals φ<sub>1</sub> and φ<sub>2</sub> is described by the overlap integral S, :<math> S_{12} = \int \phi_1^* \phi_2 \, \mathrm{d}\tau </math> where the integration is over all space (<math>\mathrm{d}\tau = \mathrm{d}x \, \mathrm{d}y \, \mathrm{d}z</math>). '''Energies of bonding and antibonding MOs:''' The energies of bonding and antibonding orbitals depend strongly on the distance between atoms. This is illustrated in Fig. 2.1.5 for the hydrogen molecule, H<sub>2</sub>. At very long distances, there is essentially no difference in energy between the in-phase and out-of-phase combinations of H 1s orbitals. As they get closer, the in-phase (bonding) combination drops in energy because electrons are shared between the two positively charged nuclei. The energy reaches a minimum at the equilibrium bond distance (0.74 Å) and then rises again as the nuclei get closer together. The antibonding combination has a node between the nuclei so its energy rises continuously as the atoms are brought together. :[[File:H2PEimage.jpg|thumb|left|350px|Fig. 2.1.5. Energy as a function of distance for the bonding and antibonding orbitals of the H<sub>2</sub> molecule]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> At the equilibrium bond distance, the energies of the bonding and antibonding molecular orbitals (ψ<sub>1</sub>, ψ<sub>2</sub>) are lower and higher, respectively, than the energies of the atomic basis orbitals φ<sub>1</sub> and φ<sub>2</sub>. This is shown in Fig. 2.1.6 for the MO’s of the H<sub>2</sub> molecule.<br /> <br /> :[[File:H2 MO energy diagram.png|thumb|left|400px|Fig. 2.1.6. Molecular orbital energy diagram for the H<sub>2</sub> molecule]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> The energy of an electron in one of the atomic orbitals is α, the '''Coulomb integral'''. :<math>\alpha = \int \phi_1^* H \phi_1 \, \mathrm{d}\tau = \int \phi_2^* H \phi_2 \, \mathrm{d}\tau</math> where ''H'' is the '''Hamiltonian operator'''. Essentially, α represents the ''ionization energy'' of an electron in atomic orbital ''φ''<sub>1</sub> or ''φ''<sub>2</sub>. The energy difference between an electron in the AO’s and the MO’s is determined by the '''exchange integral β''', :<math>\beta = \int \phi_1^* H \phi_2 \, \mathrm{d}\tau</math> ''β'' is an important quantity, because it tells us about the bonding energy of the molecule, and also the difference in energy between bonding and antibonding orbitals. Calculating β is not straightforward for multi-electron molecules because we cannot solve the Schrödinger equation analytically for the wavefunctions. We can however make some approximations to calculate the energies and wavefunctions numerically. In the [[w: Hückel_method|Hückel approximation]], which can be used to obtain approximate solutions for π molecular orbitals in organic molecules, we simplify the math by taking S=0 and setting H=0 for any p-orbitals that are not adjacent to each other. The [[w: Extended_Hückel_method|extended Hückel method]],<ref>{{cite journal | author = Hoffmann, R. | title = An Extended Hückel Theory. I. Hydrocarbons. | journal = [[w:J. Chem. Phys.|J. Chem. Phys.]] | year = 1963 | volume = 39 | pages = 1397–1412 | doi = 10.1063/1.1734456 | issue = 6|bibcode = 1963JChPh..39.1397H }}</ref> developed by [[w: Roald_Hoffmann|Roald Hoffmann]], and other [[w: Semi-empirical_quantum_chemistry_method|semi-empirical methods]] can be used to rapidly obtain relative orbital energies, approximate wavefunctions, and degeneracies of molecular orbitals for a wide variety of molecules and extended solids. More sophisticated [[w: Ab_initio_quantum_chemistry_methods|ab initio methods]] are now readily available in software packages and can be used to compute accurate orbital energies for molecules and solids. We can get the coefficients c<sub>1</sub> and c<sub>2</sub> for the hydrogen molecule by applying the normalization criterion: :<math> \psi_1 = \frac{1}{\sqrt{2}} \frac{\phi_1 + \phi_2}{1+S} \qquad \text{(bonding orbital)}</math> and :<math> \psi_2 = \frac{1}{\sqrt{2}} \frac{\phi_1 - \phi_2}{1-S} \qquad \text{(antibonding orbital)}</math> In the case where S≈0, we can eliminate the 1-S terms and both coefficients become 1/{{math|{{radical|2}}}} <br /> Note that the bonding orbital in the MO diagram of H<sub>2</sub> is stabilized by an energy ''β''/(1+''S'') and the antibonding orbital is destabilized by ''β''/(1-''S''). That is, the antibonding orbital goes up in energy more than the bonding orbital goes down. This means that H<sub>2</sub> (ψ<sub>1</sub><sup>2</sup>ψ<sub>2</sub><sup>0</sup>) is energetically more stable than two H atoms, but He<sub>2</sub> with four electrons (ψ<sub>1</sub><sup>2</sup>ψ<sub>2</sub><sup>2</sup>) is ''unstable'' relative to two He atoms. '''Bond order:''' In any MO diagram, the bond order can be calculated as ½ ( # of bonding electrons - # of antibonding electrons). For H<sub>2</sub> the bond order is 1, and for He<sub>2</sub> the bond order is zero. '''Bond strengths and bond lengths:''' When we count bonds using MO theory, we use the formula above to calculate the net bond order. This formula would imply that the H<sub>2</sub><sup>+</sup> and H<sub>2</sub><sup>-</sup> molecules each have a bond order of 1/2, since there is one net bonding electron. However, experimentally we find that the bond is much longer and weaker in H<sub>2</sub><sup>-</sup> than in H<sub>2</sub><sup>+</sup>. The table below summarizes the bond strengths and bond lengths for molecules and ions that use only their 1s atomic orbitals to make σ and σ* molecular orbitals. {| class="wikitable" |+ MO configurations, bond lengths, and bond strengths of diatomic molecules and ions |- ! Molecule !! # of electrons !! MO configuration !! net # of bonding electrons !! Bond order !! Bond length (Å) !! Bond energy (kJ/mol) |- | H<sub>2</sub><sup>+</sup> || 1 || σ<sub>1s</sub><sup>1</sup> || 1 || 1/2 || 1.07 || 256 |- | H<sub>2</sub> || 2 || σ<sub>1s</sub><sup>2</sup> || 2 || 1 || 0.74 || 436 |- | H<sub>2</sub><sup>-</sup> || 3 || σ<sub>1s</sub><sup>2</sup>σ*<sub>1s</sub><sup>1</sup> || 1 || 1/2 || - || 156 |- | He<sub>2</sub><sup>+</sup> || 3 || σ<sub>1s</sub><sup>2</sup>σ*<sub>1s</sub><sup>1</sup> || 1 || 1/2 || 1.08 || 230 |- | He<sub>2</sub> || 4 || σ<sub>1s</sub><sup>2</sup>σ*<sub>1s</sub><sup>2</sup> || 0 || 0 || - || - |} The striking difference between the bond strengths in H<sub>2</sub><sup>+</sup> and H<sub>2</sub><sup>-</sup> arises from the fact that there is electron-electron repulsion in the three-electron H<sub>2</sub><sup>-</sup> ion, whereas there is none in H<sub>2</sub><sup>+</sup>. We also observe that the bond is much stronger in the three-electron He<sub>2</sub><sup>+</sup> ion than it is in H<sub>2</sub><sup>-</sup>. In the case of He<sub>2</sub><sup>+</sup>, the attraction between the electrons and the positive charge of the He<sup>2+</sup> cores compensates for electron-electron repulsion. The moral of the story is that the MO diagrams we draw (just like the atomic orbitals we drew from the Schrödinger equation) are calculated for one-electron atoms, but in real (multi-electron) atoms and molecules we must consider electron-electron repulsion when we estimate or calculate bond energies. '''Heteronuclear case (e.g., HCl)''' - '''Polar bonds''' Here we introduce an electronegativity difference between the two atoms making the chemical bond. The energy of an electron in the H 1s orbital is higher (it is easier to ionize) than the electron in the chlorine 3p<sub>z</sub> orbital. This results in a larger energy difference between the resulting molecular orbitals ψ<sub>1</sub> and ψ<sub>2</sub>, as shown in Fig. 2.1.7. The bigger the electronegativity difference between atomic orbitals (the larger Δα is) the more “φ<sub>2</sub> character” the bonding orbital has, i.e., the more it resembles the Cl 3p<sub>z</sub> orbital in this case. This is consistent with the idea that H-Cl has a polar single bond: the two electrons reside in a bonding molecular orbital that is primarily localized on the Cl atom.<br /> <br /> :[[File:HCl MO energy diagram.png|thumb|left|450px|Fig. 2.1.7. Molecular orbital energy diagram for the HCl molecule]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> The antibonding orbital (empty) has more H-character. The bond order is again 1 because there are two electrons in the bonding orbital and none in the antibonding orbital. '''Extreme case - Ionic bonding (NaF):''' very large Δα In this case, there is not much mixing between the AO’s because their energies are far apart (Fig. 2.1.8). The two bonding electrons are localized on the F atom , so we can write the molecule as Na<sup>+</sup>F<sup>-</sup>. Note that if we were to excite an electron from ψ<sub>1</sub> to ψ<sub>2</sub> using light, the resulting electronic configuration would be (ψ<sub>1</sub><sup>1</sup>ψ<sub>2</sub><sup>1</sup>) and we would have Na<sup>0</sup>F<sup>0</sup>. This is called a charge transfer transition.<br /> <br /> :[[File:NaF MO energy diagram.png|thumb|left|370px|Fig. 2.1.8. Molecular orbital energy diagram illustrating ionic bonding in the NaF molecule]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> '''''Summary of molecular orbital theory so far:''''' • '''Add and subtract''' AO wavefunctions to make MOs. Two AOs → two MOs. More generally, the ''total number of MOs equals the number of AO basis orbitals''. • We showed the simplest case (only two basis orbitals). More accurate calculations use a much larger basis set (more AOs) and solve for the matrix of c’s that gives the lowest total energy, using mathematically friendly approximations of the potential energy function that is part of the Hamiltonian operator H. • '''More nodes''' → '''higher energy''' MO • '''Bond order''' = ½ ( # of bonding electrons - # of antibonding electrons) • '''Bond polarity''' emerges in the MO picture as orbital “character.” • AOs that are '''far apart in energy''' do not interact much when they combine to make MOs. <br /> <br /> ==&#160;&#160;2.2 Orbital symmetry== [[File:makingpottery.jpg|thumb|right|200px|Fig. 2.2.1. Example of σ symmetry.]] The MO picture for a molecule gets complicated when many valence AOs are involved. We can simplify the problem enormously by noting (without proof here) that orbitals of different symmetry with respect to the molecule do not interact. The symmetry operations of a molecule (which can include rotations, mirror planes, inversion centers, etc.), and the symmetry classes of bonds and orbitals in molecules, can be rigorously defined according to [[w:Molecular_symmetry|'''group theory''']]. Here we will take a simple approach to this problem based on our intuitive understanding of the symmetry of three-dimensional objects as illustrated in Fig. 2.2.1. <br /> <br /> AO’s must have the same '''nodal symmetry''' (as defined by the molecular symmetry operations), or their overlap is zero. For example, in the HCl molecule, there is a unique symmetry axis →, which is typically defined as the Cartesian z-axis, as shown in Fig. 2.2.2.<br /> :[[File:noninteracting sigma pi orbitals.jpg|thumb|left|500px|Fig. 2.2.2. Orbitals of σ and π symmetry do not interact.]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> We can see from this figure that the H 1s orbital is unchanged by a 180° rotation about the bond axis. However, the same rotation inverts the sign of the Cl 3p<sub>y</sub> wavefunction. Because these two orbitals have different symmetries, the Cl 3p<sub>y</sub> orbital is '''nonbonding''' and doesn’t interact with the H 1s. The same is true of the Cl 3p<sub>x</sub> orbital. The p<sub>x</sub> and p<sub>y</sub> orbitals have π symmetry (nodal plane containing the bonding axis) and are labeled π<sub>nb</sub> in the MO energy level diagram, Fig. 2.2.3. In contrast, the H 1s and Cl 3p<sub>z</sub> orbitals both have σ symmetry, which is also the symmetry of the clay pot shown in Fig. 2.2.1. Because these orbitals have the same symmetry (in the [[w:Point_group|point group]] of the molecule), they can make the bonding and antibonding combinations shown in Fig. 2.1.1.<br /><br /> The MO diagram of HCl that includes all the valence orbitals of the Cl atom is shown in Fig. 2.2.3. Two of the Cl valence orbitals (3p<sub>x</sub> and 3p<sub>y</sub>) have the wrong symmetry to interact with the H 1s orbital. The Cl 3s orbital has the same (σ) symmetry as H 1s, but it is much lower in energy so there is little orbital interaction. The energy of the Cl 3s orbital is thus affected only slightly by forming the molecule. The pairs of electrons in the π<sub>nb</sub> and σ<sub>nb</sub> orbitals are therefore '''non-bonding'''. :[[File:HClmodiagram.png|thumb|left|350px|Fig. 2.2.3. Energy level diagram of the HCl molecule showing MOs derived from the valence AOs.]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Note that the MO result in Fig. 2.2.3 (1 bond and three pairs of nonbonding electrons) is the same as we would get from valence bond theory for HCl. The nonbonding orbitals are localized on the Cl atom, just as we would surmise from the valence bond picture. In order to differentiate it from the σ bonding orbital, the σ antibonding orbital, which is empty in this case, is designated with an asterisk. <br /> <br /> ==&#160;&#160;2.3 σ, π, and δ orbitals== [[Image:Octachlorodirhenate(III)-3D-balls.png|thumb|right|150px|Fig. 2.3.1. The octachlorodirhenate(III) anion, [Re<sub>2</sub>Cl<sub>8</sub>]<sup>2−</sup>, which has a quadruple Re-Re bond.<ref>Cotton, F. A.; Harris, C. B. Inorg. Chem., 1965, 4 (3), 330-333. DOI|10.1021/ic50025a015</ref>]] Inorganic compounds use s, p, and d orbitals (and more rarely f orbitals) to make bonding and antibonding combinations. These combinations result in '''σ, π,''' and '''δ''' bonds (and antibonds). You are already familiar with σ and π bonding in organic compounds. In inorganic chemistry, π bonds can be made from p- and/or d-orbitals. δ bonds are more rare and occur by face-to-face overlap of d-orbitals, as in the ion Re<sub>2</sub>Cl<sub>8</sub><sup>2-</sup>. The fact that the Cl atoms are eclipsed in this anion is evidence of δ bonding. Some possible σ (top row), π (bottom row), and δ bonding combinations (right) of s, p, and d orbitals are sketched below. In each case, we can make bonding or antibonding combinations, depending on the signs of the AO wavefunctions. Because pπ-pπ bonding involves sideways overlap of p-orbitals, it is most commonly observed with second-row elements (C, N, O). π-bonded compounds of heavier elements are rare because the larger cores of the atoms prevent good π-overlap. For this reason, compounds containing C=C double bonds are very common, but those with Si=Si bonds are rare. [[w:delta_bond|δ bonds]] are generally quite weak compared to σ and π bonds. Compounds with metal-metal δ bonds occur in the middle of the transition series. :[[File:sigma-pi bonding.png|380px|left]]&nbsp;&nbsp;&nbsp;&nbsp; [[File:Delta bonding cartoon.jpg|300px]] <br><br> [[File:Connelly-Orpen-R3P-M-sigma-bonding.png|150px|right]][[file:Back bonding.png|200px|left]][[File:Connelly-Orpen-R3P-M-pi-backbonding.png|150px|right]] Transition metal d-orbitals can also form σ bonds, typically with s-p hybrid orbitals of appropriate symmetry on ligands. For example, phosphines (R<sub>3</sub>P:) are good σ donors in complexes with transition metals, as shown at the right. pπ-dπ bonding is also important in transition metal complexes. In metal carbonyl complexes such as Ni(CO)<sub>4</sub> and Mo(CO)<sub>6</sub>, there is sideways overlap between filled metal d-orbitals and the empty π-antibonding orbitals (the LUMO) of the CO molecule, as shown in the figure at the left. This interaction strengthens the metal-carbon bond but weakens the carbon-oxygen bond. The C-O infrared stretching frequency is diagnostic of the strength of the bond and can be used to estimate the degree to which electrons are transferred from the metal d-orbital to the CO π-antibonding orbital. The same kind of backbonding occurs with phosphine complexes, which have empty π orbitals, as shown at the right. Transition metal complexes containing halide ligands can also have significant pπ-dπ bonding, in which a filled pπ orbital on the ligand donates electron density to an unfilled metal dπ orbital. We will encounter these bonding situations in Chapter 5. <br /><br /><br /><br /> ==&#160;&#160;2.4 Diatomic molecules== Valence bond theory fails for a number of the second row diatomics, most famously for O<sub>2</sub>, where it predicts a diamagnetic, doubly bonded molecule with four lone pairs. O<sub>2</sub> does have a double bond, but it has two unpaired electrons in the ground state, a property that can be explained by the MO picture. We can construct the MO energy level diagrams for these molecules as follows:<br /> <br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Li<sub>2</sub>, Be<sub>2</sub>, B<sub>2</sub>, C<sub>2</sub>, N<sub>2</sub> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O<sub>2</sub>, F<sub>2</sub>, Ne<sub>2</sub> :[[File:2nd_row_diatomic_MOs.png|left|625px]] We get the simpler diatomic MO picture on the right when the 2s and 2p AOs are well separated in energy, as they are for O<sub>2</sub>, F<sub>2</sub>, and Ne<sub>2</sub>. The picture on the left results from mixing of the σ<sub>2s</sub> and σ<sub>2p</sub> MO’s, which are close in energy for Li<sub>2</sub>, Be<sub>2</sub>, B<sub>2</sub>, C<sub>2</sub>, and N<sub>2</sub>. The effect of this mixing is to push the σ<sub>2s</sub>* down in energy and the σ<sub>2p</sub> up, to the point where the pπ orbitals are below the σ<sub>2p</sub>. Note that the energies of the π and π* orbitals are unaffected by s-p mixing because of symmetry considerations. The π and π* orbitals have "u" symmetry, meaning that they are antisymmetric with respect to the inversion operation. The σ and σ* orbitals orbitals have "g" symmetry, meaning that they are unchanged by inversion (see section 2.5). Heteronuclear diatomic molecules and ions such as CO, NO, and NO<sup>+</sup> also have the ordering of energy levels shown on the left because of s-p mixing. [[File:1s_vs_2s2p_orbital_energies.png|right|350px]] If you'd like to see what these bonding and antibonding molecular orbitals look like, a good animation of the MOs in the CO molecule can be found on the University of Liverpool [http://www.chemtube3d.com/orbitalsCO.htm '''Structure and Bonding'''] website. <br /> <br /> '''Why don't we get sp-orbital mixing''' for O<sub>2</sub> and F<sub>2</sub>? The reason has to do with the energies of the orbitals, which are not drawn to scale in the simple picture at the left. As we move across the second row of the periodic table from Li to F, we are progressively adding protons to the nucleus. The 2s orbital, which has finite amplitude at the nucleus, "feels" the increased nuclear charge more than the 2p orbital. This means that as we progress across the periodic table (and also, as we will see later, when we move down the periodic table), the '''energy difference between the s and p orbitals''' becomes large compared to the bond energy. As the 2s and 2p energies become farther apart in energy, there is less interaction between the orbitals (i.e., less mixing). <br /> <br /> A plot of orbital energies is shown at the right. Because of the very large energy difference between the 1s and 2s/2p orbitals, we plot them on different energy scales, with the 1s to the left and the 2s/2p to the right. For elements at the left side of the 2nd period (Li, Be, B) the 2s and 2p energies are only a few eV apart. The energy difference becomes very large - more than 20 electron volts (1930 kJ/mol) - for O and F. Since single bond energies are typically about 3-4 eV, this energy difference would be very large on the scale of our MO diagrams. For all the elements in the 2nd row of the periodic table, the 1s (core) orbitals are very low in energy compared to the 2s/2p (valence) orbitals, so we don't need to consider them in drawing our MO diagrams. <br /> <br /> ==&#160;&#160;2.5 Orbital filling== MO’s are filled from the bottom according to the '''[[w:Aufbau_principle|Aufbau principle]]''' and '''[[w:Hund's_rule_of_maximum_multiplicity|Hund’s rule]]''', as we learned for atomic orbitals. <br /> ''Question:'' what is the quantum mechanical basis of Hund’s rule?<br /> :Consider the case of two degenerate orbitals, such as the π or π* orbitals in a second-row diatomic molecule. If these orbitals each contain one electron, their spins can be parallel (as preferred by Hund's rule) or antiparallel. The Pauli exclusion principle says that no two electrons in an orbital can have the same set of quantum numbers (n, l, m<sub>l</sub>, m<sub>s</sub>). That means that, in the parallel case, the Pauli principle prevents the electrons from ever visiting each other's orbitals. In the antiparallel case, they are free to come and go because they have different m<sub>s</sub> quantum numbers. However, having two electrons in the same orbital is energetically unfavorable because like charges repel. Thus, the parallel arrangement, thanks to the Pauli principle, has lower energy. <br /> For O<sub>2</sub> (12 valence electrons), we get the MO energy diagram below. The shapes of the molecular orbitals are shown at the right.<br /> :[[File:Oxygen molecule orbitals diagram-en.svg|left|400px|Oxygen molecular orbital diagram]]<br/>[[file:2nd_row_diatomic_MOs.jpg|130px|O2 molecular orbitals]] <br /> [[File:Phot-34g-04-fullres.jpg|200px|thumb|Red giant stars are characterized by the presence of C<sub>2</sub> molecules in their atmospheres. Since C<sub>2</sub> has a net bond order of two, it reacts rapidly as it cools from the gas phase to make other forms of carbon such as [[w:fullerene|'''fullerenes''']], [[w:graphite|'''graphite''']], and [[w:diamond|'''diamond''']], all of which have four bonds for every two carbon atoms.]]This energy ordering of MOs correctly predicts '''two unpaired electrons''' in the π* orbital and a net '''bond order of two''' (8 bonding electrons and 4 antibonding electrons). This is consistent with the experimentally observed [[w:paramagnetism|paramagnetism]] of the oxygen molecule.<br /> Other interesting predictions of the MO theory for second-row diatomics are that the C<sub>2</sub> molecule has a bond order of 2 and that the B<sub>2</sub> molecule has two unpaired electrons (both verified experimentally). We can also predict (using the O<sub>2</sub>, F<sub>2</sub>, Ne<sub>2</sub> diagram above) that NO has a bond order of 2.5, and CO has a bond order of 3.<br /> The symbols "g" and "u" in the orbital labels, which we only include in the case of centrosymmetric molecules, refer to their symmetry with respect to inversion. ''Gerade'' (g) orbitals are symmetric, meaning that inversion through the center leaves the orbital unchanged. ''Ungerade'' (u) means that the sign of the orbital is reversed by the inversion operation. Because g and u orbitals have different symmetries, they have zero overlap with each other. As we will see below, factoring orbitals according to g and u symmetry simplifies the task of constructing molecular orbitals in more complicated molecules, such as butadiene and benzene. The orbital shapes shown above were computed using a ''one-electron model'' of the molecule, as we did for hydrogen-like AOs to get the shapes of s, p, and d-orbitals. To get accurate MO energies and diagrams for ''multi-electron'' molecules (i.e. all real molecules), we must include the fact that electrons are “correlated,” i.e. that they avoid each other in molecules because of their negative charge. This problem cannot be solved analytically, and is solved approximately in numerical calculations by using [[w:density_functional_theory|density functional theory]] (DFT). We will learn about the consequences of electron correlation in solids (such as superconductors) in Chapter 10. <br /> <br /> ==&#160;&#160;2.6 Periodic trends in π bonding== As we noted in Section 2.3, ''pπ-bonding almost always involves a second-row element.'' We encounter π-bonding from the sideways overlap of p-orbitals in the MO diagrams of second-row diatomics (B<sub>2</sub>…O<sub>2</sub>). It is important to remember that π-bonds are weaker than σ bonds made from the same AOs, and are especially weak if they involve elements beyond the second row. ''Example:'' [[file:ethylene-silylene.jpg|left|100px|comparison of ethylene and silylene structures]] ''Ethylene:'' Stable molecule, doesn't polymerize without a catalyst. ''Silylene:'' Never isolated, spontaneously polymerizes. Calculations indicate 117 kJ/mol stability in the gas phase relative to singly-bonded (triplet) H<sub>2</sub>Si-SiH<sub>2</sub>. <br />[[file:white_phosphorus.jpg|200px|thumb|White phosphorus (P<sub>4</sub>) is a soft, waxy solid that ignites spontaneously in air, burning with a bright flame and generating copious white P<sub>4</sub>O<sub>10</sub> smoke. The sample shown here is photographed under water to prevent the oxidation reaction.]] <br /> The large Ne core of Si atoms inhibits sideways overlap of 3p orbitals → weak π-bond. <br /> <br /> ''Other examples:'' '''P<sub>4</sub> vs. N<sub>2</sub>''' [[file:p4 and n2.jpg|left|180px|comparison of elemental phosphorus and nitrogen structures]] <br /> P cannot make π-bonds with itself, so it forms a tetrahedral molecule with substantial ring strain. This allotrope of P undergoes spontaneous combustion in air. Solid white phosphorus very slowly converts to red phosphorus, a more stable allotrope that contains sheets of pyramidal P atoms, each with bonds to three neighboring atoms and one lone pair. <br /><br /> N can make π-bonds, so N<sub>2</sub> has a very strong triple bond and is a relatively inert diatomic gas. <br />[[File:silcone_muffin_cups.JPG|200px|thumb|Silicone polymers (R<sub>2</sub>SiO)<sub>n</sub> are used in non-stick cookware like these muffin cups, in [[w:silly_putty|Silly Putty]], [[w:soft_robotics|soft robotics]], and many other applications.]] '''(CH<sub>3</sub>)<sub>2</sub>SiO vs. (CH<sub>3</sub>)<sub>2</sub>CO''' [[file:siloxane-vs-acetone.jpg|left|230px|comparison of polysiloxane and acetone structures]] “RTV” silicone polymer (4 single bonds to Si) vs. acetone (C=O double bond). Silicones are soft, flexible polymers that can be heated to high temperatures (>300 °C) without decomposing. Acetone is a flammable molecular liquid that boils at 56 °C. <br /> <br /><br /> ''Also compare:'' <br /> SiO<sub>2</sub> (mp ~1600°C) vs. CO<sub>2</sub> (sublimes at -78°C) S<sub>8</sub> (solid, ring structure) vs. O<sub>2</sub> (gas, double bond) <br /> [[File:P4O10 molecular structure.PNG|left|100px]]''Exceptions:'' 2nd row elements can form reasonably strong π-bonds with the ''smallest'' of the 3rd row elements, P, S, and Cl. Thus we find S=N bonds in sulfur-nitrogen compounds such as S<sub>2</sub>N<sub>2</sub> and S<sub>3</sub>N<sub>3</sub><sup>-</sup>, P=O bonds in phosphoric acid and P<sub>4</sub>O<sub>10</sub> (shown at the left), and a delocalized π-molecular orbital in SO<sub>2</sub> (as in ozone). <br /> <br /> ==&#160;&#160;2.7 Three-center bonding== Many (but not all) of the problems we will solve with MO theory derive from the MO diagram of the H<sub>2</sub> molecule (Fig. 2.1.5), which is a case of two-center bonding. The rest we will solve by analogy to the H<sub>3</sub><sup>+</sup> ion, which introduces the concept of three-center bonding. <br /> <br /> We can draw the H<sub>3</sub><sup>+</sup> ion (and also H<sub>3</sub> and H<sub>3</sub><sup>-</sup>) in either a '''linear''' or '''triangular''' geometry. '''Walsh correlation diagram for H<sub>3</sub><sup>+</sup>:''' :[[file:H3 walsh diagram.jpg|left|450px|walsh diagram for H3+]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> ''A few important points about this diagram:'' *For the linear form of the ion, the highest and lowest MO’s are symmetric with respect to the inversion center in the molecule. Note that the central 1s orbital has '''g symmetry''', so by symmetry it has '''zero overlap''' with the '''u combination''' of the two 1s orbitals on the ends. This makes the σ<sub>u</sub> orbital a '''nonbonding''' orbital. *In the triangular form of the molecule, the orbitals that derive from σ<sub>u</sub> and σ*<sub>g</sub> become degenerate (i.e., they have identically the same energy by symmetry). The term symbol “e” means '''doubly degenerate'''. We will see later that “t” means triply degenerate. Note that we drop the “g” and “u” for the triangular orbitals because a triangle does not have an inversion center. *The '''triangular form is most stable''' because the two electrons in H<sub>3</sub><sup>+</sup> have lower energy in the lowest orbital. Bending the molecule creates a third bonding interaction between the 1s orbitals on the ends. <br /> '''''MO diagram for XH<sub>2</sub> (X = Be, B, C…):''''' This is more complicated than H<sub>3</sub> because the X atom has both s and p orbitals. However, we can symmetry factor the orbitals and solve the problem by analogy to the H<sub>2</sub> molecule: :[[file:XH2 MO diagram.jpg|left|450px|MO diagram for XH2]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /><br /> ''Some key points about this MO diagram:'' <br /> *In the linear form of the molecule, which has inversion symmetry, the 2s and 2p orbitals of the X atom factor into three symmetry classes: :<big>2s = σ<sub>g</sub><br /></big> :<big>2p<sub>z</sub> = σ<sub>u</sub><br /></big> :<big>2p<sub>x</sub>, 2p<sub>y</sub> = π<sub>u</sub></big><br /> *Similarly, we can see that the two H 1s orbitals make two linear combinations, one with σ<sub>g</sub> symmetry and one with σ<sub>u</sub> symmetry. They look like the bonding and antibonding MO’s of the '''H<sub>2</sub> molecule''' (which is why we say we use that problem to solve this one). *The π<sub>u</sub> orbitals must be '''non-bonding''' because there is no combination of the H 1s orbitals that has π<sub>u</sub> symmetry. *In the MO diagram, we make bonding and antibonding combinations of the σ<sub>g</sub>’s and the σ<sub>u</sub>’s. For BeH<sub>2</sub>, we then populate the lowest two orbitals with the four valence electrons and discover (not surprisingly) that the molecule has '''two bonds''' and can be written '''H-Be-H'''. The correlation diagram shows that a bent form of the molecule should be '''less stable'''. <br /><br /> An interesting story about this MO diagram is that it is difficult to predict a priori whether CH<sub>2</sub> should be linear or bent. In 1970, Charles Bender and Henry Schaefer, using quantum chemical calculations, predicted that the ground state should be a bent triplet with an H-C-H angle of 135°.<ref>C. F. Bender and H. F. Schaefer III, New theoretical evidence for the nonlinearity of the triplet ground state of methylene, J. Am. Chem. Soc. 92, 4984–4985 (1970). </ref> The best experiments at the time suggested that methylene was a linear singlet, and the theorists argued that the experimental result was wrong. ''Later experiments proved them right!'' <br /><br /> “A theory is something nobody believes, except the person who made it. An experiment is something everybody believes, except the person who made it.” – Einstein <br /><br /> ==&#160;&#160;2.8 Building up the MOs of more complex molecules: NH<sub>3</sub>, P<sub>4</sub>== '''MO diagram for NH<sub>3</sub>''' We can now attempt the MO diagram for NH<sub>3</sub>, building on the result we obtained with triangular H<sub>3</sub><sup>+</sup>. :[[file:ammonia MO diagram.jpg|left|600px|molecular orbital diagram for the ammonia molecule]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> ''Notes on the MO diagram for ammonia:'' *Viewed end-on, a p-orbital or an sp<sub>x</sub> hybrid orbital looks just like an s-orbital. Hence we can use the solutions we developed with s-orbitals (for H<sub>3</sub><sup>+</sup>) to set up the σ bonding and antibonding combinations of nitrogen sp<sup>3</sup> orbitals with the H 1s orbitals. *We now construct the sp<sup>3</sup> hybrid orbitals of the nitrogen atom and orient them so that one is “up” and the other three form the triangular base of the tetrahedron. The latter three, by analogy to the H<sub>3</sub><sup>+</sup> ion, transform as one totally symmetric orbital (“a<sub>1</sub>”) and an e-symmetry pair. The hybrid orbital at the top of the tetrahedron also has a<sub>1</sub> symmetry. *The three hydrogen 1s orbitals also make one a<sub>1</sub> and one (doubly degenerate) e combination. We make bonding and antibonding combinations with the nitrogen orbitals of the same symmetry. The remaining a<sub>1</sub> orbital on N is non-bonding. The dotted lines show the correlation between the basis orbitals of a<sub>1</sub> and e symmetry and the molecular orbitals *The result in the 8-electron NH<sub>3</sub> molecule is '''three N-H bonds''' and '''one lone pair''' localized on N, the '''same as the valence bond picture''' (but much more work!). <br /> <br /> '''P<sub>4</sub> molecule and P<sub>4</sub><sup>2+</sup> ion:''' By analogy to NH<sub>3</sub> we can construct the MO picture for one vertex of the P<sub>4</sub> tetrahedron, and then multiply the result by 4 to get the bonding picture for the molecule. An important difference is that there is relatively little s-p hybridization in P<sub>4</sub>, so the lone pair orbitals have more s-character and are lower in energy than the bonding orbitals, which are primarily pσ. <br /> ''P<sub>4</sub>: 20 valence electrons'' :[[file:P4 MO diagram.jpg|left|450px|molecular orbital scheme for the P4 molecule]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Take away 2 electrons to make P<sub>4</sub><sup>2+</sup><br /> Highest occupied MO is a bonding orbital → ''break one bond, 5 bonds left'' Square form relieves ring strain, (60° → 90°)[[file:P42+structure.jpg|left|250px|structure of the P42+ion]] <br /> <br /> <br /> <br /> 2 π electrons :aromatic (4n + 2 rule) <br /> <br /> ==&#160;&#160;2.9 Homology of σ and π orbitals in MO diagrams== The '''ozone molecule''' (and related 18e molecules that contain three non-H atoms, such as NO<sub>2</sub><sup>-</sup> and the allyl anion [CH<sub>2</sub>-CH-CH<sub>2</sub>]<sup>-</sup>) is an example of '''3-center 4-electron''' π-bonding. Our MO treatment of ozone is entirely analogous to the 4-electron H<sub>3</sub><sup>-</sup> anion. We map that solution onto this one as follows: :[[file:ozone-pi-MOs.jpg|left|500px|constructing the ozone π-system by analogy to H3-]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> [[File:Roald_Hoffmann.jpg|right|200px|thumb|Professor Roald Hoffmann's ideas about orbital symmetry have helped explain the bonding and reactivity of organic and organometallic molecules, and also the structures and properties of extended solids.]] <br /> <br /> The nonbonding π-orbital has a node at the central O atom. This means that the non-bonding electron pair in the π-system is shared by the two terminal O atoms, i.e., that the formal charge is shared by those atoms. This is consistent with the octet resonance structure of ozone. <br /> This trick of mapping the solution for a set of s-orbitals onto a π-bonding problem is a simple example of a broader principle called the [[w:Isolobal_principle|'''isolobal analogy''']]. This idea, developed extensively by [[w:Roald Hoffmann|Roald Hoffmann]] at Cornell University, has been used to understand bonding and reactivity in organometallic compounds.<ref>{{cite journal|author1=Hoffmann, R.|authorlink1 = Roald Hoffmann|journal=[[w:Angewandte Chemie International Edition|Angew. Chem. Int. Ed.]] |title=Building Bridges Between Inorganic and Organic Chemistry (Nobel Lecture)|year=1982|volume=21|issue=10|pages=711&ndash;724|DOI=10.1002/anie.198207113|url=http://nobelprize.org/nobel_prizes/chemistry/laureates/1981/hoffman-lecture.pdf}}</ref> In the isolobal analogy, symmetry principles (as illustrated above in the analogy between H<sub>3</sub><sup>-</sup> and ozone) are used to construct MO diagrams of complex molecules containing d-frontier orbitals from simpler molecular fragments. <br /> <br /> <br /> '''The triiodide ion.''' An analogous (and seemingly more complicated) case of 3-center 4-electron bonding is '''I<sub>3</sub><sup>-</sup>'''. Each I atom has 4 valence orbitals (5s, 5p<sub>x</sub>, 5p<sub>y</sub>, 5p<sub>z</sub>), making a total of 12 frontier orbitals, and the I<sub>3</sub><sup>-</sup> anion has 22 electrons. <br /><br /> We can simplify the problem by recalling two periodic trends: *The s-p orbital splitting is large, relative to the bond energy, after the second row of the periodic table. Thus, the 5s orbital is low in energy and too contracted to make bonds with its neighbors. *π-overlap of 5p orbitals is very weak, so the 5p<sub>x</sub> and 5p<sub>y</sub> orbitals will also be non-bonding.<br /> This leaves only the three 5p<sub>z</sub> orbitals to make bonding/nonbonding/antibonding combinations. Again, the problem is entirely analogous to ozone or H<sub>3</sub><sup>-</sup>. :[[file:triiodide frontier orbitals.jpg|left|450px|constructing the I3- MO diagram from frontier 5pz orbitals]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Counting orbitals we obtain 9 lone pairs from the nonbonding 5s, 5p<sub>x</sub>, and 5p<sub>y</sub> orbitals, as well as one bond and one lone pair from the 5p<sub>z</sub> orbital combinations above. The total of 10 nonbonding pairs and one bond accounts for the 22 electrons in the ion. The non-bonding 5p<sub>z</sub> pair is localized on the terminal I atoms, giving each a -1/2 formal charge. This MO description is entirely consistent with the octet no-bond resonance picture of I<sub>3</sub><sup>-</sup> that we developed in Chapter 1. <br /> :[[File:octet triiodide.jpg|340px|left]] <br /> <br /> <br /> <br /> <br /> <br /> ==&#160;&#160;2.10 Chains and rings of π-conjugated systems== :[[File:Ethene-2D-flat.png|left|80px|ethylene molecule]] <br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ethylene: The π system is analogous to σ-bonding in H<sub>2</sub> <br /> <br /> <br /> :[[File:H2-ethylene analogy.jpg|left|250px|homology of H2 and ethylene orbitals]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Viewed from the top or bottom, the ethylene π-orbitals look like the H<sub>2</sub> σ orbitals. Thus we can map solutions from chains and rings of H atoms onto chains and rings of π-orbitals (as we did for the three-orbital case of O<sub>3</sub>).<br /> '''Chains and rings of four H atoms or π-orbitals (H<sub>4</sub> or butadiene):''' :[[File:H4_MO_diagram.png|left|400px|thumb|MO diagram for H4 or butadiene]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> ''A few notes about this MO diagram:'' *In the linear form of the molecule, the combination of AOs makes a ''ladder'' of evenly spaced energy levels that alternate g – u – g – u …. Each successive orbital has one more node. This is a general rule for linear chains of σ or π orbitals with even numbers of atoms. *In the cyclic form of the molecule, there is one non-degenerate orbital at the bottom, one at the top, and a ladder of doubly degenerate orbitals in between. This is also a general rule for cyclic molecules with even numbers of atoms. This is the origin of the '''4n+2 rule''' for aromatics. *H<sub>4</sub> has four valence electrons, and by analogy butadiene has four π-electrons. These electrons fill the lowest two MOs in the linear form of the molecule, corresponding to two conjugated π-bonds in butadiene (H<sub>2</sub>C=CH-CH=CH<sub>2</sub>). *In the cyclic form of the molecule, the degenerate orbitals are singly occupied. The molecule can break the degeneracy (and lower its energy) by distorting to a puckered rectangle. This is a general rule for '''anti-aromatic''' cyclic molecules (4n rule). Thus ''cyclobutadiene should be anti-aromatic'' and have two single and two double bonds that are not delocalized by resonance. <br /> :[[File:cyclobutadiene antiaromaticity.jpg|left|250px|antiaromaticity of cyclobutadiene]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Cyclobutadiene is actually a very unstable molecule because it polymerizes to relieve ring strain. Sterically hindered derivatives of the molecule do have the puckered rectangular structure predicted by MO theory. <br /> <br /> '''Benzene π-orbitals:''' How do we get from a 4-atom to 6-atom chain? <br /> By analogy to the process we used to go from a 2-atom chain to a 4-atom chain, we now go from 4 to 6. We start with the orbitals of the 4-atom chain, which form a ladder of g and u orbitals. Then we make g and u combinations of the two atoms that we are adding at the ends. By combining g's with g's and u's with u's, we end up with the solutions for a string of 6 atoms. Closing these orbitals into a loop gives us the π molecular orbitals of the benzene molecule. The result is three π bonds, as we expected. Benzene fits the 4n+2 rule (n=2) and is therefore aromatic. :[[File:benzene pi orbitals.jpg|left|500px|constructing the pi MOs of benzene]] <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Here we have used the isolobal analogy to construct MO diagrams for π-bonded systems, such as ethylene and benzene, from combinations of s-orbitals. It raises the interesting question of whether the aromatic 4n+2 rule might apply to s-orbital systems, i.e., if three molecules of H<sub>2</sub> could get together to form an aromatic H<sub>6</sub> molecule. In fact, recent studies of hydrogen under ultra-high pressures in a diamond anvil cell show that such structures do form. A solid hydrogen phase exists that contains sheets of distorted six-membered rings, analogous to the fully connected 2D network of six-membered rings found in [[w:graphite|graphite]] or [[w:graphene|graphene]].<ref>I. Naumov and R. J. Hemley, Acc. Chem. Res. 47, 3551–3559 (2014) [http://pubs.acs.org/doi/abs/10.1021/ar5002654 dx.doi.org/10.1021/ar5002654].</ref> Anions with six π electrons in square four-membered rings are also aromatic. Examples are the dianion of cyclobutane, C<sub>4</sub>H<sub>4</sub><sup>2-</sup>, as well as the group 15 anions Bi<sub>4</sub><sup>2-</sup>, Sb<sub>4</sub><sup>2-</sup>, As<sub>4</sub><sup>2-</sup>, and P<sub>4</sub><sup>2-</sup>.<ref>F. Kraus et al., Angew. Chem. Int. Ed. 2003, 42, 4030–4033. http://dx.doi.org/10.1002/anie.200351776.</ref> <br /> <br /> It should now be evident from our construction of MO diagrams for four- and six-orbital molecules that we can keep adding atomic orbitals to make chains and rings of 8, 10, 12... atoms. In each case, the g and u orbitals form a ladder of MOs. At the bottom rung of the ladder of an N-atom chain, there are no nodes in the MO, and we add one node for every rung until we get to the top, where there are N-1 nodes. Another way of saying this is that the ''wavelength'' of an electron in orbital x, counting from the bottom (1,2,3...x,...N), is 2Na/x, where a is the distance between atoms. We will find in Chapters 6 and 10 that we can learn a great deal about the electronic properties of metals and semiconductors from this model, using the infinite chain of atoms as a model for the crystal. <br> <br> ==&#160;&#160;2.11 Discussion questions== [[File:Ferrocene-2D.png|thumb|70px|Ferrocene]] * Derive the molecular orbital diagrams for linear and bent H<sub>2</sub>O. * Explain why the bond angles in H<sub>2</sub>O and H<sub>2</sub>S are different. * We have derived the MO diagrams for the pi-systems of four- and six-carbon chains and rings. Repeat this exercise for a 5-carbon chain and 5-carbon ring (e.g., the cyclopentadienide anion), starting from the MO pictures for H<sub>2</sub> and H<sub>3</sub>. This tricky problem helps us understand the electronic structure of [[w:ferrocene|ferrocene]], and was the subject of a Nobel prize in 1973. ==&#160;&#160;2.12 Problems== 1. The ionization energy of a hydrogen atom is 1312 kJ/mol and the bond dissociation energy of the H<sub>2</sub><sup>+</sup> molecular ion is 256 kJ/mol. The overlap integral S for the H<sub>2</sub><sup>+</sup> molecular ion is given by the expression S = (1 + R/a<sub>0</sub> + R<sup>2</sup>/3a<sub>0</sub><sup>2</sup>)exp(-R/a<sub>0</sub>), where R is the bond distance (1.06 Å) and a<sub>0</sub> is the Bohr radius, 0.529 Å. What are the values of α and β (in units of kJ/mol) for H<sub>2</sub><sup>+</sup>? 2. Compare the bond order in H<sub>2</sub><sup>+</sup> and H<sub>2</sub><sup>-</sup> using the molecular orbital energy diagram for H<sub>2</sub>. The bond dissociation energy of the H<sub>2</sub><sup>-</sup> ion is 156 kJ/mol, while that for H<sub>2</sub><sup>+</sup> is 256 kJ/mol. Is this what you would expect based on the bond orders? Why is the bond dissociation energy of H<sub>2</sub><sup>-</sup> so much less than that of H<sub>2</sub><sup>+</sup>? 3. What is the bond order in HHe? Why has this compound never been isolated? 4. Would you expect the Be<sub>2</sub><sup>+</sup> molecular ion to be stable in the gas phase? What is the total bond order, and how many net σ and π bonds are there? 5. Give a plausible explanation for the following periodic trend in F-X-F bond angles for gas-phase group 6 difluoride (XF<sub>2</sub>) molecules. (Hint - it has something to do with a trend in s- and p-orbital energies; see Chapter 1, section 1.2) {| class="wikitable" |- ! Compound !! F-M-F angle (degrees) |- | OF<sub>2</sub> || 103 |- | SF<sub>2</sub> || 99 |- | SeF<sub>2</sub> || 97 |- | TeF<sub>2</sub> || 95 |} 6. The most stable allotrope of oxygen is O<sub>2</sub>, but the analogous sulfur molecule (S<sub>2</sub>) is unstable relative to the S<sub>8</sub> allotrope. Explain why. 7. Using molecular orbital theory, show why the H<sub>3</sub> molecule has a triangular (or bent) rather than linear shape. 8. Use MO theory to determine the bond order and number of unpaired electrons in (a) O<sub>2</sub><sup>-</sup>, (b) O<sub>2</sub><sup>+</sup>, (c) NO<sup>+</sup>, and (d) NO<sup>-</sup>. Estimate the bond lengths in NO<sup>-</sup> and NO<sup>+</sup> using the Pauling formula and the bond length in the neutral NO molecule (1.151 Å). 10. Compare the results of MO theory and valence bond theory for describing the bonding in (a) CN<sup>-</sup> and (b) neutral CN. According to MO theory, is it possible to have a bond order greater than 3 in a second-row diatomic molecule? 11. The neutral BN molecule is stable only in the gas phase. This molecule polymerizes to form solid boron nitride, which exists in both graphitic and ultra-hard diamond-like forms. Draw the molecular orbital energy diagram for the BN molecule. Determine the sigma and π bond orders and the number of unpaired electrons. 12. The bond distance in the gas phase BN molecule is 1.44 Å. Using the Pauling formula and the bond order you determined in Problem 11, calculate the B-N bond order in ammonia borane (H3B-NH3) where the bond distance is 1.658 Å. Does your calculation agree with expectated B-N bond order from valence bond theory? 13. Draw the MO diagram for the linear [FHF]<sup>-</sup> ion. The only orbitals you need to worry about are the frontier orbitals, i.e., the H 1s and the two F sp<sub>z</sub> hybrid orbitals that lie along the bonding (z) axis. What is the order of the HF bonds? What are the formal charges on the atoms? 14. The cyclooctatetraene (cot) molecule (picture a stop sign with four double bonds) has a puckered ring structure. However in U(cot)<sub>2</sub>, where the oxidation state of uranium is 4+ and the cot ligand has a formal charge of 2-, the 8-membered rings are planar. Why is cot<sup>2-</sup> planar? 15. Draw the following '''atomic''' orbitals, including different shading for different phases, the x, y, and z axes, and the name of the orbital.  Number them in order of energy, with the lowest energy orbital being #1, and increasing numbers as energy increases. Cutaway views are not necessary, just draw the surface. 3d<sub>x2-y2</sub>, 2p<sub>x</sub>, 3d<sub>z2</sub>, 3s, 3p<sub>y</sub>, 3d<sub>xz</sub>, 3d<sub>yz</sub>. 16. Draw the following '''molecular''' orbitals, including different shading for different phases, and the name of the orbital.  Number them in order of energy, with the lowest energy orbital being #1, and increasing numbers as energy increases. 1 <big>σ<sub>2p</sub></big> orbital, 2 different π*<sub>2p</sub> orbitals, 1 <big>σ*<sub>2s</sub></big> orbital, 1 <big>σ<sub>1s</sub></big> orbital, 1 <big>σ*<sub>2p</sub></big> orbital. 17. Draw a Walsh diagram showing how the MO diagram changes going from a linear to a bent H-X-H molecule (where X is a second-row element such as Be, B, C, N, or O). Use this diagram to predict whether the H<sub>2</sub>O molecule is linear or bent. Does the total bond order agree with the valence bond picture for H<sub>2</sub>O ? ==&#160;&#160;2.13 References== {{reflist|colwidth=30em}} {{BookCat}} alq663rodw1oqblrn47gb1xk3b3k58e Living in a Connected World/Persistent Connectivity and the Fear of Missing Out 0 381170 4444300 4431777 2024-11-10T15:06:08Z ReneeWrites 3296578 ([[c:GR|GR]]) [[File:Bundesarchiv Bild 183-62162-0009, Feier in einem Kulturhaus.jpg]] → [[File:Bundesarchiv Bild 183-62162-0009, Feier in einem Kulturhaus (cropped).jpg]] 4444300 wikitext text/x-wiki ==Introduction== {{Drop|T}}his chapter aims to discuss the key academic concepts and theories behind the development of persistent connectivity and the fear of missing out respectively. To achieve this, we have split the chapter into key sections and within these further sub-headings which we feel will aid our investigation into this broad subject; there are many angles from which this subject can be approached and it is our aim to cover these angles by setting the chapter out in this way. The main focus areas can be found in our [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Main_Concepts Main Concepts] section from which one can navigate to their areas of interest. ==Main Concepts== <br> In order to gain an understanding of this topic, it is important to first determine what is meant by [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Fear_of_Missing_Out The Fear of Missing Out] (FoMO). The section regarding this will look into the history of this concept starting with when it was first introduced. It will discuss some of the previous studies that have been concerned with the fear of missing out including the motivational, emotional, and behavioral correlates of fear of missing out and additionally, the connection between alcohol and FoMO. In regards to the persistent connectivity and the fear of missing out that is becoming more and more normalized in todays society, we will be talking about [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#The_Development_of_the_Internet The Development of the Internet] and technological advances that have happened throughout the past couple of decades. This allows us to see the changes not only to the ways in which we function socially but also the way that new technology and persistent connectivity has changed the ways in which our businesses function and go into depth about the [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Current_Uses_of_the_Internet Current Uses of the Internet.] We will then go on to talk about the [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Always_on_Culture Always on Culture] that has come to light in the last decade, with the surge in mobile technology and ongoing access to the internet anywhere people go. This always on culture is then linked to the effects that our persistent connectivity may have on our internal and external selves. We talk about the [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Internal_Effects Internal Effects] in which we discuss the ways in which our internal identity can be altered by the web through the creation of "mini performances" which means to say that we create a different version of ourselves for presentation purposes. We then go on to talk about "the google effect" which suggests that our brain has changed due to evolving technology in that we no longer store information in the way we used to. Also within the chapter we touch on the tethered self and the creation of identity through new media sites. The [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#External_Effects External Effects] of the Web are then discussed by talking about how our social interactions have been altered by the development of mobile technology and the ways in which persistent connectivity has changed our view of what is acceptable and what is not. In this section, we also discuss mobile privatization and the ways in which how much we share with people has changed largely since the introduction of social media. In the final section we look at ideas from a key sociologist, Erving Goffman, as we explore his theory - [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Goffman.27s_Mask Goffman's Mask] - of using different personas and masks to portray ourselves depending on the circumstance. This is an important aspect to acknowledge when we consider the ways in which we connect with others on the internet. We will talk about how these personas create a range of meanings and attitudes in the topic of persistent connectivity online and also how these changes can be identified in regard to the fear of missing out. == The Development of the Internet == === Before 1970 === Before 1970, individual researchers developed the technologies, including queuing theory involving probabilities, packet switching, and routing. Leonard Kleinrock pioneers the packet-switching concept in his Massachusetts Institute of Technology. [[File:J. C. R. Licklider.jpg|thumb|Joseph Carl Robnett Licklider]] In 1962, J.C.R. Licklider argued that, within a few years, computers would become sufficiently powerful to cooperate with humans in solving scientific and technical problems. He conceived the Intergalactic Network, a concept really close to what the Internet is today. In 1965, ARPA(Advanced Research Projects Agency) sponsored a study on « cooperative network of time-sharing computer ». === 1970's === During the 1970s, experimental networks, notably the ARPANET, were constructed. Dr. David Clarck implements Internet protocols for the Multics systems, the Xerox PARC ALTO and the IBM PC. In 1972, the first email was sent by Ray Tomlinson. The « @ » sign was chosen to separate local from global emails: « user@host.com ». === 1980's === The Internet protocol is introduced in 1984, it gives an address (IPV4) that provide us a IP number for each computer so we can connected. This protocol sends packets one after an other from transmitter’s IP number to the receptor’s IP number. The Transmission Control Protocol has the role of checking if the packet sent to the receptor arrived. Macintosh introduced some essential elements of the computer: the graphic interface, a design software and a word processing software. A new stage appear, the computer technology goes from a means of monitoring, and tracking (Big Brother) to a tool that can benefit to humans. The Internet became a tool and a way of express their liberty. The same year, Stewart brand, a journalist interested in informatics, created a virtual community named The WELL with the involvement of 600 persons. People discovered conversations online: they could express themselves through internet by sending messages and waiting answers. [[File:Stewart Brand at TED (8555329924).jpg|thumb|left|Stewart Brand]] William Gibson write a science fiction book, the Notion of cyberspace appeared in his book. He conceptualized data base, approach the notion of hackers. Researchers try to inspire from its book to make more researches. In the mid-1980s, hundreds of thousands of workers at IBM were using electronic networks for e-mail and file transfers, the banks were performing electronic funds transfer. The first network gateways between U.S. and Europe was established by Lawrence Landweber. First U.S developed the network to allow access to Education: Dr. Stephen Wolff leads the development of NSFNET (National Science Foundation Network) to support research and higher education.The global Internet extend, about 25 countries were connected to the NSFNET. === 1990's === In the 1990s, the invention of the web made it much easier for users to access informations. Linux, the operating system is created with a graphical interface. In 1991, for the first time the World Wide Web is made available to the public thanks to Tim Berners-Lee and Robert Cailliau. Through this major step, a browser called Mosaic appear and helps popularize the WWW (World Wide Web) among the general public. The first blog was created in 1998, the web publishing tool are available for non-technical users to express themselves. Between 1995 and 2000, the Dotcom bubble<ref>https://books.google.co.uk/books/about/Rise_and_Burst_of_the_Dotcom_Bubble.html?id=7UOykx3ntYMC&redir_esc=y</ref>, also known as the Internet bubble, referred to the period in which investors look to the market of Internet. Investors pumped their money into startups and Internet companies and hope those investments will turn into profit. The Dot Com bubble burst, investitures reduced or cut funding, some of the Internet companies failed. Amazon.com was launched in 1995 during the Dotcom bubble, but the company persevered and decide to chose a slow growth strategy to stay in business.<ref>https://books.google.co.uk/books?id=4eICEV1uN7gC&dq=inauthor:%22Mats+Lindgren%22&hl=fr</ref> === 2000's === The early 21st century was marked by the famous virus called I LOVE YOU<ref>https://books.google.co.uk/books?id=cd9vBAAAQBAJ&pg=PT66&lpg=PT66&dq=i+love+you+virus+academic&source=bl&ots=U3TeMOo2Pg&sig=YUBvvxCbdVQFkjNVQToOuFvbWhE&hl=fr&sa=X&ved=0ahUKEwiU1JvdmsDSAhViLcAKHaURCk0Q6AEIQjAF#v=onepage&q=i%20love%20you%20virus%20academic&f=false</ref> or LOVEBUG. It infected 15 million computers and caused damage estimated at $5 billion. This virus was sent by email to Outlook inboxes, the subject of this email was: « ILOVEYOU » to make people believe that the email was a love letter, in the email there was an attachment named « love-letter-for-you ». Victims of this virus lost their files and their usernames and passwords were sent to the virus’ s creator. In 2001, Microsoft launched the operating system Windows XP, increasing the ease of access to the Web for the general public. The internet has grown substantially between 2000 and 2010, there were only 361 million Internet users in 2000 in the entire world, 10 years later, that number increased to 1,967 million in the world<ref>http://www.internetworldstats.com/emarketing.htm </ref>. The internet became more spread out, with a user number increase of 444, 9 % in 10 years. Which country's internet population has grown the most between 2000 an 2010? {| class="wikitable" |- ! Country !! New Internet users since 2000 !! Relative growth |- | China || 397.5 million || 1767% |- | United States || 144.1 million || 152% |- | India || 76.0 million || 1520% |- | Brazil || 70.9 million || 1419% |- | Russia || 56.6 million || 1826% |- | Japan || 52.1 million || 111% |- | Nigeria || 43.8 million || 21891% |- | Germany || 41.1 million || 171% |- | France || 36.1 million || 425% |- | United Kingdom || 36.0 million || 234% |} Blogging and social media began to explode in popularity since the early 2000’s, Friendster was founded in 2002 and became known as the first modern general social network. In 2003 LinkedIn was founded, it was one of the first social networks devoted to business, MySpace started the same year and was followed by websites to facilitate photo sharing like Photobucket and Flickr. Facebook and Twitter both became available in 2006 to public users. Today, there are thousands of social media platforms, all serve a different interest: photography, dating, business, videos, and social communities. E-commerce has also been developed, companies now provide online food ordering, media streaming in a fully online marketplace. == Current Uses of the Internet == === Business Uses === Nowadays, organisations are more likely to use some sort of social media in their marketing practices. With the coming of social media it means that companies now have a much farther reach in terms of raising awareness of their brand as well as identifying new potential customers. [[File:Business use of social media in the UK.png|thumb|Business use of social media in the UK]] According to this chart developed by Christine Moorman in “The CMO Survey”, the average percentage of firms using social media in their marketing activities is over 80%. <ref>http://bootcampdigital.com/81-of-firms-are-using-social-media-for-marketing-cmo-survey/ Percentage of Firms Using Social Media in their Marketing Activities</ref> This information makes it clear that social media must be a very strong tool in regards to business success. With collective monthly views of 2.8 billion on Facebook, Instagram and Twitter <ref>https://www.statista.com/statistics/272014/global-social-networks-ranked-by-number-of-users/ Statistics of monthly users on Social Platforms</ref> it is understandable the appeal for organisations to use the platforms in increasing their success and profits. The development of targeted advertisements on platforms, such as Facebook and twitter, it is now easier to target specific customers based on their likes and dislikes on the platform. This ensures that the organisation is only targeting potential customers and not wasting time on advertising to people that simply wouldn't be interested in the products or services on offer. With targeted advertising now being easily accessible to the majority of businesses including small independently own companies it is a very cheap and effective way of advertising your products or services without breaking the bank. All Instagram users now have the option to transfer their profiles to business profiles making it easier for customers to get in contact or interact with their website, also on Facebook you have an option to create a page for your business which gives the option to completely cut out the need to have a website at all again cutting costs for smaller businesses that may not have the funds to afford running a website. Along with targeted marketing and cutting costs social media can also act as a customer touchpoint, which is when the organisation is given the opportunity to interact with their customers on a personal level. It can be seen that a lot of companies now use their social accounts as a point of customer service, often aiding customers with problems and responding to complaints. However, this can have a negative affect on the business as as well as it’s upsides social media also allows for negative comments and complaints to spread a lot quicker than they would when social media wasn't around. === Social Uses === We have already established that the number of users on social media is now in the billions but why do people use these platforms? There are various social reasons that people tend to gravitate towards social platforms a study done by Anita Whiting and David Williams <ref>http://www.emeraldinsight.com/doi/abs/10.1108/QMR-06-2013-0041 Why People Use Social Media: Uses and Gratifications</ref> which identified ten uses and gratification of using social media after carrying out 25 interviews. The ten uses and gratifications identified were: [[File:Bundesarchiv Bild 183-62162-0009, Feier in einem Kulturhaus (cropped).jpg|thumb|Social Gathering]] *Social interaction *Information Seeking *Pass time *Entertainment *Relaxation *Expression of opinions *Communicatory utility *Convenience utility *Information sharing *Knowledge about others '''Social Interaction''' is one of the key current uses of social media, Melissa Leiter says “Social media comes down to a simple basic human desire: the need to connect with other humans, to be part of a group” <ref>http://www.socialmediatoday.com/content/why-do-people-use-social-media Why do People Use Social Media?</ref> and since many social media sites accommodate for the forming of communities and allows people to find others with the same interests as a much larger scale than you could have before the development of the internet it is easy to see how the natural instinct to connect with others would be enhanced. A lot of the more well known social media sites are designed solely for the purpose of social interaction, hence the term '''"social networking sites"'''. Facebook is primarily used to communicate with people, with being able to comment on status', pictures and on people's personal pages, it's all about being social. Facebook also has a private messaging service, making it even easier and more accessible to have constant communication with peers, following the '''Web 2.0''' concept (which you can read more about in [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Internal_Effects Internal Effects]). A social use that seems to becoming more and more popular in modern society and with the rise of the internet is that of '''online dating''', which we wish to further explore here. [[File:Tinder.png|thumb|Tinder Logo]] In the digital age, '''online dating''' has become more and more common with the invention of sites such as Tinder, Grindr (for LGBTQ+ people) and Match.com - to name just a few. Using such sites has a fair amount of appeal to individuals, of course they are easily accessible, involve little effort unless you pursue a relationship and move it to in-person dating, and for many people, the idea that they can be less honest about themselves than they may be when meeting in 'real life', as they can essentially create any type of personality that they like for themselves, even one that holds no similarity to their real self whatsoever by using different pictures, a different name and so on. This is not exactly moral however it is more common than one would think and even has a name - [https://en.wikipedia.org/wiki/Catfishing Catfishing]. However Wagatwe Wanjuki (2005)<ref>http://www.upworthy.com/researchers-studied-the-impact-of-online-dating-on-relationships-heres-what-they-found</ref> discusses the more positive aspects of social media in her article on online dating. She discusses some studies that she has researched which state that online dating is just as, if not more, successful than real life dating (as found by Stanford University, 2012). It is also beneficial to many as it widens the dating pool, so if they are from a small area they have a wider variety of people to connect with online. This shows how using the internet for social uses can be a helpful for many people in a variety of situations. '''Information Seeking''' refers to people self-educating from the vast amounts of information available on the internet. The internet has allowed vast amounts of information readily available at our fingertips which was previously a trip to the library to get your hands on. This has encouraged people to take to the internet in order to find out any information they need whether that be for school, work or a simple piece of general knowledge, which is great in terms of easy access but could be making us too reliant on this form of research. The Kaspersky Lab states that, “we don't commit data to memory because of the "Google Effect" – we're safe in the knowledge that answers are just a click away, and are happy to treat the web like an extension to our own memory”. Like Web 2.0, you can read more about the “Google Effect” in [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Internal_Effects Internal Effects]. '''Pass Time''' is an obvious reason to use social media and the internet in general as nowadays people find it hard to be doing nothing and in need for constant stimulation, Philip Karahassan, a psychologist says after looking at his own uses of smartphone technology he often found himself using his smartphone when he was “at a loss of things to do” and says that this results in to miss out on actual thoughts and experiences <ref>http://www.therapyin.london/constant-stimulation/ Is the Physical World not Enough?</ref> '''Entertainment''' is a huge factor of the internet as since the internet has revolutionised the way we play games and consume movies, TV and other forms of entertainment. The internet has allowed gaming to be collaborative as your gaming experiences can now be shared with others through “Live Gaming”. The amount of young boys that play games with others on the internet is around 50% <ref>https://www.internetmatters.org/parental-controls/entertainment/ Entertainment and Search Engines</ref> which shows the popularity of the internet for this use. Nowadays, most entertainment mediums are accessible to anyone with a computer, the ability to download and stream games, films and television programmes has allowed people to consume forms of entertainment at their leisure without having to go out and visit a game shop or DVD store which is a very common practice for internet users as can be seen in “Our Survey on Social Uses” where the majority of answerers, 64%, used the internet in this way. '''Relaxation''' is a less common use of the internet scoring a mere 21% of our survey participants using it for this reason however, much like using the internet for entertainment it is the same types of activities that can also act as uses for relaxation. For example, winding down after a long day by watching a funny video could be seen as a reward of hard work and an aid in relaxation to get the stresses of the day out of mind. Watching a funny video clip, streaming relaxing musics or downloading a film to watch can offer that relaxing break that people need but this also combines with using the internet for entertainment. '''Expression of Opinions''' can relate to the sharing of statuses about current events or even just something that you have an opinion about. Many people choose not to share too many opinions as it can often lead to backlash from other social users however their are some people that can get away with the sharing of opinions and it is encouraged that they do so. A key group who uses social media for social purposes (i.e. engagement with their fans) are celebrities, and they tend to have huge audiences. However there can be repercussions of this as things can often be misinterpreted online and this causes issues, adding more to the list of dangers that we can encounter when using these online platforms, most recently the Harry Potter star, Emma Watson received backlash on a recent photoshoot and her self proclaimed “feminist” status was questioned by many people online. Emma Watson then responded to the backlash with the statement, “Feminism is not a stick with which to beat other women with” <ref>https://www.aol.com/article/entertainment/2017/03/06/emma-watson-vanity-fair-topless-photo-shoot-controversy/21874456/ Emma Watson Vanity Fair Controversy</ref>, this is a key example of the power of opinions on social media. '''Communicatory Utility''' involves using platforms like Facebook Messenger, WhatsApp and iMessage in order to communicate with friends. The main attraction of these services is that internet messaging systems allow you to contact someone for free (if at a free wi-fi hotspot) as well as being able to contact someone from all parts of the world. As previously discussed in the “Social Interaction” section, forming online communities on social media can often lead to meeting people from different countries which before the internet would include a cost at communicating to but using messaging systems allows you to communicate essentially for free. An example of '''Convenience Utility''' in the Whiting & Williams research paper was the idea of the ‘convenience of online shopping’ which is a popular use of the internet nowadays. A staggering 41% of purchases are being made online <ref>http://fortune.com/2016/06/08/online-shopping-increases/ Online Shopping Increases</ref> showing the popularity of the activity. The convenience lies in the fact that customers can access online shopping 24 hours a day and whenever suits them, as well as the ease of accessibility shoppers also have access to products from around the world which would not have been available before the internet <ref>http://recursostic.educacion.es/secundaria/edad/3esoingles/3quincena9/impresos/shopping_trends.pdf Benefits of Online Shopping</ref>. '''Information Sharing''' refers to the act of posting information about you to others. This can include sharing pictures of your holiday or writing a status update about what you're doing, each day over 55 million status updates are made each day on Facebook <ref>https://blog.kissmetrics.com/facebook-statistics/ Facebook Statistics</ref> and an average of 52 million photos are posted to instagram <ref>http://www.statisticbrain.com/instagram-company-statistics/ Instagram Statistics</ref>. Although information sharing is one of the least popular uses of the internet according to our social uses survey, a study done at the University of Arizona concluded that when people were posting statuses they essentially felt less lonely even if their statuses were not getting engaged with by their peers. However along side that was the sad truth that when seeing other friends statuses were being “liked” and responded to more caused the subjects to feel as if they didn't belong <ref>https://blog.bufferapp.com/psychology-of-facebook Psychology of Facebook</ref>. This is caused by [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Fear_of_Missing_Out the Fear of Missing Out]. '''Knowledge About Others''' is essentially being “nosey” and going through peoples profiles or keeping up to date with their statuses, etc. A blog written by Professor Laura Portwood-Stacer states that social media “has eradicated the geographical barriers of privacy” <ref>https://csmt12.wordpress.com/tag/voyeuristic-tendencies/ Voyeuristic Tendencies</ref> making it so easy for us to find out a variety of information on someone just by scrolling though their social media profiles, you can find out what they had for lunch and where they had it or what movie they went to see and who with. The information on people that can be derived from social media is endless, of course that can be down to the problem with “Information Sharing” or again [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Fear_of_Missing_Out the Fear of Missing Out]. '''Our Survey on Social Uses''' To aid our knowledge and research into this subject, we decided to carry out a survey to observe what social media sites were most commonly used, and the key reasons (based on Whiting and Williams'<ref>http://www.emeraldinsight.com/doi/abs/10.1108/QMR-06-2013-0041 Why People Use Social Media: Uses and Gratifications</ref> uses of gratification) that they used said sites. The results were as follows (note, the results are based on the response of 100 people); {| class="wikitable" |- ! What is Your Age? !! Answer |- | 18-24 || 73% |- | 25-34 || 7% |- | 35-44|| 6% |- | 45-54|| 12% |- | 55-64|| 1% |- | 65-74 || 1% |- | 75 or older || 0% |} {| class="wikitable" |- ! Why Do You Use Social Media? !! Answer |- |Social Interaction || 79% |- |Information Seeking (self educating) || 37% |- |Pass Time || 83% |- |Entertainment || 64% |- |Relaxation || 21% |- |Expression of Opinions || 18% |- |Communication (messenger etc) || 83% |- |Convenience (easily accessed) || 29% |- |Information Sharing || 35% |- |Surveillance/Knowledge || 43% |} {| class="wikitable" |- ! How Often Do You Use Social Media? !! Answer |- | Extremely Often || 54% |- | Very Often || 38% |- | Moderately Often || 7% |- | Slightly Often || 1% |- | Not at All Often || 0% |} {| class="wikitable" |- ! Which of the Following Social Networking Sites do you Use Most Often? !! Answer |- | Facebook || 92% |- | Google+ || 11% |- | Snapchat || 55% |- | Instagram || 60% |- | Twitter || 33% |- | Other || 12% |} There are quite a few points that we can consider from the retrieval of this information. Firstly, as one may expect we discovered that most people using social media are in the 18-24 demographic. The second largest areas of use were generated from the 45-54 category, which is rather intriguing. An article by Eleanor Doughty (2015)<ref>http://www.telegraph.co.uk/goodlife/11751851/Facebook-is-the-most-popular-social-network-for-the-over-50s.html/ Facebook is the Most Popular Social Network for the Over 50's.</ref> suggests that the reasons for older people using sites such as Facebook (which we saw from the survey was the most used site) is related primarily to communication. She argues that as people get older they are aware that their mobility may be decreased and therefore Facebook and Facebook Messenger becomes an extremely useful tool for them. Doughty (2015) cites Martin Lock, CEO of Silversurfers.com<ref>https://www.silversurfers.com/</ref> who states; "Being comfortable using Facebook will help older people stay connected to their families and friends, and may help alleviate loneliness in later years". Which is of course a very relevant and useful thing to keep in mind. It is often assumed that communication over online platforms is a negative thing, and some believe that it reduces personal value. However as seen here, sometimes it can greatly improve individuals lives. === Career Development Uses === The internet plays a major role in career development. The effect of persistent connectivity is discoverability, meaning a simple search of a potential employee's name yields thousands of results. This can either improve or damage a potential employee's chances of getting a job, as how one presents themselves online is an employer's best estimate of how said potential employee may represent their company. In fact, according to a study conducted by CareerBuilder, around 60% of employers look at social media profiles of potential hires. Furthermore, in the same study it was found that around a quarter of employers have actually admonished or fired current employee's due to their negative internet presence. <ref> http://www.careerbuilder.co.uk/share/aboutus/pressreleasesdetail.aspx?sd=4%2F28%2F2016&id=pr945&ed=12%2F31%2F2016 </ref> [[File:TradeMe offices.jpg|thumb|left|offices]] An example of how social media has positive effects on career building is LinkedIn, a website aimed toward aiding in employment through the use of a social media platform. This medium allows users to make a functional, high tech resume that highlights their strengths. Social media allows the user to present a particular image, and LinkedIn utilizes this feature to assist users in presenting their employability. Examples of the negative effects of social media use is outlined in Business Insider's article "13 People Who Got Fired for Tweeting". <ref> http://www.businessinsider.com/twitter-fired-2011-5?IR=T </ref> Many people have gotten fired or forced to resign due to presenting controversial opinions on social media platforms. Increased discoverability online allows employers to see anything written on social media profiles or potential or current employees, therefore how someone presents themselves online must be constantly monitored in order to prevent these negative effects. [[File:Zoella by Gage Skidmore.jpg|thumb|Zoella]] However there is a growing group of people that instead of depending on the internet to get them a job they have made a job out of their use of social media by turning themselves into social media influencers, this group of people consists of bloggers, you tubers and Instagram stars. Due to their large amount of filling on various platforms, businesses have seen this as a new marketing opportunity and sponsors an influencer that they feel best suits their brand to promote products to their many followers. A way to think about this is an update from celebrity endorsements and since the reign of social influencers is constantly expanding some industries have taken their involvement a step further as recently fashion haus Dolce & Gabana had social stars like Youtubers, [https://en.wikipedia.org/wiki/Marcus_Butler Marcus Butler] and [https://en.wikipedia.org/wiki/Jim_Chapman_(Internet_celebrity) Jim Chapman] <ref>http://www.elle.com/fashion/news/a42120/dolce-gabbana-fall-2017-mens-show-millennials/ Dolce Gabbana Fall 2017</ref> with combined 7 million subscribers, walked their mens fashion show. The use of social influencers in, what used to be extremely exclusive, fashion shows has allowed the fashion industry to get a much bigger audience as consumers are now able to see the fashion real time due to the amount of coverage of the events due to influencer attendance <ref>http://os-fashion.com/magazine/impact-of-digitial-influencers/ Impact of Social Influencers</ref>. However social influencers are breaking their way into many careers just by the use of their social accounts, music star [https://en.wikipedia.org/wiki/Justin_Bieber Justin Bieber] is another example of a success story as he was first discovered on Youtube and is now one of the youngest most successful musicians of the century so far. The most common success story is Youtube superstar [https://en.wikipedia.org/wiki/Zoella Zoella] (Zoe Sugg) who's first youtube video was her showing 50 things she had in her room, now she has over 10 million subscribers as well as three best selling books and a beauty and lifestyle range in cosmetic drug store, [https://en.wikipedia.org/wiki/Superdrug Superdrug]. These are only some of the amazing career developments achieved by the use of the internet but really show the current power of discoverability online. === Surveillance Uses === The final use of the internet fall under a very controversial heading and that is the use of the internet for surveillance. This way of using the internet can be done for a variety of reasons, as Daniel Trotter [https://www.eshcc.eur.nl/english/personal/trottier_daniel/ Daniel Trottier] discusses in his book ‘Social Media as Surveillance: Rethinking Visibility in a Converging World’ <ref name="Trottier">Trottier, D. (2012) ‘'Social Media as Surveillance: Rethinking Visibility in a Converging World’' (1st ed.). Routledge</ref> there are four primary uses of social media surveillance: [[File:Bansky one nation under cctv.jpg|left|thumb|Bansky one nation under cctv]] *Interpersonal *Institutional *Market *Policing In this book he talks about the risks of social media surveillance and how although you may feel like you have your information and security setting under control that you cannot control your peers and the organisations that control the platforms you are posting on. '''Interpersonal Surveillance''' refers back to the [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Social_Uses Social Uses] of the internet and using it for “Knowledge About Others” and how people can spy and find out a variety of information about you through these platforms. A less discussed surveillance use is '''Institutional uses''' which Trottier has taken the example of universities and schools and how they use social media in order to manage their students. He then refers to Danah Boyd’s idea of the ‘invisible audience’ <ref>http://www.danah.org/papers/2010/SNSasNetworkedPublics.pdf Danah Boyd SNS as Networked Publics</ref> in relation to the fact that students allow this type of audience, in this case their institutions, to spy on their online activities. '''Market Uses''' again refer back to the previously discussed “[https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Business_Uses Business Uses]” that are based around the use of the internet and social media in order to find out information about certain customers and use that information in product development or advertisement targeting. The final use discussed by Trottier is '''Policing''', a survey carried out in 2013 by the International Association of Chiefs of Police <ref>http://www.berkeleyside.com/wp-content/uploads/2014/02/2013SurveyResults.pdf Police Survey Results</ref> concluded that over 95% of police departments that were surveyed use social media to come extent, the most popular use was in order to solve crimes said 80% of participants. The massive amounts of information available about individuals and the things we post that we assume no one will see can come in handy for law enforcement as police can often access this information and can identify suspects from crime from small clues that we leave online. == Always on Culture == [[File:Sherry Turkle.jpg|thumbnail|left|Sherry Turkle]] "Always-On" culture is a term coined by theorists which refers to the fact that we now live in an age where we are constantly connected to technology and the internet. Whether this be from constant notifications on your phone, to having new facets of technology continually available to us, it seems impossible to break away from our virtual lives these days. Sherry Turkle, a leading theorist in this area of studies, describes us being "tethered" to technology, with information and everything our lives have come to be at the touch of a finger tip. A theorist who takes a more positive stance on the concept is danah boyd, who doesn't see this constant connection as a bad thing suggesting that it's not about being "on or off" anymore as we are always-on nowadays, it is a choice whether or not we allow ourselves to always be on - "technology doesn't simply break social conventions - it introduces new ones." Technology and social media allows us to not always be connected to a physical handset, but connected to the network, which according to boyd is the meaning of "always-on".<ref>Participation in the Always-On Lifestyle, danah boyd, featured in The Social Media Reader, Mandiberg, 2012</ref> === "Tethered" to Technology === Sherry Turkle refers to the idea of always-on culture in a somewhat critical way. She talks about the idea that we now live in a world where "madmen and women" talk to themselves, unaware of what is actually happening around them. She also goes on to explain that today's generation of teenagers are our "first view of tethering in developmental terms".<ref>Turkle, S., The Tethered Self, p.2, 2006 featured in Handbook of Mobile Communications and Social Change, Kats, J.</ref> What Turkle speaks about is the fact that we have a generation, in an important foundation-building time of life, using a technology which we are unable to identify any long-term disadvantages. However, Turkle's skepticism follows a trend more-or-less all new technologies face. From the first TV set in the domestic space, to the home computer, people have forever contested the way in which new technologies will effect society, and many also live in fear of these changes. === Availability === ==== Permanent Connectivity ==== One major way in which technology has changed our lives over the past two decades is the immense range of tech available to us at affordable prices, and therefore reaching a larger audience. From the development of the laptop portable computer, to more recent developments such as the smart watch and tablets, the vast array of accessories that are on the market cement the idea of "always-on" - you don't even have to be carrying your phone anymore to be connected, instead it can be strapped around your wrist. [[File:Apple Watch-.jpg|thumb|Apple Watch]] A 2015 study by UK survey company Ofcom reveals that 90% of 16-24 year olds now own a smartphone while the number of 55-64 year olds owning a smartphone device has more than doubled since 2012, rising from 19% to 50%. <ref>https://www.ofcom.org.uk/about-ofcom/latest/media/media-releases/2015/cmr-uk-2015</ref> [[File:Bill Clinton 5-23-16 Stockton California (27106671892).jpg|thumb|left|An older man using a smartphone at a press event]] As Turkle explains it "it assumes the existence of separate worlds, plugged and unplugged." She also speaks about being "tethered to our "always-on/always-on-us" devices" which she describes as "animate and inanimate".<ref>Turkle, S., The Tethered Self, p.2, 2006 featured in Handbook of Mobile Communications and Social Change, Kats, J.</ref> This is a bizarre yet extremely appropriate turn of phase to describe a mobile phone etc. is effective in hammering home the point that while the physical handset is just something to hold, it consumes so much of our lives that it cannot just be dismissed in such a nonchalant manner. ==== Notion of Availability ==== The notion of availability is the idea that we now live in a society where we expect to be able to reach someone instantly. We live in a society where we see no excuse not to be able to communicate at any time, and have an expectation of being constantly available. With the growth of instant messaging apps and, as mentioned previously, the growth in wearable technology, it becomes apparent that there genuinely seems to be no reason for us to not be always available. danah boyd is a social media scholar who talks about this issue and the blurring of the lines between "real-life" and "virtual-life" - "It's about living in a world where being networked to people and information wherever and whenever you need it is just assumed." boyd goes on to explain that Always-On Culture is "about creating an ecosystem in which people can stay peripherally connected to one another through a variety of microdata."<ref>Participation in the Always-On Lifestyle, danah boyd, featured in The Social Media Reader, Mandiberg, 2012</ref> The result of this blurred line between online/offline life means that many users feel the need to declare a social media "purge", or a "holiday". Users will often post to sites such a Twitter and Facebook publicly announcing their short-term departure from the site; professionals will often send out mass emails altering their contacts to the fact that they will not be available to answer and reply between certain times. === Online Disinhibition === Online disinhibition is the understanding that people posting online seem to have less of an awareness of consequence of their actions online. Gackenbach and von Stackleberg describe this as "the inability to control impulsive behaviours, thoughts or feelings and manifests online as people communicating in ways that they would not ordinarily do offline." <ref>Psychology and the Internet: Intrapersonal, Interpersonal, and Transpersonal Implications, Jayne Gackenbach & Heather von Stackleberg, 2011</ref> Another prominent theorist specialising in the topic of online dininhibition is John Suler. In his work "The Online Disinhibition Effect", he describes the way in which online disinhibition can work in two different ways - benign and toxic. '''Benign Disinhibition''' is the term used by Suler to describe the pleasant way in which user will act anonymously and/or publicly online. "Sometimes people share very personal things about themselves. They reveal secret emotions, fears, wishes. They show unusual acts of kindness and generosity, sometimes going out of their way to help others." This maybe be why some people are more likely to participate in an online charity challenge, such as the Ice-Bucket Challenge, but may not be willing to give money to charity in the street - their inhibitions are lowered and therefore their sense of responsibility is too. However, this could also relate to the idea of "FOMO" - the fear of missing out - which is explain in detail [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Fear_of_Missing_Out below]. '''Toxic Disinhibition''' is the term Suler uses to describe the darker side to the internet and the way way in which users create a "toxic" virutal environment. He explains "people may be rude, critical, angry, hateful, and threatening, or they visit places of perversion, crime, and violence – territory they would never explore in the “real” world."<ref>The Online Disinhibiton Effect, John Suler, Cyber Psychology & Behaviour, Vol 7, No. 3, 2004</ref> In taking Suler's approach, there are evidently not just cons to the idea of online disinhibtion, but also pros too. Perhaps the most notorious example of online disinhibtion, and more specifically toxic disinhibition, is the act of "trolling". This is the act in which someone purposefully seeks to cause offence or harm others verbally online. It is in this instance where the previous point of the blurring of online/offline lives becomes an issue. While some may see it a whimsical way to make fun of someone, new legislation has determined that online trolling is a serious crime. There have been many debates over the past five years or so as to whether trolling should be considered a real crime. This comes with the statistics that 52% of teenagers have experienced "cyberbullying". <ref>https://nobullying.com/cyber-bullying-statistics-2014/</ref> ====Social Context Cues==== One of the main issues surrounding the way in which we speak online is the lack of social context cues in place to regulate the way in which we communicate with each other. As Suler explains "People don’t have to worry about how they look or sound when they type a message. They don’t have to worry about how others look or sound in response to what they say. Seeing a frown, a shaking head, a sigh, a bored expression, and many other subtle and not so subtle signs of disapproval or indifference can inhibit what people are willing to express." <ref>The Online Disinhibiton Effect, John Suler, Cyber Psychology & Behaviour, Vol 7, No. 3, 2004</ref> Users lack interpersonal cues, and therefore feel a lower sense of responsibility when it comes to communicating with others online. To contrast, text-based communications usually indicate a low fidelity, whereas face-to-face communications usually indicate the highest level of fidelity. ===Privacy Concerns=== Another issue which causes concerns for a constantly connected user is the issue of privacy. Being constantly available and connected means that technology and the internet touches nearly every part of our lives - from our social relationships, to online banking, there may be a relatively justified cause for concern when it comes to keeping information safe. What seems worrying is the lack of awareness when it comes to "snooping" - people simply do not pay enough attention to terms and conditions etc. to realise just how open their information to the world is. What is even more worrying is that there are users who are aware, but simply accept it as part of the culture of having an online identity. ====Data Mining==== Data mining has become an issue in the past few years, and certainly became more apparent since the NSA snooping scandal and similar instances of tracking. It can be defined as the collection of information online, either through cookies or data trails etc., by an individual, company or organisation. Even the most inconspicuous sites are a treasure trove for companies looking to gain from user information - "Viewed through the lens of market research, platforms such as Facebook and Twitter are much more than sites of networked sociality: they are the world's biggest focus group. Generating more data than any market researcher could ever hope to read and analyse."<ref>Infoglut: How too much information is changing the way we think and know, Mark Andrejevic, 2013</ref> More information on privacy issues concerning social media can be found in the [https://en.wikibooks.org/wiki/Talk:Living_in_a_Connected_World/Privacy_in_a_Digital_Age Privacy in the Digital Age] chapter of Living in a Connected World. == Changes to Interactions due to Technology == Technological innovation has dramatically changed the way humans interact and coexist. From the beginning of the digital age up until present day, human behavior has adapted to live in a world dominated by ever-changing machines. This technology-focused mindset not only affects connections with the outside world, but also impacts an individual's sense of themselves. ===Internal Effects=== We are living in a digital age. For some, this concept is terrifying and for others it is welcomed with open arms. But no matter what stance one takes, it would be naïve to assume that we are in no way affected by the fast growing network of social media sites, messaging/photo apps and video sharing sites that undoubtedly encourage the ''''always-on culture''''. Neil Tweedie (2010) talks in an article in The Telegraph <ref>http://www.telegraph.co.uk/technology/7858189/Are-Twitter-and-Facebook-affecting-how-we-think.html</ref> about how we are constantly being distracted on the Internet – describing it as an “electronic sweet shop”. The implications of this are quite dense, implying that the web is a negative force in our lives taking us away from the many things that we should be focusing on - work, education, socialising. It is these things that arguably have caused many people to see the internet as a negative thing in society (see [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Moral_Panics Moral Panics]. And of course, being distracted by a sweet shop isn’t however always a good thing and likewise it would not be unfair to say the same for the Internet. Though the web and social media sites can of course lend to positive things, Tweedie is referring to the more sinister effects. These sites, he argues have an immense power to influence our thought process and behaviours. Quite a bold implication, but one that holds truth nonetheless. The creation of the Internet has completely changed our world, and the way in which we do things. To explore this and the internal effects it has on individuals, this section will be split into key concepts with the intention to investigate and analyse these effects. ====Web 2.0==== Terry Flew (2008)<ref name="Flew">Flew, T. (2008) ''New Media: An Introduction'' (3rd ed.). Oxford: Oxford University Press</ref> states that our modern Internet (named '''Web 2.0''') is solely designed to promote persistent connectivity. We are more active on the Internet and social media sites now more than ever before as a result of this. Of course this 'always on culture' is one of the key things that has changed in our world. Web 2.0 comes with the development of sites such as Facebook and Twitter, both of which allow for instant and constant communication. Web 2.0 wants the internet to be easy to use, in order to promote the use of social media to people of all ages. Sites are thus designed to be appealing to all in their design and function. Apps like Facebook Messenger have given us the power to be accessible at any given time, which is alluring to a lot of people as they may be too busy in their everyday lives to meet up with friends and family as much as they like, but instant messaging apps give them an alternative. Whereas before we would have had to travel to see someone in person to have a discussion, all we have to do now is pick up our phones. We can have a full conversation with little effort required, and engage in interaction without ever having to leave our house. Because of this, we are now engaging in less and less in person interaction which is argued by many to be bad for ones mental health. Donelan et al (2010: 237)<ref name="Donelan, Kear and Ramage">Donelan, H., Kear, K., and Ramage, M. (eds), (2010) ''Online Communication and Collaboration: a Reader''. London: Routledge</ref> describe Web 2.0 as being primarily "user generated content" (237). Which means that the people are the key creators of what is out there. We can upload our own photos, customise a lot of the sites we use, create blogs and videos and even create our own websites. Is this why we are so driven towards it? The idea that we can do and say what we like, with far less regulation than in real life, and what are the internal repercussions of this? Rosalyn Carson-DeWitt wrote an article on Everyday Health<ref>http://www.everydayhealth.com/internet-addiction/guide/</ref> and argues that being addicted to the internet is entirely possible, and is affecting more and more people as the internet develops. What Carson-DeWitt notes is that people with this addiction are likely to feel socially isolated; and while they may believe that being online will make them feel less alone, it often does the contrary. Looking at Facebook especially, people tend to use the web to show off their lives, primarily with photos. Undoubtedly this can make one feel jealous and unhappy with their own lives, yet they are missing out on things by spending such a huge portion of their time online. These are only some of the small effects that spending too much time on social media can have. Web 2.0 may be interpreted by some as a good thing, however is encouraging greater amounts of time spent online and making it more accessible for people truly the best thing for our society? Some may argue no. ====Our 'Mini-Performances'==== Erving Goffman (who you can read more about in our [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Goffman's_Mask Goffman's Mask] section) was a very influential sociologist who was fascinated with the everyday procedures of human life and furthermore the interactions that we partake in. He argued that the self is a ''social product''. What he meant by this is that our personalities and sense of self are created as a result of the social interactions that we have. Different interactions develop different parts of ourselves and this is also transferred onto social media sites. Goffman proposed the idea that we display different parts of ourselves in different situations/company; we wear masks. Thus we are never fully showing our true self, we can pick and choose different masks to wear depending on how we wish certain people to see us. He referred to this as '''frontstage and backstage personalities''', or the idea of ''''I' and 'me''''. Which is the concept that we have a true self or a ''backstage self'' but this is reserved for ourselves. Our ''frontstage self'' is the one that we put on show for others to see. But like any play we can change this, and it may be altered depending on differing audiences. Roberts (2006: 65)<ref name="Roberts">Roberts, (2006). ''Micro Social Theory.'' London: Dalgrave</ref> comments on this, stating that "the individual presents themselves to others and tries to control the impression that others gain of him or her in acting in their presence". This concept is referred to as ''''impression management''''. This becomes important to our modern world, as it could be argued that this notion is extremely applicable to the internet and more specifically - social media sites. It is arguable easier to carry out this impression management online, which is perhaps why social media sites hold an appeal for many. The use of uploading photos onto Facebook and Instagram allows us to paint a certain picture of our lives; one that does not necessarily reflect the reality. An article by Britney Fitzgerald (2013) on ''The Huffington''<ref>http://www.huffingtonpost.com/2012/10/11/facebook-psychology-7-reasons_n_1951856.html/ Facebook Psychology: 7 Reasons We Act Differently Online</ref> talks about the way we act on Facebook. She outlines how even though we display our real names (or at least the majority of people do) there is still an, even subconscious, element of anonymity and thus our behaviour changes. Goffman argues that certain social situations expect different roles and 'faces' from us. There is an element of expectation linked to certain scenarios, we have predetermined ideas and understandings of how we should act. Whilst online, this expectation differs due to the uniqueness in the way that we communicate. Swingle (2016)<ref name="Swingle">Swingle, M, K. (2016). ''i-Minds: How Cell Phones, Computers, Gaming and Social Media are Changing Our Brains, Our Behavior and the Evolution of Our Species''. Canada: New Society Publishers</ref> outlines how the reason for our differing behaviour is due to the fact that social media platforms thwart our ability to read emotions as we would in a face-to-face conversation. In Swingle's (2016: 164) words, "the medium directly promotes narcissism". This can of course be contested, as not everyone who uses social media platforms can be accused of being narcissistic, but it is interesting to consider nonetheless. And, inevitably, there is some truth to the claim as due to how different online communication is to real life communication, it would be ignorant to assume that we act entirely the same in both situations. ====The Tethered-Self==== More can be found on '''the tethered self''' in [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out#Always_On_Culture Always On Culture] however it is useful to briefly discuss it in relation to internal effects also. '''The Tethered Self''' is a concept presented by Sherry Turkle (2011). She states that "each is tethered to a mobile device and to the people and places to which that device serves as a portal" (p.155). So, what Turkle is essentially saying is that we are addicted, or '''tethered''' to this online self that we have created. The implications of this are quite large indeed. Turkle (2011: 156) discusses how the creation of the internet and further this notion of the tethered self has changed the way in which we experience life. She relays an anecdote about how a director of a students exchange program explained to her that students were no longer appreciating travel in the way that they should. Instead of experiencing the new culture around them, they would spend their time on Facebook, talking to friends back home. Rice (2009)<ref name="Rice">Rice, J. (2009). ''The Church of Facebook.'' 1st ed. Colorado Springs, CO: David C. Cook.</ref> states that this notion of the tethered self goes further, claiming that we are so tethered to these social media sites that people are beginning more and more to turn to such sites to help us make decisions, or to ask for advice about our personal lives. Rice (2009 does note that this can be a positive thing, citing James Surowiecki from his book ''The Wisdom of Crowds'' (2004),<ref name="Surowiecki">Surowiecki, J. (2004). ''The Wisdom of Crowds''. New York: Doubleday</ref> who argues that individuals tend to make better decisions when they are being informed by others, rather than doing so on their own. However Rice goes on to say that there are hugely negative implications from this also, as one may expect. Rice (2009: 145) states that the ""voices" of our invisible entourage can drown out the sound of our own hearts", and goes on to say that looking for others opinions on social media sites the way we do makes it increasingly difficult to know what thoughts actions and feelings belong to us. In other words, we begin to forget our own natural instincts and care more about the way in which others see us and how they think that we should be living our lives. Showing further just how deep the internal effects of the social networking cites can go. ====The Google Effect==== Genevieve Roberts (2015)<ref>http://www.independent.co.uk/life-style/gadgets-and-tech/features/google-effect-is-technology-making-us-stupid-10391564.html/ Google Effect: Is Technology Making Us Stupid?</ref> wrote an article for The Independent that is useful to discuss when looking at this topic. Essentially, she argues that the '''Google Effect''' is the idea that we are no longer storing information like we once would, because we feel safe in the knowledge that everything we require an answer to is only a Google search away, treating the Internet as an "extension of our own memory". Our brains are not working as hard to remember information any more as, somewhat subconsciously, we are aware that essentially ''we do not need to'' in this modern digital age of ours because we have machines to memorise and store things for us. Many academics are currently worried that this notion is actually making us less intelligent, something mentioned by Roberts (2015). Of course this is not to say that we all treat the internet in this way; but the general consensus by academics is that users of the internet are all affected in some way. Roberts cites Dr Maria Wimber, lecturer at the University of Birmingham's School of Psychology, who argues that the Internet has simply changed the way in which we deal with and store information. '''“Google Effects on Memory: Cognitive Consequences of Having Information at Our Fingertips” ''' In 2011 researchers at Columbia University, University of Wisconsin-Madison and Harvard University published a study in the journal of science. The study “Google Effects on Memory: Cognitive Consequences of Having Information at Our Fingertips” used four different experiments to determine the impact that internet search engines, such as google, may have on our cognitive functions of memory.<ref>http://science.sciencemag.org/content/early/2011/07/13/science.1207745</ref> The study found that participants who were primed with trivia questions they did not know the answer to were faster in recognising computer based words than non-computer based words - thus showing a desire to fill gaps in knowledge with computerised resources. If participants thought that the computer would save information for them, then they were slightly less likely to remember this information. Moreover, believing that the computer had saved the information for them did not enhance the participants' memory of specific information but it did enhance their memory of where to find the information on the computer at a later date. Overall, the participants' would seem to remember which computer folder the information was stored in rather than the actual content of the folder. The researchers concluded the study by saying “We are becoming symbiotic with our computer tools, growing into interconnected systems that remember less by knowing information than by knowing where the information can be found.”<ref>https://journalistsresource.org/studies/society/internet/google-effects-memory-cognitive-consequences</ref> ====Identity and the Internet==== Turkle talks about the influence of the Internet and social media on peoples identity. She touches on Erik Erikson's stages of development and specifically 'moratorium'. <ref> http://resourcelists.stir.ac.uk/link?url=http%3A%2F%2Fstir.eblib.com%2Fpatron%2FFullRecord.aspx%3Fp%3D684281&sig=23bd45212245e7eddbe334594a9b77ad3f0fc8a6b1cdf5ac8f02a6bb52401ff3 Alone Together: why we expect more from technology and less from each other. </ref> She believes that "connectivity offers new possibilities for experimenting with identity and, particularly in adolescence, the sense of a free space, what [[w:Erik Erikson]] called the moratorium. He describes the moratorium as a "psychosocial stage between childhood and adulthood" when the person "re-examines his identity and tries to find out exactly who or she is." <ref> http://www.simplypsychology.org/Erik-Erikson.html Erik Erikson </ref> Turkle talks about this notion of identity in relation to the internet and claims that "the internet provides new spaces in which we can [experiment with our identity.]" She goes on to say that with the introduction of the web it is not only adolescences that can do this but adults are now also able to experiment with their sense of who they are. People are now able to do this with the introduction of social media sites with which people are able to create profiles with which they are able to express their interests that they might not feel comfortable expressing in public. These sites allow for the creation of anonymous accounts which allow people to experiment with their identity before they display it to their friends and family. It can be seen as a way of easing people into their new identity until the are certain that they want to commit to that identity. ====Moral Panics==== Not to go into too much detail, but to finish of this section we wish to mention briefly Stanley Cohen's <ref name="Cohen">Cohen, S. (2002). ''Folk Devils and Moral Panics: The Creation of Mods and Rockers'' (3rd ed). New York: Routledge</ref> concept of a moral panic as it is arguably relevant here. The definition of moral panics by Cohen (1972: 9) is as follows; “a condition, episode, person or group of persons emerges to become defined as a threat to societal values and interests”. Though contested, many would and have argued that the internet is a threat to society (Krinskey, 2008)<ref name="Krinskey">Krinskey, C. (eds). (2008). ''Moral Panics over Contemporary Children and Youth''. New York: Routledge</ref> The reasons for this have of course been previously outlined within the entirety of this chapter. As with many moral panics, one of the key things that people worry about in relation to the web is the way in which it will affect children, and this is not unjust. In relation to the internet, one of the key worrying points for many people - namely parents - is the thought of online grooming or the easiness for strangers to access information about these young individuals. A quick Google search of "what are the dangers for kids online" brings up a multitude of results a lot of which are tips for young people online. These tips include things like "''keep privacy settings as high as possible''", "''don't post photos of yourself''" and "''do not talk to people you don't know'' <ref>http://www.safetynetkids.org.uk/personal-safety/staying-safe-online/</ref>. Tim Newburn (2013)<ref name="Newburn">Newburn, T. (2013). ''Criminology''. 1st Ed. London: Routledge</ref> discusses the moral panic surrounding Paedophiles in the 1990's. This concern has transferred over to the media, as some believe that it makes children more accessible for these people. There have been known cases where these awful things have occurred as a result of young people not being careful enough and ending up in unthinkable situations, Kayleigh Haywood being one of these poor victims<ref>http://www.mirror.co.uk/news/uk-news/distressing-video-reveals-how-facebook-9560118</ref>. And so we can see that certain moral panics surrounding the internet have credible reason to exist, and we can see from this some of the ways in which the desire to be online across all ages cannot always be a positive thing. ====Social Comparison Theory==== Presented by social psychologist [[Leon Festinger]], [[Social comparison theory]] proposes that people obtain – what they understand to be – ‘accurate self-evaluations’ by comparing their opinions and abilities to others and thus gain an understanding of how to rank themselves in these areas. Downward social comparison is defined as looking to an individual or group of people, who you already perceive to be lacking in some regard, to boost your sense of self. In cases of upward social comparison, rather than observe the many differences that make you superior to another person or group of people, you draw the similarities between yourself and someone or a company of people, who you already perceive to be largely better than others. It has been suggested that while downward social comparisons are used to temporarily lift our self-image, upward social comparisons are far more powerful as motivators to achieve or fulfil the roles we deem desirable and successful. In the context of social media, there is a rampant sense of self-evaluation and examples of both downward and upward social comparison are evident. A Reuters articles on Facebook envy found that: ‘Social interaction was the second most common cause of envy as users could compare how many birthday greetings they received to those of their Facebook friends and how many "likes" or comments were made on photos and postings. . . These feelings of envy were found to prompt some users to boast more about their achievements on the site run by Facebook Inc. to portray themselves in a better light.’ (Goldsmith, 2013) <ref>[http://www.reuters.com/article/facebook-envy-idUSL6N0AR8D820130122 Belinda Goldsmith. "RPT-Is Facebook envy making you miserable?"]</ref> Facebook offers a unique opportunity to openly judge, critique and criticise – whether privately or in the company of friends – and use these downward social comparisons to deem yourself more popular and thus more successful. Conversely, it allows you to direct these judgements and criticisms at yourself. Either way, these negative emotions, directed at others or yourself, are harmful and detrimental on a deep mental level. ====Self Image==== Social media has become an unprecedented form of currency in the modern world. Perhaps the most valuable is Facebook, as it allows a window into your life that Twitter or Snapchat do not. On Facebook, you have your education and your work, which people use to determine your intelligence and financial standing; you have pictures from parties, holidays, birthdays and weddings, which people use to determine your attractiveness and the activeness and well-roundedness of your social life. The people making these determinations: your childhood friends, school friends, university friends, work friends, holiday friends, night-out friends, your family, potentially your partner’s family and friends, casual acquaintances and absolute strangers. A plethora of people, who sit as an attentive audience and casually judge the stage-show of your life, with no consideration for the time, the labour and consideration demanded to put on such a phenomenal event. What will entertain one section of the audience will not entertain another; what will impress your friends will not impress your family. At least, this is how it is understood to be. Your sense of self – and most importantly, your sense of self-worth – comes from how you understand others to value you. Suddenly, fifty likes on a profile picture is more valuable to a person than a promotion – although ideally, there would be fifty likes on a status about the promotion as people congratulate you and celebrate how successful a Facebook profile you present, regardless of the reality. A study revealed that: ‘Becoming self-aware by viewing one's own Facebook profile enhances self-esteem rather than diminishes it. Participants that updated their profiles and viewed their own profiles during the experiment also reported greater self-esteem, which lends additional support to the Hyperpersonal Model. These findings suggest that selective self-presentation in digital media, which leads to intensified relationship formation, also influences impressions of the self.’ <ref>Gonzales, A. L., & Hancock, J. T. (2011). Mirror, mirror on my Facebook wall: Effects of exposure to Facebook on self-esteem. Cyberpsychology, Behavior, and Social Networking, 14(1-2), 79-83. </ref> While likes and comments are important to boosting your sense of self-worth, the simple act of maintaining a profile that you are proud of is enough to create positive emotions and thus improve your self-image. Although, is it a simple task to maintain a Facebook profile to be proud of and, consequently, is it a simple task to maintain your self-image on social media? A separate study conducted among students it was noted that: ‘The multivariate analysis indicated that those who have used Facebook longer agreed more that others were happier, and agreed less that life is fair, and those spending more time on Facebook each week agreed more that others were happier and had better lives. Furthermore, those that included more people whom they did not personally know as their Facebook 'friends' agreed more that others had better lives.’ <ref> Chou, H. T. G., & Edge, N. (2012). “They are happier and having better lives than I am”: the impact of using Facebook on perceptions of others’ lives. Cyberpsychology, Behavior, and Social Networking, 15(2), 117-121. </ref> ===External Effects=== Over the past decade, the development of mobile technology has changed the way in which we interact with people. Gitte Stald describes the changes that have occurred over the past 10 years: "Within a decade, the typical mobile available on the popular market has developed from being a portable telephone to being a handheld computer with enough data and speed capacity to facilitate mobile internet access, MP3 music, photography, video, advanced games and tools such as a calculator, diary, notebook, alarm, clock, GPS and more." <ref> http://digimed-jhi.pbworks.com/f/Stald%20Mobile%20Identity.pdf Mobile Identity: Youth, Identity and Mobile Communication </ref> These new high quality functions that are now available on the majority of mobile phones may be the reason that most people constantly have their mobile with them. The option to always be connected to the internet is one that allows people to stay connected through not only text and phone calls (which are offline functions) but also through social networking sites even when they are out of the house. Stald describes the common mobile as a "Swiss Army Knife, which holds a number of useful tools - even if people almost always tend to use the same ones." It can be said, however, that there is a difference in the way in which different age groups may use their mobiles - which has been shown further up in this chapter in [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Social_Uses Social Uses] of the internet. These statistics suggest that younger people use the internet on a more frequent basis and use more social media sites. This can be linked back to how each generation grew up. Younger people grew up with technology during their childhood and therefore have a better understanding of how it works and are more likely to use it extensively. Whereas slightly older people did not have the same access to technology as this and therefore are less likely to use it heavily. A 2006 survey showed that 80% of informants never turned off their mobile phones. While the other 20% of people turned their phones off between 4 and 12 hours per day. I would suggest that since the development of the mobile phone has come so far in the past decade since this survey was conducted that those figures will have grown extensively. This constant connection, not only to other people, but to the Web means that we are never truly 'offline'. One 19 year old girl that had been interviewed during the process of this study talked about switching off her phone to de-stress but also commented "I can't be without it for too long. What if I miss something." Stald describes "missing something" as referring to the constant updating of the social network. This means that with this fear of missing out, young people today have no or few communication and information-free moments. People are often contactable right up until they go to sleep and as soon as they wake up in the morning which puts a continuing pressure of these people to reply and remain available throughout the day. With this constant connectivity right up until we go to bed can have harmful effects on our sleeping pattern as well. "The blue light emitted by screens on cell phones, computers, tablets, and televisions restrain the production of melatonin, the hormone that controls your sleep/wake cycle or circadian rhythm. Reducing melatonin makes it harder to fall and stay asleep." <ref> https://sleep.org/articles/ways-technology-affects-sleep/ Scary Ways Technology Affects Your Sleep </ref> With the majority of people claiming that they never switch their phones off, it is concerning that our levels of sleep may be reducing as a generation due to our high levels of technology usage. This is something that can be can be linked to McLuhan's theory Technological Determinism which suggests that technology shapes the way society functions - which I talk about in more detail in the section "being 'Pausable'". I think this change in sleeping patterns throughout this generation, suggests that McLuhan's theories are credible in that some things about our society have changed due to technology. And the introduction of mobile technology is not the first time we see this. Technology shaping our society can be traced all the way back to the invention of the wheel or the light bulb. Significant changes such as these ones are what shape our society. ====Being 'Pausable'==== The fact that people nowadays always have their mobiles with them creates this notion that people are "pausable". <ref> http://resourcelists.stir.ac.uk/link?url=http%3A%2F%2Fstir.eblib.com%2Fpatron%2FFullRecord.aspx%3Fp%3D684281&sig=23bd45212245e7eddbe334594a9b77ad3f0fc8a6b1cdf5ac8f02a6bb52401ff3 Alone Together: why we expect more from technology and less from each other. </ref> The ways in which our social interactions work now is that we pay more attention to our phones than the person talking to us - something that has changed since developed mobile phones have emerged. Turkle states that "our face to face conversations are routinely interrupted by incoming calls and text messages." The distraction of our phones constantly being with us means that people fade in and out of conversations only catching parts which means that our full attention is no longer on the person we are with but spilt between to modes of communication. This is an point that has been suggested by many media researchers but why is it that people now believe they can put the face to face interaction they are having on pause in order to answer their mobile. An 18 year old boy, that Turkle talked to, claimed that his friends are now "so used to giving their phones all the attention... they forget that people are still there to give attention to." This kind of interaction means that our face to face interactions no longer mean as much as they might have before. There are a few ways that theorists look at this. Marshall McLuhan believes that technology is an extension of the human body, he believes that big cultural shifts are determined by the changes in technology which is a theory called [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Technology_as_an_Extension_of_Self#Technological_Determinism Technological Determinism.] He said that there are "personal and social consequences of any medium - that is, of any extension of ourselves - result from the new scale that is introduced into our affairs by each extension." <ref> https://books.google.co.uk/books?hl=en&lr=&id=I8dPhB88Sx4C&oi=fnd&pg=PA107&dq=McLuhan&ots=CD3Gry9BbN&sig=osR20L0w3D7XHpjTpyHOtRMgHSE#v=onepage&q=McLuhan&f=false The Medium is the Message. </ref> In this, we can link back to how we are now "pausable" due to the changes within technology as McLuhan suggests that new technology often changes the ways in which we interact with people and do every day tasks. With the constant fear of missing out and the need to be connected all the time are we then missing out on actual experiences? Due to these technological advances we now experience our lives in a different way than we would have before. The increase in photography with mobile devices is one way in which our experiences have changed majorly. For example, when people go to a concert nowadays, people feel the need to film every second of the concert and therefore does this mean that our experiences of the concert are no longer as meaningful as before as we are watching them through our phones or cameras and not experiencing it in full. We put our whole lives 'on pause' just so that we can keep up to date or perhaps even keep other people up to date. This is then counterbalanced by the views of Raymond Williams who believes that technology is not an extension of ourselves but the social context in which we use technology actually determines what we make of it, he believes that our social interactions throughout history shape the ways in which we have used technology. This is called [https://en.wikibooks.org/wiki/Living_in_a_Connected_World/Technology_as_an_Extension_of_Self#Cultural_Determinism Cultural Determinism] With this, Williams flips the idea that technology is actually shaped by the needs and wants of the society that we live in. Williams also delves into the fact that the intention of technology can often differ from the actual use of it. Mobile phones are a major development in technology that has changed the ways in which we function as a society which can be linked to both of Williams notions here. The extensive use of mobile phones in our every day life has changed our social interactions and demean the relationships that we have with one another due to a overwhelming use of technology instead of face-to-face interactions. It can also be said that mobiles are now used for things other than their intended use as they were created in order to boost communication which made it easier to be contacted but in contrast it can be said that mobiles often take away from our communication and often isolate us due to our overuse of our devices instead of real interactions. ====New Boundaries==== Papacharissi talks about the "uncoupling of space and time" within the changes of social interactions. <ref> https://ebookcentral.proquest.com/lib/stir/reader.action?docID=1180919 A Private Sphere </ref> He means to say that we can live our lives in any time and space that we wish but all from the comfort of our own homes. We "no longer require the traversing of temporal and geographical boundaries." Which means to say that our use of the web has now extended not only for information gathering but to fully living our lives through the internet. This is something that can be seen through the introduction of not only social media sites which allow communication but also with the introduction of dating websites and apps such as Tinder. The introduction of this to our online environment means that even less face-to-face interactions are necessary in order to live a normal life with normal relationships - but they are now online relationships. The ways in which we use the internet in our every day life "results in transforming the private sphere of the home into a space that is both public and private." Due to the widespread use of social media there appears to be a new norm in how much we share with people. On social media, it may be easy to forget how many people are able to access what we are posting which means that people are more likely to post more personal things. The line between our public and private lives is becoming more blurred in that the things that people would have shared only with their close family and friends, before the introduction of social media, is now shared with everyone on their friends list - and potentially more than this depending on privacy settings. This persistent connectivity that has been created by these platforms means that there appears to be no secrets about what people are doing. ====Mobile Privatization==== Raymond Williams came up with the term mobile privatization as a part of his "criticism of the failings of technological determinism and its role in the accounts of media history." <ref> http://sk.sagepub.com/books/key-concepts-in-media-and-communications/n30.xml Mobile Privatization. </ref> [[w:Mobile privatization]] is one way in which theorists describe the attachment that people have to their mobile devices. And although this term was made before modern mobile phones, it can be strongly linked to the uses of modern mobile phones. The theory suggests that people's mobile devices give them a feeling of security and being "at home". It can be said that because we are "always on" it means that we could travel anywhere and still feel comfortable due to the connectivity of their mobiles. This means to say that we do not need four walls and a roof over our heads to feel at home because we are now able to carry our homes with us. This is a notion that can be linked back to Stald's idea that "the meaning of the mobile goes beyond its practical function." ====Online Presentation==== [[File:F icon.svg|thumb|]]There are different reasons that we might post our lives online. The reasons can, of course, be linked to identity as I have talked about before with finding identity through online experiences and sharing in the [https://en.wikibooks.org/w/index.php?title=Living_in_a_Connected_World/Persistent_Connectivity_and_the_Fear_of_Missing_Out&stable=0#Internal_Effects internal effects] section. But there are other reasons such as to preserve memories and therefore look back on. But is this idea still valid in this day and age? Mendelson and Papacharissi talk about the use of photos on social media and question "if photos are taken for the purpose of being displayed and tagged, does this render the experiences and the social relationships presented more real?" <ref> http://zizi.people.uic.edu/Site/Research_files/Look%20at%20meAMZP.pdf The Networked Self: Identity, Community on Social Network Sites. </ref> This is a contentious question as it suggests that the snapshots we take now are more real, but does the selfie truly capture a memory in the same way that a photograph may have done before the introduction of the selfie craze. It can be said that the way that photos are taken now is too staged which takes away from the way in which it works as a time capsule. If someones social media site is full of pictures of only themselves (and their face only) then what purpose does this serve? Stald describes the "mobile as a personal log for activities networks, and the documentation of experiences" which means to say that we use our mobiles to capture moments and then relive them through the photographs and the memories that we have saved onto our mobile devices. Mendelson and Papacharissi suggest that "people are able to post only that information which presents a desired image." The way in which we present ourself may not be in line with the way we are in reality and therefore we are able to construct a new identity that we present to the people online. The pair compare online presentation to the ways in which we present ourself in real life: "In everyday life, people consciously and unconsciously work to define the way they are perceived, hoping to engender positive impressions of themselves. This effort entails emphasizing certain characteristics, through dress, hairstyle, behavior and/or speech, while hiding or diminishing other characteristics perceived as flawed, depending on context." The way in which they describe the ways people try to present themselves in reality can be likened to the ways we try to present ourselves in the best light online as well. However, there is one key difference in that flaws are able to slip through in real life whereas online people are able to edit their flaws and delete anything that they do not want online (although this does not necessarily mean that the photos or status is gone forever as once they are online, they are often never truly offline.) == Fear of Missing Out == The 'Fear of Missing Out' or the FOMO can be defined as a feeling of uneasiness that a person might get with regards to the idea that they are missing out on social experiences that other people might be having. It is fueled by an eagerness to be constantly up to date with what others might be experiencing. In the current day, social media platforms provide us with unlimited methods of engaging with others online. People are scared that if they are not constantly active online then they will be missing out on vital social interactions. This causes them to experience a negative feelings when they see other people posting on social media. They believe that the other person is having more fulfilling life experiences than them and this can cause a feeling of low self-worth. Thus resulting in an overwhelming urge to stay socially connected to people via social media and technology. You can read more about the fear of missing out in relation to privacy in [[Living in a Connected World/Technology as an Extension of Self]]. of the book. ====The history of FOMO==== In June 2013 a Wikipedia page was created explaining the phenomenon of The Fear of Missing Out (FOMO). FOMO was described on the page as a form of social anxiety which was caused by being overly active on social media. The page also discussed a study by social psychologist Andrew Przybylski (2013). The study was concerned with why people used social media, and it found that some used it more due to unfulfilled psychological needs. This was the first time that FOMO was recognised by academic research - it had previously trended on social media and been referred to in news articles but this was seen as a lighthearted phrase. Although 2013 was when FoMO was recognised as an academic term, it's origins date back to 2004. A Harvard Business student, Patrick McGinnis, wrote a comic story for the school newspaper in 2004 in which he spoke about the suffering of students. He identified that people would rather over fill their evenings with a variety of events that they couldn't possibly attend than feel like they were missing out on something. He wrote that this in turn led to a drunken email at three in the morning to an abandoned friend: “Sorry I missed your 80’s theme party at Felt—you know that you are totally in my top 15.” The concept managed to circle its way around Harvard until it gained momentum. <ref>http://reagle.org/joseph/2014/fomo/fomo.htm</ref> After the term had been circulating for a while it's popularity increased. In 2007 a Business Week article addressed the term saying that the epidemic was 'catching on everywhere'. Then by March The Guardian had added the word into it's glossary of Youth internet slang. By this point it seemed like everyone was talking about FoMO and at a time where Facebook was rapidly growing the concept was getting more and more relatable. In April 2011,FoMO became the Urban Dictionary's most searched for word of the day(Dossey,2014) Finally, the following year FoMO became official with the Oxford Dictionary(2012) recognising the word as the “Anxiety that an exciting or interesting event may currently be happening elsewhere, often aroused by posts seen on a social media website.” <ref>http://www.bostonmagazine.com/news/article/2014/07/29/fomo-history/</ref> ====The need to belong==== The history in regards to FoMO and social media may only be traced back to 2004 but it is important to note that the concept of the fear of missing out has been around for a lot longer. We can see this from phrases such as 'keeping up with the joneses', people have been trying to fit in and out do each other so they don't feel like they are missing out for a long time. There are previous theories that deal with why humans experience certain emotions if they feel left out. FoMO can be understood as the need to belong somewhere whether it may be a social group, an online community or the wider world. Mark Leary and Roy Baumeister wrote a paper on 'The need tɒ Belong' in 1995. The paper hypothesises that as human beings our fundamental motivation is to belong. The study speaks of our drive to form long lasting and successful relationships with our people - it is simply in our nature to attempt to bond with others. In order to for us to satisfy our need to bond, Leary and Baumeister say that there are two steps. First, we need to frequently interact with others but these interactions must be pleasant and around other people. Secondly, the interactions must be stable with a mutual concern for the others well being. The study also points out how easy it is to form social bonds and how we can form attachments with rivals or opponents because of our inclination to create relationships. Although it easy to form these relationships, it is much harder to break them. For example, when training groups are formed the group members know that the meeting will eventually stop. Even when the group purpose has been fulfilled members try their hardest to hold onto the social bond that they have formed with each other. They then promise to stay in touch and have reunions but the reality is that this barely happens. <ref>http://persweb.wabash.edu/facstaff/hortonr/articles%20for%20class/baumeister%20and%20leary.pdf</ref> They found that when the relationships began to break down an individual's mental health as well as physical health and general well-being deteriorated. The effects of broken bonds were all negative and impacted poorly on the individual. The need to belong relates to the concept of FoMO as the need to feel like you belong somewhere relates to the same feeling people get in regards to social media. People want to belong to their social media platforms and form bonds with their 'friends' and 'followers' The effects of FoMO are very similar to those experienced from the need to belong, both result in the individual experiencing negative emotions. These emotions amplify when the individual feels they are missing out on something others are partaking in - maybe a social gathering their friends. They then begin to fear that the have missed out by not being at this social gathering thus resulting in a surge of emotions that leads to the individual feeling like they do not 'belong' to their social cohort anymore. ====Previous studies==== '''Motivational, emotional, and behavioral correlates of fear of missing out.''' An article which is concerned with the phenomenon of the fear of missing out is Motivational, emotional, and behavioral correlates of fear of missing out. In this, three studies are carried out in order to obtain a better understanding of the subject. The first study used an international sample to create a measure of individual uniqueness measure and introduces a FoMO scale. The second study investigated how motivational and well-being factors relate to the fear of missing out. Lastly, the third study suggested a correlation between behavior and emotional needs and the fear of missing out. The article considers FoMO from a psychological needs perspectives. The self-determination theory considers human motivation and it is a useful perspective in understanding FoMO. According to the self-determination theory mental health and self-regulation heavily depend on the three standard psychological needs. First is competence, one must be able to make changes to the world. Second is autonomy- one must be able to think for themselves and make independent decisions. Lastly, we have relatedness - a connection with other people is essential. This theory is often referred to as basic need satisfaction and it can be related to the fear of missing out. In order to achieve high need satisfaction, an individual is inclined to use social media persistently as a way of connecting with others. Low levels of basic need satisfaction(BNS) can relate to FoMO and engagement on social media sites in two ways. Individuals who have low levels of BNS may use social media because it can be seen as a resource to communicate with people, a tool to develop social competence and an opportunity to create lasting social ties - this is a direct link. The link could also be indirect, this being that FoMO could serve as a mediator link in relation to psychological needs and social media engagement. The study found that young people, particularly males, tended to report higher levels of FoMO - there was no gender difference among older participants. The results also indicated that those with a high FoMO reported more instances of negative moods and lower overall life satisfaction. Some of the research also focused on University students - it was found that those with high levels of FoMO were more likely to log into facebook during a university lecture. Furthermore, young adults who experienced high levels of FoMO were more likely to pay attention to emails, texts and their mobile phones while driving than those with lower levels of FoMO.<ref>http://www.sciencedirect.com/science/article/pii/S0747563213000800</ref> '''The relationship between FoMO, alcohol use, and alcohol-related consequences in college students''' In 2014 the Otago Department of Psychology, New Zealand, conducted a study on alcohol, university studnets and the fear of missing out. 432 students took part in two psychometric tests to measure their FoMO level and completed a brief Young Adult Alcohol Consequences Questionnaire. In the questionnaire the amount of negative alcohol-related experiences in the past 3 months were reported. In study one, alcohol was measured retrospectively and in study two it was measured prospectively using a 13-day internet diary. In study one, the amount of drinks consumed per week was measured by the survey. Students were asked to "Think of a typical week in the last 30 days for you. Think of what you did, where you lived, what your weekly activities were. Try to accurately remember how much alcohol you typically drank." <ref>http://www.vipoa.org/neuropsychol/2/7</ref> From the results, 3 measures of alcohol use were measured: weekly drinking, drinking frequency and drinking quantity. In the second study, the number of drinks that the participant consumed was measured by a daily diary. For 13 days participants had to report the number of alcoholic drinks they had the night before. The previous nights drinking was assessed as the diary was only available from 3 pm - 8 pm, this was a measure to reduce the risk of intoxication while completing the survey. This was then calculated against the three measures of alcohol use used in study one. Across both studies it was found that FoMO was significantly related to an increase in negative alcohol related experiences. Participants who were more likely to experience the fear of missing out reported double the amount of negative alchohol relatd incidents than those who were less likely to experience the fear of missing out. There was also a significant link found between FoMO and the quantity of alcohol consumed by students.<ref>http://www.vipoa.org/neuropsychol/2/7</ref> ====Facebook and FoMO==== With 1.79 billion users, Facebook is one of the most popular social networking sites in the world. In the last decade, the popularity of social media surged and networking sites became pivotal in how we communicate. Facebook and other social media sites allow us to communicate frequently with other users at the touch of a button. Not only can we be in frequent contact with someone who is half the world away but we can check up on our friends 24/7 - this means we are always up to date on their lives. Research conducted by Psychology Today found that there is a link between FoMO, Facebook and negative consequences. 76 Irish University students participated in the study which included four collective intelligence sessions. The study found that “Increased dissatisfaction with one's life" and a "Decrease in Privacy” was the primary consequence of FoMO in relation to Facebook. These consequences both contributed directly to a “Poorer self-image” at the second stage of the study and a “Decrease in concentration” at the fourth stage. Other consequences that they found were an increased dissatisfaction with ones life, feelings of jealousy in relation to friends and an increased tendency to neglect basic needs. <ref>https://www.psychologytoday.com/blog/in-one-lifespan/201510/facebook-and-the-fear-missing-out-fomo</ref> Researchers at the University of Missouri also discovered that there is a link between Facebook and depression - this is caused by feelings of FoMO. They found that when others post about new cars/houses, happy relationships or expensive holidays, this evokes feelings of envy among other users. If users are envying the lifestyle and activities of their family and friends then they start to fear that their life is less meaningful, these users are much more likely to report feelings of depression. <ref>http://www.independent.co.uk/life-style/gadgets-and-tech/news/fomo-we-really-do-hate-it-when-our-friends-on-facebook-become-successful-10023900.html</ref> Another study also found that those who experienced high levels of FoMO tended to use Facebook as soon as they woke up, during meals and before going to sleep.<ref>http://time.com/4358140/overcome-fomo/</ref> Further information on this study can be found in the above section "previous studies". == Goffman's Mask == {{Infobox scientist | name = Erving Goffman | image = | alt = | caption = | birth_date = {{Birth date|df=yes|1922|06|11}} | birth_place = [[Mannville, Alberta]], Canada | death_date = {{Death date and age|df=yes|1982|11|19|1922|06|11}} | death_place = [[Philadelphia, Pennsylvania]], U.S. | death_cause = Stomach cancer | relatives = [[Frances Bay]] (sister) <!--|religion = [[Judaism]] commenting out - unreferenced in main text--> | education = St. John's Technical High School | residence = | citizenship = | nationality = Canadian | ethnicity = Ukrainian Jewish | fields = | workplaces = [[National Institute of Mental Health]]; [[University of California, Berkeley]]; [[University of Pennsylvania]]; [[American Sociological Association]]; [[American Association for the Abolition of Involuntary Mental Hospitalization]] | alma_mater = [[University of Manitoba]] BSc<br>[[University of Toronto]] B.A.<br>[[University of Chicago]] M.A., PhD | thesis_title = Communication Conduct in an Island Community | thesis_url = | thesis_year = 1953 | doctoral_advisor = | academic_advisors = | doctoral_students = Carol Brooks Gardner, Charles Goodwin, Marjorie Goodwin, [[John Lofland (sociologist)|John Lofland]], [[Gary T. Marx|Gary Marx]], [[Harvey Sacks]], [[Emanuel Schegloff]], David Sudnow, [[Eviatar Zerubavel]] | notable_students = | known_for = Sociology of everyday life; [[Symbolic interactionism]]; [[Social constructionism]] | influences = [[Ray Birdwhistell]], [[Herbert Blumer]], [[Émile Durkheim]], [[Sigmund Freud]], [[C. W. M. Hart]], [[Everett Hughes (sociologist)|Everett Hughes]], [[Alfred Radcliffe-Brown]], [[Talcott Parsons]], [[Alfred Schütz]], [[Georg Simmel]], [[W. Lloyd Warner]], [[Dennis Wrong]]<!--only listing ones also referenced in text--> | influenced = <!--only listing ones also referenced in text--> | awards = Fellow, [[American Academy of Arts and Sciences]], 1969; Guggenheim Fellowship, 1977; Cooley-Mead Award, 1979; Mead Award, 1983 | website = <!-- {{URL|www.example.com}} --> | footnotes = | spouse = {{Plainlist| * Angelica Choate * [[Gillian Sankoff]] }} | children = {{Plainlist| * Thomas Goffman * [[Alice Goffman]] }} }} ====Erving Goffman==== [[:w:Erving Goffman|Erving Goffman]] was a Canadian-American sociologist and was considered one of the most influential of the twentieth century. Many of his concepts relate to our topic of living in a connected world. When looking at the themes of persistent connectivity and the fear of missing out, it is important to regard some of Goffman's work, as he explains how society can act in a world reliant on the internet. In 1959, Erving Goffman's book entitled '[[:w:The Presentation of Self in Everyday Life|The Presentation of Self in Everyday Life]]' was published. This focuses on how people can change the way they act, or want to appear in different scenarios. However, it is important today to use these theories to link with the online world as well as the 'real life' world. Later on, Goffman wrote other books, which refer specifically to human interactions and the affect of these. His later work, including 'Stigma' <ref> Goffman, E. (2009). Stigma: Notes on the management of spoiled identity. Simon and Schuster. </ref> and 'Interaction Ritual' <ref> Goffman, E. (2005). Interaction ritual: Essays in face to face behavior. AldineTransaction. </ref> showed how different types of people can be analysed to show the behaviour we tend to encounter. A high percentage of human interaction these days takes place online, on various platforms, and this could be a reason in which many of us have a 'fear of missing out'. While we can meet up with people in groups, we cannot predict the online interactions, which many people want to be a part of. Erving Goffman has also written an article called 'Where The Action Is'<ref> Goffman, E. (1969). Where the action is. Lane, Penguin Press </ref>, which describes occasions where people congregate to do something. In modern times, these places where many people can connect in one place is best found online. With the internet connecting people globally, many things are arranged, discussed and shared online and can result in a lot of persistent connectivity. In the work Goffman produced, particularly 'The Presentation of Self in Everyday Life', he analyses interpersonal interactions- an important use of internet connectivity. While he was writing in a time where the internet was not a factor, the theories he discussed were comparatively unexplored areas of thought. One theory in particular, about the different 'masks' and personas we wear in different situations can be related to our online identities, and how this shows in our persistent connectivity. <ref> http://web.pdx.edu/~tothm/theory/Presentation%20of%20Self.htm </ref> ====Goffman's Theory==== Erving Goffman’s theory states that there are two personas when it comes to the persistent connectivity on the internet; the ‘I’ persona and the ‘Me’ persona. The ‘I’ is always present in some way but is usually backstage, behind the mask in front. The mask shows the ‘Me’ persona and is influenced by the persona behind it. The ‘Me’ persona shows how the person wants to be seen and means that some parts of the ‘I’ persona can be hidden behind the mask. Only certain characteristics, or parts of their life, are shown. The ‘Me’ persona may be seen as the one engaging in persistent connectivity as people get to ‘know’ this persona based on online activities. Meanwhile, the ‘I’ persona may be the one related to the fear of missing out. This is more to do with the refreshing of pages, and looking at other profiles. This persona is not presented as much online but is often presented to. {{Quote box |tstyle = text-align: centre; |quote = '''“While in the presence of others, the individual typically infuses his activity with signs which dramatically highlight and portray confirmatory facts that might otherwise remain unapparent or obscure”''' |source = (Goffman, 1959: 30) <ref>Goffman, E. (1978). The presentation of self in everyday life (p. 56). Harmondsworth.</ref> |qalign = center }} [[File:Cruikshank Pierce' Egan's Real Life - Drury Lane Theatre 1821.jpg|thumb|250px]] These types of strategies emerge depending on front and back stage settings and are determined by the anticipated mannerisms expected. While people acting on stage put on a character and are aware of the many people they are exposed to, that same person can change persona very quickly as soon as they go backstage. They no longer need to put on a show or present to anybody and they can simply be themselves. Goffman refers to this in his work and it helps to understand some of the reasons why our persistent connectivity is not always an 100% accurate representation of ourselves. <ref>http://imaginingjustice.org/classroom/goffmans-ghost-art-acting-101-articulated/</ref> The theory of Goffman’s mask leads to many questions about how the persistent connectivity and the fear of missing out can cause us create an image of what we ‘should’ be like online. If we connect too much and observe the way other people present themselves online, gradually a social norm is created and people try to impress others with pictures and comments that others would like. Often this is purely for the likes or the interest, to gain a feeling of self-worth. People can often use the acceptance of their ‘Me’ persona, to feel better about their ‘I’ persona, as they appreciate some sort of connection between the two. In some ways, the mask becomes a conception of the identity we have formed for ourselves online. We strive to become this persona, and if we believe this online persona looks good we can end up trying to live up to this character we have presented. “This mask is our truer self, the self we would like to be”. <ref>Bial, H. (2004). The performance studies reader. Psychology Press.</ref> ====Fitting In Online==== While Goffman speaks of these masks also being used in real life when we come across different situations and have to act accordingly, these masks are more easily used online. This may be due to the fact that people can look at us at any time when online, by simply searching our name into a search bar. Although people can see images of others, and sometimes even live videos, when judging a person online you are never looking at them in real life. [[File:World Map of Web Index 2014.svg|thumb|right|300px|A global map showing the availability of the World Wide Web in the 2010s. The regions with the highest level of access, in dark blue, are North America and Europe.]] Almost everything has been censored by the person, as they have uploaded these pictures, videos or text and know that they will be viewed by certain people on certain platforms. This makes it easier to create new masks and try to fit in, adapting the 'I' persona, to a newer one which is maybe deemed to be better in some way. Goffman states that “When interactions migrate online, the interacting parties meet in time rather than in a place”. <ref>https://www.slideshare.net/dchapple/goffman-and-the-online-world </ref> This is an important factor to consider when debating the ability to adapt and fit in online. You are able to interact with people from anywhere, and you do not have to even make conversation with someone to get to know what they are like online. Many pages online are open to interaction and you are able to see what someone was doing without having to be in that place. With over half of the world's population using the internet today,<ref> http://wearesocial.com/uk/blog/2017/01/digital-in-2017-global-overview </ref> we are able to view many other profiles before deciding what ours "should" be like. ====Masks for Different Platforms==== On different platforms, we are able to put on different masks to enhance some of our characteristics, matching the general characteristics of users of the site we are on. An example may be that on Twitter, the majority of accounts seem to be open for anybody to come across, and so users may bear this in mind when deciding how to portray themselves through the words they use. More time will be taken to take into account the language used, with the word limit sometimes taking an effect on choices. On platforms such as Snapchat, people filter their lives and broadcast what they think is the most exciting. These updates are available to a much smaller audience and they do not remain on the site, so the time taken to choose a mask is lessened. There is less thought about what is said and more thought about the kind of life people want to show their 'Me' persona to have. A very different form of online identity is created when people engage in gaming online. While on other social media sites the images that represent people are usually photographs taken at a particular point in time, on Gaming sites, avatars are often made. It may be argued that this is not a direct representation of the person, but the argument still stands that this is the picture that goes with the character the individual has created. This is another of the masks which Goffman writes about. On some online games, the people become absorbed in the game and the adrenaline keeps people playing. As a form of escapism, gaming online often creates persistent connectivity but in a different sense. In this connectivity, the players often enjoy the life they have created virtually.<ref> http://llinsw.hypotheses.org/30 </ref> Connecting to this online provides an alternative life to live, and can show how life online and in real life (irl) are separate. It focuses the idea that we can be entirely different online and offline. Goffman has often referred to the need to 'juggle' masks in life, and this is widely seen across the various online accounts of most users of the internet. No social media site is used for the same purpose, and so there are often different aspects of people's lives are scattered across a variety of pages. This means that when looking at someone on two different sites, it could appear to be like looking at two slightly different people; in actual fact they have just altered their mask. ==References== <br> <br> <br> {{stub}} {{BookCat}} 1gn46j3w9cdpkv50zm697cw2pzrcf6g Elementary Number Theory 0 391490 4444336 3317099 2024-11-10T22:30:03Z Wikimi-dhiann 336338 cat 4444336 wikitext text/x-wiki *[[/Natural numbers/]] *[[/Prime numbers/]] *[[/Integers/]] *[[/Residue classes/]] {{BookCat}} {{shelves|Number theory}} {{alphabetical|E}} {{status|0%}} 6roexwp4hjmt599f4juhq09dpxm29x7 Pokémon/Pokédex/Mewtwo 0 425696 4444348 4096465 2024-11-10T23:39:45Z 41.114.84.5 Somethings 4444348 wikitext text/x-wiki a santhedic pokemon genetically made by scientists using 59% of [[Pokémon/Items|Mew's]] DNA and 41%of [[Pokémon/Items|Charizard]] DNA == Basic Statistics == {{Pokémon/Pokédex/Basic Statistics|index=150|jindex=250|hindex=305 |height={{convert|2|m|ft}}|weight={{convert|122|kg|lb}}|gender=[[:Category:Book:Pokémon/Genderless Pokémon|Genderless]] |ability=[[:Category:Book:Pokémon/Pressure Ability|Pressure]] |type=[[:Category:Book:Pokémon/Psychic Pokémon|Psychic]] |species=Genetic |egg=[[:Category:Book:Pokémon/Unbreedable Egg Group|Unbreedable]] |hatch=30720 |stage=[[:Category:Book:Pokémon/Basic Pokémon|Basic]] |catch=3|baseexp=220|maxexp=1250000|item=none |hprb=106|atrb=110|derb=90|sprb=130|sarb=154 |hpgs=106|atgs=110|degs=90|spgs=130|sags=154|sdgs=90 |hprs=106|atrs=110|ders=90|sprs=130|sars=154|sdrs=90 |ehprs=0|eatrs=0|eders=0|esprs=0|esars=3|esdrs=0 |mhprb=415|matrb=318|mderb=278|msprb=358|msarb=406 |mhpgs=415|matgs=318|mdegs=278|mspgs=358|msags=406|msdgs=278 |mhprs=416|matrs=350|mders=306|msprs=394|msars=447|msdrs=306 }} == Type Matching == {{PokemonOldPsychic|Mewtwo}} == Moveset == {| class="wikitable" ! Level !! Red / Blue / Yellow !! Gold / Silver / Crystal<br/>Ruby / Sapphire / Emerald<br/>XD / Colosseum !! Fire Red / Leaf Green |- | Start || Confusion<br/>Disable<br/>Swift<br/>Psychic || Confusion<br/>Disable || Confusion<br/>Disable |- | 11 || - || Barrier || Barrier |- | 22 || - || Swift || Mist |- | 33 || - || Psych Up || Swift |- | 44 || - || Future Sight || Recover |- | 55 || - || Mist || Safeguard |- | 63 || Barrier || - || - |- | 66 || Psychic || Psychic || Psychic |- | 70 || Recover || - || - |- | 75 || Mist || - || - |- | 77 || - || Amnesia || Psych Up |- | 81 || Amnesia || - || - |- | 88 || - || Recover || Future Sight |- | 99 || - || Safeguard || Amnesia |} === TM/HM === *'''RB/Y/GS/C/RS/FL''': Blizzard, Double Team, Fire Blast, Flash, Hyper Beam, Psychic, Rest, Solarbeam, Strength, Thunder, Toxic *'''RB/Y/RS/FL''': Reflect *'''GS/C/RS/FL''': Frustration, Hidden Power, Iron Tail, Protect, Rain Dance, Return, Rock Smash, Shadow Ball, Sunny Day *'''RB/Y/C/RS/FL''': Ice Beam, Thunderbolt *'''C/RS/FL''': Flamethrower *'''RB/Y''': Bide, Body Slam, Bubblebeam, Counter, Double-Edge, Mega Kick, Mega Punch, Metronome, Mimic, Psywave, Rage, Seismic Toss, Selfdestruct, Skull Bash, Submission, Substitute, Take Down, Teleport, Thunder Wave, Tri Attack, Water Gun *'''GS/C''': Curse, Detect, Dream Eater, Dynamicpunch, Endure, Fire Punch, Headbutt, Ice Punch, Icy Wind, Mud-Slap, Nightmare, Psych Up, Sleep Talk, Snore, Swagger, Swift, Thunderpunch, Zap Cannon *'''RS/FL''': Aerial Ace, Brick Break, Bulk Up, Calm Mind, Earthquake, Facade, Focus Punch, Hail, Light Screen, Rock Tomb, Sandstorm, Secret Power, Shock Wave, Skill Swap, Snatch, Taunt, Torment, Water Pulse *'''RB''': Pay Day == Variant Forms == === Mega Mewtwo X === {{Stub}} === Mega Mewtwo Y === {{Stub}} == Trading Cards == * Base Set #10 - Mewtwo * Gym Challenge #14 - Rocket's Mewtwo * Neo Destiny #109 - Shining Mewtwo * Expedition #20 - Mewtwo * Expedition #56 - Mewtwo * EX Ruby & Sapphire #101 - Mewtwo EX * EX Team Rocket Returns #99 - Rocket's Mewtwo EX [[Category:Book:Pokémon/Basic Pokémon|Mewtwo]] [[Category:Book:Pokémon/Genderless Pokémon|Mewtwo]] [[Category:Book:Pokémon/Pressure Ability|Mewtwo]] [[Category:Book:Pokémon/Psychic Pokémon|Mewtwo]] [[Category:Book:Pokémon/Unbreedable Egg Group|Mewtwo]] pqune14hq2alovmkei0zq52relz1tal Yoruba/Numbers 0 434530 4444322 4431641 2024-11-10T19:40:45Z 197.210.227.177 4444322 wikitext text/x-wiki One- Ookan<br> Two - Eeji<br> Three -Eeta<br> Four - Eerin<br> Five - Aarun<br> Six - Eefa<br> Seven - Eeje<br> Eight - Eejo<br> Nine - Eesan<br> Ten - Eewa<br> Eleven - Ookanla<br> Twelve - Eejila<br> Thirteen- Etala<br> Fourteen - Erinla<br> Fifteen - Eedogun<br> Sixteen - Eerindilogun<br> Seventeen - Eetadilogun<br> Eighteen - Eejidilogun<br> Nineteen - Ookandilogun<br> Twenty - Ogun<br> Twenty one - Mokanlelogun<br> Twenty two - Mejilelogun<br> Twenty three - Metalelogun<br> Twenty four - Merinlelogun<br> Twenty five - Aarundilogun<br> Twenty six - Medogbon<br> Twenty seven - Metadinlogbon<br> Twenty eight - Mejidinlogbon<br> Twenty nine - Meedogbon<br> Thirty - Ogbon<br> Thirty one - Okanlelogbon<br> Thirty two - Ejilelogbon<br> Thirty three -Metalelogbon<br> Thirty four - Merinlelogbon<br> Thirty five- marundinlogoji<br> Thirty six - merindinlogoji<br> Thirty seven- Ogbonmeje<br> Thirty eight -Mejidinlogoji<br> Thirty nine - Ogbonmesan<br> Forty- Ogoji<br> Forty one - Mokanlelogoji<br> Forty two - mejilelogoji<br> Forty three- Metalelogoji<br> Forty four - Meerinlelogoji<br> Forty five - Marundinladota<br> Forty six - Merindinladota<br> Forty seven - Metadinladota<br> Forty eight - Mejidinladota<br> Forty nine - Mokandinladota<br> Fifty - Aadota<br> Fifty one - Mokanleladota<br> Fifty two - Mejileladota<br> Fifty three - Metaleladota<br> Fifty four - Merinleladota<br> Fifty five - Marundinlogota<br> Fifty six- Meerindinlogota<br> Fifty seven - Metalelogota<br> Fifty eight - mejidinlogota<br> Fifty nine - Mokandinlogota<br> Sixty - Ogota<br> Sixty one - Mokanlelogota<br> Sixty two - Mejilelogota<br> Sixty three - metalelogota<br> Sixty four- merinlelogota<br> Sixty five - Marundinladorin<br> Sixty six - Merindinladorin<br> Sixty seven - Metadinladorin<br> Sixty eight - mejidinladorin<br> Sixty nine - Mokandinladorin<br> Seventy - Aadorin<br> Seventy one - Mokanleladorin<br> Seventy two - mejileladorin<br> Seventy three - metaleladorin<br> Seventy four - Merinleladorin<br> Seventy five - marundinlogorin<br> Seventy six - Merindinlogorin<br> Seventy seven - Metadinlogorin<br> Seventy eight - Mejidinlogorin<br> Seventy nine - Mookandinlogorin<br> Eighty - Ogorin<br> Eighty one - Mookanlelogorin<br> Eighty two - mejilelogorin<br> Eighty three - metalelogorin<br> Eighty four - merinlelogorin<br> Eighty five - Marundinlaadorun<br> Eighty six - Merindinladorun<br> Eighty seven - Metadinladorun<br> Eighty eight - Mejidinladorun<br> Eighty nine - mokandinladorun<br> Ninety - Aadorun<br> Ninety one - Mookanleladorun<br> Ninety two - mejileladorun<br> Ninety three - Metaleladorun<br> Ninety four - Merinleladorun<br> Ninety five - Marundinlogorun<br> Ninety six - Merindinlogorun<br> Ninety seven - Metadinlogorun<br> Ninety eight - Mejidinlogorun<br> Ninety nine - mokandinlogorun<br> Hundred - Oogorun<br> Hundred and one - Ọgọrun le ọkan <br> Hundred and two - Ọgọrun le meji <br> Hundred and three - Ọgọrun le leta <br> Hundred and four - Ọgọrun le Lerin <br> Hundred and Five- Ọgọrun le lerun <br> Hundred and six - Ọgọrun le Mefa<br> Hundred and seven - Ọgọrun le meje <br> Hundred and eight - Ọgọrun le mejo <br> Hundred and nine - Ọgọrun le mesan <br> Hundred and ten - Ghhshksisidhdhsjeined<br> Hundred and eleven - Adọfa le okan <br> Hundred and twelve - Adọfa le leji <br> Hundred and thirteen - Adọfa le meta <br> Hundred and fourteen - Adọfa le lerin <br> Hundred and Fifteen - Adọfa le lerun <br> Hundred and sixteen- Adọfa le lefa <br> Hundred and seventeen - Adọfa le meje <br> Hundred and eighteen - Adọfa le mejo <br> Hundred and nineteen- Adọfa le lesan <br> Hundred and twenty - Ọgọfa <br> {{BookCat}} 77t85dl0txdb6qwqm612j7oab4f5pkz 4444330 4444322 2024-11-10T21:11:11Z 67.193.45.155 vandalism 4444330 wikitext text/x-wiki One- Ookan<br> Two - Eeji<br> Three -Eeta<br> Four - Eerin<br> Five - Aarun<br> Six - Eefa<br> Seven - Eeje<br> Eight - Eejo<br> Nine - Eesan<br> Ten - Eewa<br> Eleven - Ookanla<br> Twelve - Eejila<br> Thirteen- Etala<br> Fourteen - Erinla<br> Fifteen - Eedogun<br> Sixteen - Eerindilogun<br> Seventeen - Eetadilogun<br> Eighteen - Eejidilogun<br> Nineteen - Ookandilogun<br> Twenty - Ogun<br> Twenty one - Mokanlelogun<br> Twenty two - Mejilelogun<br> Twenty three - Metalelogun<br> Twenty four - Merinlelogun<br> Twenty five - Aarundilogun<br> Twenty six - Medogbon<br> Twenty seven - Metadinlogbon<br> Twenty eight - Mejidinlogbon<br> Twenty nine - Meedogbon<br> Thirty - Ogbon<br> Thirty one - Okanlelogbon<br> Thirty two - Ejilelogbon<br> Thirty three -Metalelogbon<br> Thirty four - Merinlelogbon<br> Thirty five- marundinlogoji<br> Thirty six - merindinlogoji<br> Thirty seven- Ogbonmeje<br> Thirty eight -Mejidinlogoji<br> Thirty nine - Ogbonmesan<br> Forty- Ogoji<br> Forty one - Mokanlelogoji<br> Forty two - mejilelogoji<br> Forty three- Metalelogoji<br> Forty four - Meerinlelogoji<br> Forty five - Marundinladota<br> Forty six - Merindinladota<br> Forty seven - Metadinladota<br> Forty eight - Mejidinladota<br> Forty nine - Mokandinladota<br> Fifty - Aadota<br> Fifty one - Mokanleladota<br> Fifty two - Mejileladota<br> Fifty three - Metaleladota<br> Fifty four - Merinleladota<br> Fifty five - Marundinlogota<br> Fifty six- Meerindinlogota<br> Fifty seven - Metalelogota<br> Fifty eight - mejidinlogota<br> Fifty nine - Mokandinlogota<br> Sixty - Ogota<br> Sixty one - Mokanlelogota<br> Sixty two - Mejilelogota<br> Sixty three - metalelogota<br> Sixty four- merinlelogota<br> Sixty five - Marundinladorin<br> Sixty six - Merindinladorin<br> Sixty seven - Metadinladorin<br> Sixty eight - mejidinladorin<br> Sixty nine - Mokandinladorin<br> Seventy - Aadorin<br> Seventy one - Mokanleladorin<br> Seventy two - mejileladorin<br> Seventy three - metaleladorin<br> Seventy four - Merinleladorin<br> Seventy five - marundinlogorin<br> Seventy six - Merindinlogorin<br> Seventy seven - Metadinlogorin<br> Seventy eight - Mejidinlogorin<br> Seventy nine - Mookandinlogorin<br> Eighty - Ogorin<br> Eighty one - Mookanlelogorin<br> Eighty two - mejilelogorin<br> Eighty three - metalelogorin<br> Eighty four - merinlelogorin<br> Eighty five - Marundinlaadorun<br> Eighty six - Merindinladorun<br> Eighty seven - Metadinladorun<br> Eighty eight - Mejidinladorun<br> Eighty nine - mokandinladorun<br> Ninety - Aadorun<br> Ninety one - Mookanleladorun<br> Ninety two - mejileladorun<br> Ninety three - Metaleladorun<br> Ninety four - Merinleladorun<br> Ninety five - Marundinlogorun<br> Ninety six - Merindinlogorun<br> Ninety seven - Metadinlogorun<br> Ninety eight - Mejidinlogorun<br> Ninety nine - mokandinlogorun<br> Hundred - Oogorun<br> Hundred and one - Ọgọrun le ọkan <br> Hundred and two - Ọgọrun le meji <br> Hundred and three - Ọgọrun le leta <br> Hundred and four - Ọgọrun le Lerin <br> Hundred and Five- Ọgọrun le lerun <br> Hundred and six - Ọgọrun le Mefa<br> Hundred and seven - Ọgọrun le meje <br> Hundred and eight - Ọgọrun le mejo <br> Hundred and nine - Ọgọrun le mesan <br> Hundred and ten - Adọfa <br> Hundred and eleven - Adọfa le okan <br> Hundred and twelve - Adọfa le leji <br> Hundred and thirteen - Adọfa le meta <br> Hundred and fourteen - Adọfa le lerin <br> Hundred and Fifteen - Adọfa le lerun <br> Hundred and sixteen- Adọfa le lefa <br> Hundred and seventeen - Adọfa le meje <br> Hundred and eighteen - Adọfa le mejo <br> Hundred and nineteen- Adọfa le lesan <br> Hundred and twenty - Ọgọfa <br> {{BookCat}} dm7jtjtsmdjkc6utvzgvgqkms9k1t4s User talk:Kittycataclysm 3 442343 4444298 4441969 2024-11-10T14:03:34Z Ottawahitech 2161651 /* AI */ new section 4444298 wikitext text/x-wiki {| class="wikitable" |+ ! colspan="2" |Talk Page Archives |- |[[User talk:Kittycataclysm/Archive 2022|2022]] |2023 |} == Duplicate user right == I noticed you have autoreviewed and reviewer user groups. Autoreviewed is deprecated if you have reviewer. Seeing as you are a temp admin, would you get into trouble if you removed it? If so, don't bother. I don't even know why I bother tbh xD. {{User:L10nM4st3r/sig.css}} 10:10, 17 January 2023 (UTC) :Hi @[[User:L10nM4st3r|L10nM4st3r]]! I wouldn't feel comfortable modifying my own user rights, especially as a temp admin. Is there any problem specifically with having both rights? Or is it just somewhat redundant? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:18, 18 January 2023 (UTC) ::Its just redundant. Actually happens a lot. I had my autoreviewed right removed when I became a reviewer. See [[WB:autoreviewed users]]. I think it says something about this as well. But its not a problem really. Or you could ask a permament admin. {{User:L10nM4st3r/sig.css}} 08:57, 18 January 2023 (UTC) :::{{re|L10nM4st3r}} and Kittycataclysm: {{done}} as the autoreviewer right is simply redundant. While there isn't a problem with having both rights, it can make things like [[Special:ListUsers]] a bit more confusing (have had similar issues on my home wiki before another admin removed a bunch of redundant rights from various users). [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:08, 20 January 2023 (UTC) ::::Gotcha, thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 21 January 2023 (UTC) == Potentially useful userscript == If you do not become a permament admin, I made a script designed to quickly report bad/suspicious users. It won't work if you are an admin though, which is a design choice I am unlikely to change. It is at [[User:L10nM4st3r/ReportUser.js]]. For if you need it. Or if you want it globally. Support for different wikis is currently very low, but if you request a wiki (hopefully English), I'll add that one first. {{User:L10nM4st3r/sig.css}} 22:49, 24 January 2023 (UTC) :Maybe a more heavily vandalized one? One that needs it the most? {{User:L10nM4st3r/sig.css}} 22:53, 24 January 2023 (UTC) ::FWIW, simplewiki is a heavily vandalised wiki, but they already use Twinkle to make such requests. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 02:05, 25 January 2023 (UTC) :::I will take a look at some point anyway. But it's my birthday today, so I'm not entirely sure when. (btw now I'm 17... or ''will'' be just before midnight.) {{User:L10nM4st3r/sig.css}} 05:31, 25 January 2023 (UTC) ::::An early happy birthday to you, {{u|L10nM4st3r}}! You'll be 17 in 3 hours where I live tho (AEDT/UTC+11:00) ;-). Even then, it's going to be midnight in the [[voy:Line Islands|Line Islands]] in 31 minutes. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 09:29, 25 January 2023 (UTC) :::::Its 10AM where I live. And I'm ruining my birthday cake xD! Lets hope I can stop eating biscuits like mad before dinner.. {{User:L10nM4st3r/sig.css}} 09:53, 25 January 2023 (UTC) :::I use twinkle global, but it doesn't allow fast, easy reporting of users. So I made the script. {{User:L10nM4st3r/sig.css}} 05:32, 25 January 2023 (UTC) == FYI == Hello, Kittycataclysm. For similar page-creation vandals like Mohamed James Wang, in the future, you can use [[Special:Nuke]] to delete all the pages a user creates that appears in [[Special:RecentChanges]] but in a single click. Just a tip. Best, and thanks for handling that vandal :-) --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 08:21, 28 January 2023 (UTC) :@[[User:SHB2000|SHB2000]] Thank you, this is super helpful! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:21, 28 January 2023 (UTC) == My talkpage protection == Thanks. Also I hope I didn't go too far trying to get him to do something else. Advice? The whole thread is on my talkpage. {{User:L10nM4st3r/sig.css}} 22:38, 2 February 2023 (UTC) :No worries @[[User:L10nM4st3r|L10nM4st3r]]! You didn't do anything drastically wrong or anything. I personally recommend not engaging with suspected vandals and, more broadly, anyone who seems to be baiting you or is otherwise not engaging in good faith—it's very rarely rewarding and usually just creates more fodder for them. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:57, 2 February 2023 (UTC) ::I think it was at least worth a try. Had you not protected my talkpage, I'd have probably ignored anything they posted after. But I guess less work for me :) Oh and I was not interested in their "help". I'd actually be more interested about how sewing machines work. Which actually bore me (geddit? Spoiler in a comment: <!-- Because they BORE a hole in the fabrick -->) xD{{User:L10nM4st3r/sig.css}} 23:04, 2 February 2023 (UTC) :Odd, has he just suddenly stopped vandalizing? Or is he being sneaky about it? Then again ive been away for a week or two, so what would i know, but wow, did i just cause a troll to give up? {{User:L10nM4st3r/sig.css}} 21:44, 21 March 2023 (UTC) == Hi there == Pls can you give me my page back? I'm using it as a template for some chemistry stuff. Thanks... [[User:Ema--or|Ema--or]] ([[User talk:Ema--or|discuss]] • [[Special:Contributions/Ema--or|contribs]]) 01:32, 4 February 2023 (UTC) :{{re|Ema--or}} mind you, Wikibooks is not your personal web host. If you're using it as a template, then use an application off-wiki. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 01:42, 4 February 2023 (UTC) == Qualander == Hi, Kittycataclysm, I've changed this user's block from 1 week to indef. as this user has vandalising various other wikis (including my home wiki). Just letting you know since you initially blocked them for a week. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:41, 13 February 2023 (UTC) :Sounds good, thanks for letting me know @[[User:SHB2000|SHB2000]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:56, 13 February 2023 (UTC) == Happy 10,000th :-) == I believe [[Special:Diff/4242333]] might be your 10,000th edit on Wikibooks; regardless, congratulations on reaching this significant milestone on Wikibooks. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 22:18, 10 March 2023 (UTC) :@[[User:SHB2000|SHB2000]] Yes, it think it was! Thank you :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:27, 10 March 2023 (UTC) == Algerian Couscous == Hi @[[User:Kittycataclysm|Kittycataclysm]] Good day,I saw you were reverting my edits on the article [[Cookbook: Algerian Couscous|Algerian Couscous]] ,I would love you to explain the reasons or probably the mistake I made while editig.I will encourage you to also tell where I'm wrong,corrections and way forward. Kindly treat as urgent Thanks for your work towards the growth of the Wikimedian foundation. Warm Regards [[User:Sylvesterchukwu04|Sylvesterchukwu04]] ([[User talk:Sylvesterchukwu04|discuss]] • [[Special:Contributions/Sylvesterchukwu04|contribs]]) 12:02, 12 March 2023 (UTC) :Hello @[[User:Sylvesterchukwu04|Sylvesterchukwu04]]! Based on the revision history of that page, I don't see any instances of me reverting your edits. I did add the <nowiki>{{Incomplete recipe}}</nowiki> template because the recipe you added was not complete. That template can be removed whenever a recipe is completed, and it looks like you did so. Let me know if you have any other questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:11, 12 March 2023 (UTC) == Reviewing == Hi. I'd like to get the reviewer right here. In practice, I have all the rights of the reviewer user group, except and only except <code>review</code> and I'd like to get that remaining bit. There are a lot of old edits out there that have yet not been reviewed and it would be good to be able to help wherever I am able to. I also have similar patrol/review rights on a bunch of wikis. Regards, --[[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 16:41, 13 March 2023 (UTC) :Hi @[[User:Svartava|Svartava]]! Requests for permissions should be made at [[Wikibooks:Requests for permissions]]. Additionally, I am not an official administrator, so I do not have any power to change people's user rights. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:14, 13 March 2023 (UTC) ::Alright, thanks for directing me to the appropriate page. Cheers! [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 03:42, 14 March 2023 (UTC) :::Hmm, it looks like I am not far from being autopromoted, so it's probably not much needed. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 03:49, 14 March 2023 (UTC) ::::{{re|Svartava}} I realise that this may come across as un-admin-like behaviour (for me), but I'd suggest copyediting a few random pages here and there with a unique edit summary for each edit – you should be autopromoted after a few copyedits, provided that you fulfill the rest of the criteria. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:50, 14 March 2023 (UTC) :::::@[[User:SHB2000|SHB2000]] That's an interesting idea. However, after reading [[Wikibooks:Reviewers#Automatic criteria]], I'm not sure I completely fulfill the rest of the criteria especially the <code>8 edits are spaced 2 or more days apart from each other (which takes at least 14 days, if you edit every 2 days)</code> which I find quite vague to be honest. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 13:44, 14 March 2023 (UTC) ::::::@[[User:Svartava|Svartava]] I believe that criterion means that out of your total body of edits, there must exist a set of 8 edits that have 2 days between them. If someone were starting from scratch, it would take at minimum 14 days to fulfill this requirement. My understanding is that this is to make sure a user is editing regularly and consistently before being granted the reviewer right. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 14 March 2023 (UTC) :::::::What I fail to understand is that, if interpreted that way it would actually not happen in 14 days. With 2 days between each set of 8 edits, in 14 days you'll just have 64 edits, right? (wait, I actually just got the right with this edit, lol!) [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 10:38, 15 March 2023 (UTC) ::::::I'll admit that I don't really know the full details of this, and I find that statement vague too (but my interpretation is similar to Kittycataclysm's). I'm only an admin here for anti-vandalism purposes, FWIW. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 20:35, 14 March 2023 (UTC) == Question == Hey again - I have a question as a new reviewer in the team. Once an edit has been dealt with or reverted, should it be marked as "checked"? For example, [[Special:Diff/4220766/4243429|this edit]] which I reverted. Is the review button treated similarly to the patrol (as you find on other wikis)? Like, a rollbacked edit is automatically marked as patrolled. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 16:11, 15 March 2023 (UTC) :Hi @[[User:Svartava|Svartava]]! As far as I'm aware, the [[Help:Tracking changes#Reviewing pages|review feature]] performs a slightly different function to patrolling; edits by non-regular/inexperienced users are visually flagged as needing review to highlight that the edit has not been double-checked by an experienced user. Unaccepting/rolling back an unreviewed edit does not mark anything as "checked"—it just unflags the page for review. On the other hand, accepting an unreviewed edit both unflags the page for review and marks the edit in question as "checked"; I believe this is to let other users know who reviewed the edit. Does this answer your question? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 15 March 2023 (UTC) ::Thanks for the reply, I do get my answer. By the way, I'd also ask why [[Special:Diff/4243642/4243648|this edit]] of mine does not get <code>autoreview</code>ed? [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 05:11, 16 March 2023 (UTC) :::@[[User:Svartava|Svartava]] Unfortunately the link you asked about is broken, and I couldn't figure out which edit you're referring to :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 20 March 2023 (UTC) ::::{{ping|Kittycataclysm}} Actually, there is yet another such edit: [[Special:Diff/4243911/4243928]] by {{u|SHB2000}} who is an admin. Yet the edit wasn't autoreviewed?! This seems really strange. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 12:33, 20 March 2023 (UTC) :::::@[[User:Svartava|Svartava]] Because you've already checked that edit, I can't get a closer look at the details. However, I suspect what's happening is that people are rolling back specific edits without approving the entire edit chain. A reviewer can, on a page's history, select "rollback *** edits"; however, if they are just returning to a previous unreviewed edit, it will not automatically review those previously-unreviewed edit(s). This allows reviewers to, for example, revert an instance of obvious vandalism without assuming the responsibility of approving unreviewed edits they are not confident about. Hope this helps! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 20 March 2023 (UTC) ::::::Right, thanks, that makes sense! [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 02:00, 21 March 2023 (UTC) == Deletion request == Hello! Could you mass delete pages by [[Special:Contributions/111.65.45.229]] and [[Special:Contributions/Sacrsdra]]? I can seriously not believe how such trash edits persisted for so long here. Anyone with knowledge of chess is able to tell that these are just blunders and rubbish moves and not any real gambit. This is pretty much vandalism in my eyes and this is greatly disruptive as well as misleading since popular chess sites like lichess.org (see [https://lichess.org/analysis analysis board]) show what ''we'' have on our pages. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 04:35, 20 March 2023 (UTC) :Also {{ping|SHB2000}}. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 04:36, 20 March 2023 (UTC) ::{{done}} (and that IP is an insult to chess players ;-)). You might receive a faster response on [[WB:AN]], though. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 06:55, 20 March 2023 (UTC) :::Thank you @[[User:SHB2000|SHB2000]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:08, 20 March 2023 (UTC) == Hello,Help me == Hello, I want to change the pages for copyright violation, only you can help me in this matter. Also, how can I get permission for copyright. Please stay updated and guide me. thank you [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 13:53, 6 April 2023 (UTC) :You will not get permission to use copyright material. You need to write in your own words, not copy other people's work. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 14:21, 6 April 2023 (UTC) :@[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] Per Wikibooks' [[Wikibooks:Copyrights|copyright policy]], "if you want to import text that you have found elsewhere or that you have co-authored with others, you can only do so if it is available under terms that are compatible with the CC-BY-SA license" and "if the material, text or media, has been previously published and you wish to use it under appropriate license, you will need to verify copyright permission". This means you would need to secure explicit permission from a copyright holder to publish their material on Wikibooks under our license and terms. A [[Wikibooks:Boilerplate request for permission|template message exists]] to help people secure permission. However, few copyright holders are willing to relinquish their content, and it can honestly be more trouble than it's worth. As such, I also strongly recommend you write in your own words. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:51, 6 April 2023 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]@[[User:MarcGarver|MarcGarver]] ::You mean that I have used a source, I must guarantee it to you and confirm it according to the copyright license. Well, I fully guarantee and confirm these sources that I use. ::Is this enough for copyright? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 18:08, 6 April 2023 (UTC) :::@[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] No, that is not sufficient. You must reach out to the copyright holder asking for permission under the Wikibooks license and terms. If you get permission, you must prove and submit it in writing on Wikibooks, linking it to the page in question. For example, if you are copying and pasting from Encyclopedia Britannica (which you have done), you must submit proof that Encyclopedia Britannica officially gives us permission. However, I highly doubt that will happen. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:40, 6 April 2023 (UTC) ::::It allows me because there is no error. [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 03:49, 7 April 2023 (UTC) :::::Hi, how do I find the copyright holder? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 09:57, 10 April 2023 (UTC) ::::::@[[User:Kittycataclysm|Kittycataclysm]] [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 09:58, 10 April 2023 (UTC) ::::::You don't. As per Britannica's [https://corporate.britannica.com/termsofuse.html terms of service], the entire encyclopedia is under an "all rights reserved" license. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:13, 10 April 2023 (UTC) == my question == Hello to kittycataclysm, I am writing supplementary mathematics and I need another author to help me with writing this book. Do you know an author who is active and skilled in mathematics? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 12:33, 19 April 2023 (UTC) :Hi @[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]]. Unfortunately, I don't know anyone who would be suitable. I recommend posting in the [[Wikibooks:Reading room/Projects|projects page]] to let the community know you're looking for more authors. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 19 April 2023 (UTC) == Hebrew roots == I do not remember that I have been involved in such discussion. [[User:Soul windsurfer|Soul windsurfer]] ([[User talk:Soul windsurfer|discuss]] • [[Special:Contributions/Soul windsurfer|contribs]]) 13:54, 29 April 2023 (UTC) :Hi @[[User:Soul windsurfer|Soul windsurfer]]! You were not involved in the past discussion—I am soliciting feedback from active and experienced members of the Wikibooks community, and you're among these people. If you have feedback to provide on the issue, that would be great! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:59, 30 April 2023 (UTC) ::Wow, I'm impressed, it is not typical. You know that I'm not the expert in this topic. How can I help you ? I have read discussion pages. Can you point to a specific problem I can help you with? [[User:Soul windsurfer|Soul windsurfer]] ([[User talk:Soul windsurfer|discuss]] • [[Special:Contributions/Soul windsurfer|contribs]]) 16:44, 30 April 2023 (UTC) == Sample question == Hello!How are you? I want to write questions about the texts of the pages to add more readers to the supplementary mathematics book. what do you think? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:00, 7 May 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Unfortunately, I don't understand what you're asking. What do you mean about adding more readers and writing questions? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:34, 7 May 2023 (UTC) ::no,I want from texts of the book,Design questions. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:36, 8 May 2023 (UTC) :::@[[User:Germany Poul Ah|Germany Poul Ah]] I'm sorry, but I still don't understand. You'll have to clarify what you want. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:44, 8 May 2023 (UTC) == Hello. == Hello how are you? I wanted to know where I should see the statistics of additional Supplementary mathematics book visits? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 04:30, 20 May 2023 (UTC) :Hello @[[User:Germany Poul Ah|Germany Poul Ah]]. When you are on a page, there is a link in the left-hand navigation bar under the tools section called "Page information". You can see page views from the last 30 days here. You can also try the [https://pageviews.wmcloud.org/?project=en.wikibooks.org&platform=all-access&agent=user&redirects=0&range=latest-20&pages=Main_Page pageview analysis tool] for more detailed information. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 20 May 2023 (UTC) == Why Query in my article? == Hello. I have noticed, that You have put a line <nowiki>"{{Query}}"</nowiki> into my article West-East Notation & Bin Notation". I tried to find in Wikipedia what does it mean, but I failed. Should I do now anything? [[User:MusJabłkowy|MusJabłkowy]] ([[User talk:MusJabłkowy|discuss]] • [[Special:Contributions/MusJabłkowy|contribs]]) 19:25, 29 May 2023 (UTC) :Hi @[[User:MusJabłkowy|MusJabłkowy]]—thanks for your question! This template is often added to pages/books whose scope or purpose is unclear. In the case of your new book [[West-East Notation & Bin Notation]], the scope and purpose was unclear to me. Books on Wikibooks should have a clearly-identifiable purpose and structure so that others can learn and contribute; if this book does not show signs of being well-developed in this manner, it may be deleted. I hope this is helpful! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:36, 29 May 2023 (UTC) == Helping User's to my books' == Hello,How are you!? First of all, thank you for the copyrite that you told me, secondly, I am alone to write a book and I am looking for a few people who are new and experienced, I also applied but it didn't show up, can you tell me what to do? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:54, 4 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Thanks for taking care of the copyright issue. I'm not sure what you mean when you say "I also applied but it didn't show up". Regarding getting people to help you write a book, it's a bit tricky. Wikibooks currently has much lower activity than some other wiki projects (like Wikipedia)—this means we have fewer editors and contributors overall. You could try posting in the [[Wikibooks:Reading room/Projects|projects page]] to let the community know you're looking for more authors, but we just don't have many people who might respond. You might have more success talking to people you already know to see if they would be interested in helping. Cheers! [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:40, 4 June 2023 (UTC) ___ ::Hello, please. So you are saying that I should give a notice that (I need help to write my own books)? But let us tell you about one thing. The statistics estimated the number of users of wikibooks to be almost 400 people. The number is not small. I can find at least 8 of the 400 users of wikibooks who have intellectual genius for mathematics. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 13:41, 4 June 2023 (UTC) :It's true that 400 people may seems like a lot, but the community engagement is fairly low. Still, you are more than welcome to reach out to specific users to ask them for help! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:44, 4 June 2023 (UTC) == Interesting offer == {{ping|Kittycataclysm}} Hello dear user, instead of using English sources to write the book, I decided to use Wikipedia and English sources from Wikipedia and German, French, Arabic, Persian, Italian, etc. to write the book. What do you think? In this way, copyright is not violated much. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 10:41, 9 June 2023 (UTC) :Hello @[[User:Germany Poul Ah|Germany Poul Ah]]—I apologize for my delayed response. Are you asking if it's allowed to copy verbatim from other wiki projects? It is not appropriate to copy verbatim from other projects without leaving a "trail" to maintain edit history. If you wish to take content directly from other wiki projects, you should request an [[Help:Importing|import]] of a page into Wikibooks, then move/dewikify/translate that content in your book as appropriate. If an import is not possible, then you should preserve the edit trail by linking to the original page in the edit summary. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:56, 12 June 2023 (UTC) ::Hello, I also apologize. I was angry. I thought you had a disagreement with me and did not want to talk to me. ::But in the end, we shouldn't take it seriously. So, thank you for answering me. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:34, 13 June 2023 (UTC) :::Also, @[[User:Kittycataclysm|Kittycataclysm]] can I request permission to copy and edit the English sources that I want to write with? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:39, 13 June 2023 (UTC) ::::In the meantime, @[[User:Kittycataclysm|Kittycataclysm]] how do I apply for permission to sister projects of Wikibooks and other Google projects? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:51, 13 June 2023 (UTC) :::::I'm not quite sure what you mean. If there's a page from another wiki project that you want to import, you can make a request at the [[Wikibooks:Requests for import]] page. Does that help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:45, 13 June 2023 (UTC) ::::::Yes, this helps a lot, thank for you. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:35, 14 June 2023 (UTC) == Greetings == Hi @[[User:Kittycataclysm|Kittycataclysm]], how are you doing? Yayyy, it’s me again, we e-met sometimes ago when we held the Nigerian Cuisine event which saw the cookbook been enriched with a lot of Nigerian cuisine, thank you so much for your support throughout the project. This is to bring to your notice that we have initiated a follow up project called African Cuisine - AfroCuisine - Meta (wikimedia.org), to drill down into some more African cuisine and specifically improve and clean up some of the articles created during Nigerian Cuisine. We will commence training the new and existing editors on 17th, June 2023.  As always, your support would really be appreciated. Kind regard [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 14:37, 15 June 2023 (UTC) :Nice to see you again @[[User:B.Korlah|B.Korlah]]! I'll keep an eye out for this—let me know if you need any help. As a refresher for new editors, I am linking [[Cookbook:Policy]], [[Cookbook:Help]], [[Cookbook:FAQ]], and [[Cookbook:Policy/Recipe template]]. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:58, 15 June 2023 (UTC) Thank you very much for this, I really appreciate. I’d let you know if I need any further assistance. If there’s anything, feel free to ping me [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 18:47, 15 June 2023 (UTC) :Hi @[[User:B.Korlah|B.Korlah]]! Could you please make sure contributors from this project are fully matching the cookbook policy and the recipe template? I have had to make significant corrections on many recipes, including spelling, formatting, linking, and more. Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:31, 25 June 2023 (UTC) ::Thank you very much @[[User:Kittycataclysm|Kittycataclysm]]. I can see all the works you’re doing and I am also following up on them. You’d see changes soon. ::Regards. [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 19:39, 25 June 2023 (UTC) == Is this reference correct? == Hi@[[User:Kittycataclysm|Kittycataclysm]].I used this German link to expand the parallelogram article, some of its sources are in English, and I edited it and mentioned the source. Is this acceptable? Here is the link:https://de.m.wikipedia.org/wiki/Parallelepiped I was afraid to write with another source after that blocking. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 05:47, 16 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Yes that's fine. Just please put the link to the original wiki article in the '''edit summary'''. You could say something like "added content from German Wikipedia (*link goes here*)". No need to make an inline citation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:54, 16 June 2023 (UTC) ::Thank you. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:58, 16 June 2023 (UTC) ==Afrocuisine== Hi {{ping|Kittycataclysm}} how are you doing? I'm reaching out to an administrative person here on Wikibooks Cookbook, tried reaching out to [[Mrjulesd]] who was really helpful when I started editing here on Wikibooks but I haven't gotten a reply yet. But I'm reaching out to bring to your notice that a follow-up project called African Cuisine which is basically the 2.0 of Nigerian cuisine would be starting on the 17th of June, this project aims to add more African cuisines to the Wikibook cookbook and specifically improve and clean up some of the articles created during Nigerian Cuisine. Your support would really be appreciated. Kind regards, Richard. :Hello and thank you for the heads-up! I will keep an eye out for these edits. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:50, 17 June 2023 (UTC) :Thank you! [[User:Edriiic|Edriiic]] ([[User talk:Edriiic|discuss]] • [[Special:Contributions/Edriiic|contribs]]) 15:44, 19 June 2023 (UTC) == Question == Hello, I did not copy from English Wikipedia and I use German, French, Persian, Arabic, Italian Wikipedias and sources along with English and I copy and Use some of them (except English Wikipedia and sources), did I do something wrong? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 18:38, 23 June 2023 (UTC) :@[[User:Germany Poul Ah|Germany Poul Ah]] As I have told you, if you take content from any other Wiki project (even translated from other languages), you must maintain the chain of attribution by importing or linking to the original in the edit summary. If you do not continue the chain of attribution, it is a policy violation. I have explained this multiple times, but you continue to violate policy—further violations will result in a block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:25, 24 June 2023 (UTC) ::If I cite the source and edit it in the summary, is it a solution? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:09, 24 June 2023 (UTC) :::Hello again, I have a thought My opinion is to make the book again and delete all the content at once. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 05:33, 24 June 2023 (UTC) ::::@[[User:Germany Poul Ah|Germany Poul Ah]] Yes, putting the link to the original Wiki article in the edit summary is acceptable attribution. I don't know what you mean regarding deleting the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 24 June 2023 (UTC) :::::I meant to delete the contents, which I stopped working on. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:54, 25 June 2023 (UTC) == QUESTION 2 == Hello,I apologize for bother me,I'm not know from politics of wiki books.Now You Tell me That What am I must doing? I am very concerned about book authoring and wikibook policy. Where should I read the Wikibooks policy for copyright protection, correct book writing, etc.? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 11:24, 26 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. You can read Wikibooks general policies [[Wikibooks:Policies and guidelines|here]], and the policy on copyright [[Wikibooks:Copyrights|here]]. Is this what you wanted to know? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:33, 26 June 2023 (UTC) == re [[Special:Diff/4309386]] == Hi, Kittycataclysm, just an FYI that we've had a ''lot'' of issues with that user's incompetence on the English Wikivoyage – see [[voy:User talk:Grace789]] and [[voy:Wikivoyage:Votes for deletion/April 2022]]. It might take a while to get that user's attention (it might not even happen), so I'm letting you know in advance. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:16, 18 July 2023 (UTC) :Got it, thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:24, 18 July 2023 (UTC) == HI == Hello, dear user, I found a text from a site where the text of Wikipedia 2007 can be placed, can I use it?   This is the 2007 Wikipedia text Euclidean geometry is a mathematical well-known system attributed to the Greek mathematician Euclid of Alexandria. Euclid's text Elements was the first systematic discussion of geometry. It has been one of the most influential books in history, as much for its method as for its mathematical content. The method consists of assuming a small set of intuitively appealing axioms, and then proving many other propositions ( theorems) from those axioms. Although many of Euclid's results had been stated by earlier Greek mathematicians, Euclid was the first to show how these propositions could be fitted together into a comprehensive deductive and logical system. The Elements begin with plane geometry, still often taught in secondary school as the first axiomatic system and the first examples of formal proof. The Elements goes on to the solid geometry of three dimensions, and Euclidean geometry was subsequently extended to any finite number of dimensions. Much of the Elements states results of what is now called number theory, proved using geometrical methods. For over two thousand years, the adjective "Euclidean" was unnecessary because no other sort of geometry had been conceived. Euclid's axioms seemed so intuitively obvious that any theorem proved from them was deemed true in an absolute sense. Many other consistent formal geometries are now known, the first ones being discovered in the early 19th century. It also is no longer taken for granted that Euclidean geometry describes physical space. An implication of Einstein's theory of general relativity is that Euclidean geometry is only a good approximation to the properties of physical space if the gravitational field is not too strong. [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 09:29, 9 August 2023 (UTC) :Hi @[[User:Germany paul whq2|Germany paul whq2]]. Could you please share the link to this revision of the Wikipedia page? Thanks –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:24, 9 August 2023 (UTC) hello this is it= https://www.cs.mcgill.ca/~rwest/wikispeedia/wpcd/wp/e/Euclidean_geometry.htm --[[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 06:30, 11 August 2023 (UTC) :@[[User:Germany paul whq2|Germany paul whq2]] This is not a Wikipedia page—it is a separate website that has taken, modified, and rehosted text from Wikipedia. You should not copy content from this page. If you want to take material from Wikipedia, you should take from the original page and then link that revision in the edit summary on Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 11 August 2023 (UTC) ::No, no, no, I wanted to know if that source can be copied and edited on it [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 11:18, 14 August 2023 (UTC) :::excuse me Excuse me, I have a question, where should I make a robot, and if you know someone who knows how to make a wiki electronic robot, can you introduce me to it? [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 11:27, 14 August 2023 (UTC) ::::@[[User:Germany paul whq2|Germany paul whq2]] No, you may not "copy and edit on" that source. I do not know much about using bots—you may want to ask @[[User:JackPotte|JackPotte]] or @[[User:Leaderboard|Leaderboard]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:22, 14 August 2023 (UTC) ::::: Hello, by the past my bot has already imported thousands of pages, but it's a long dev for each source. It means that it's not interesting to import less than 100 pages by bot, even more if it's just copy-pastes. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 14:30, 14 August 2023 (UTC) ::::::well,I use this from bot,can i do use for writeing my books this from bot? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 17:33, 14 August 2023 (UTC) == The Miraheze Cookbook == Miraheze volunteers created a wiki-based cookbook: The Miraheze Cookbook. This wiki is a crossover between wikiHow and Wikibooks cookbook. The link is https://cookbook.miraheze.org. Would you like to contribute to the wiki? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:04, 13 August 2023 (UTC) :Hi @[[User:Xeverything11|Xeverything11]]—thank you for letting me know. I will stick with Wikibooks, but best of luck. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:12, 13 August 2023 (UTC) ::Here are the recipes on The Miraheze Cookbook volunteers of Miraheze created: [https://cookbook.miraheze.org/wiki/Scrambled_Eggs Scrambled Eggs] and [https://cookbook.miraheze.org/wiki/French_Toast French Toast]. What do you think of the recipes on The Miraheze Cookbook? At the writing, there are 2 recipes on The Miraheze Cookbook compared to 3,000+ here. If you want to contribute to The Miraheze Cookbook, follow the [https://cookbook.miraheze.org/wiki/The_Miraheze_Cookbook:Policy policy], especially the Manual of Style, and go ahead, contribute! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 12:18, 14 August 2023 (UTC) :::@[[User:Xeverything11|Xeverything11]] I will not be contributing to this project. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:31, 14 August 2023 (UTC) == Cookbooks == Hi, thanks for making all the good cookbooks, keep it up! [[User:Alextejthompson|''Alextejthompson'']] (''Ping me or leave a message on my [[User talk:Alextejthompson|talk page]]'') 16:53, 11 September 2023 (UTC) == Religion of Shia Islam == Hello, the book of the Shiite religion, as the name suggests, this book is for Shiites. But you say this article should be unbiased. Why? This article is for Shiites and should not be written impartially. been gone for a few weeks, what a transformation!😮 [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 19:01, 17 September 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. I said that the book should be written from a neutral point of view because of the wikibooks [[Wikibooks:Neutral point of view|neutral point of view policy]]. My understanding of the policy suggests that a book on Shia Islam should be educational about the topics and beliefs in the religion (i.e. a description of the faith) without necessarily espousing those beliefs. Much of the content you have added can be considered educational, but I think it needs to be edited accordingly for neutrality. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:39, 18 September 2023 (UTC) :Additionally, it is good practice to cite the sources of your information. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:41, 18 September 2023 (UTC) ::Yes, of course, but since the book is about Shiites, it should be based on the beliefs of Shiites. ::Also, don't worry about the source ::I write like "Wikishia" [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:49, 18 September 2023 (UTC) :::Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. You are correct that the book should be about Shiite Islam and the beliefs of Shiites; however, it needs to be written from a neutral point of view per the policy. I understand that NPOV is difficult to achieve as a single author, so I may be able to help edit for neutrality to at least show you what I mean. :::Regarding sourcing, I can't "not worry about the source". It is important to have a minimum of sourcing for educational books, especially for those based in historical/cultural events like this book is, and this too is policy. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:00, 18 September 2023 (UTC) ::::@[[User:Kittycataclysm|Kittycataclysm]] hi Well, don't worry about the source, I will make them Generalization with an article. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 18:20, 18 September 2023 (UTC) :::::@[[User:Kittycataclysm|Kittycataclysm]] Hi,I did not understand the definite opinion, I can write based on the opinions of Muslims or speak impartially. :::::But my opinion is that this book should not be written impartially because I don't can to write impartial things as a Muslim. Please guide me, I am completely confused. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 04:51, 21 September 2023 (UTC) == I reverted an edit to your user page == Hello, one user who wanted to send a message to you, wrote their message on your user page, so I reverted it. Please check page history for details of the message. Thank you for your attention. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:50, 19 October 2023 (UTC) :Thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:09, 19 October 2023 (UTC) == Thank you! == I am a big fan of cookbooks here, and I just wanted to thank you for your work on improving and adding cookbooks! [[User:Wikiuser13|Wikiuser13]] ([[User talk:Wikiuser13|discuss]] • [[Special:Contributions/Wikiuser13|contribs]]) 00:29, 25 November 2023 (UTC) :Thank you, that's very kind :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:27, 26 November 2023 (UTC) == Fuzzball article == {{strike/top}} {{ping|Kittycataclysm}} With regard to Wikibook’s ''[[Fuzzball (string theory)]]'' article, I had originally created it on Wikipedia but another editor found it too expansive (a book-like treatise on a broad subject matter) for Wikipedia and took it over, deleting the majority of it. Then another editor over there suggested that Wikibooks would be a more suitable location. So I did a raw import to here on Wikibooks last night; it obviously needs some work to trim out unnecessary external links to en.wikipedia; this could take me up to a week. The ostensible reason for trimming out so much material from what I had there was it included notes explaining things, like how the names of “Theory of Special Relativity” and “Theory of General Relativity” got their names. The original paper’s names by Einstein were things like “On the Electrodynamics of Moving Bodies.” And when I researched the issue, I’d stumble across discussions on Physics Stacks Exchange where people had asked these same questions and no one was able to properly answer them. So I dug down and found out that it was Einstein himself who gave his theories their modern names. I tried to make my article a full-service book-like treatise that answered specific questions and covered the historical ground work that got us from Einstein to today. [https://en.wikipedia.org/w/index.php?title=Fuzzball_(string_theory)&oldid=1188191052 Here] is a permalink to what I originally had on Wikipedia before the new editor gutted it. Based on what you see there, do you think it can be transformed into something that fits well here? If you think it looks like something that has promise for residing here, would you mind replacing the current tag with one of those “sweeping broom” (under construction) tags? It shouldn’t take more than a week to get it 90% there. '''P.S.''' By the way, six of the images—including the animation of the collapse—that you see on that perma-link to Wikipedia are ones I created specifically for this article. I believe that communicating with images and graphs makes PowerPoint presentations, white papers, and books, more interesting and informative. '''P.P.S.''' I copied the article to [[User:Greg_L/sandbox|my sandbox]], which I believe is the ideal place for conversion work. What do you think is the best way to show the article-space as a temporary work in progress? A “broom” tag? A stub? A stub ''and'' a broom tag? Other? [[User:Greg L|Greg L]] ([[User talk:Greg L|discuss]] • [[Special:Contributions/Greg L|contribs]]) 18:06, 5 December 2023 (UTC) {{strike/end}} :Hi @[[User:Greg L|Greg L]]. I took a look at the materials you linked and at your note at [[User talk:Mrjulesd]]. As it stands, I feel like it would make sense to incorporate it into an existing book, rather than creating an entirely new book around it. One-off articles are more out of place here than on Wikipedia. Can you take a look at [[Shelf:Physics]] and see if your work could be incorporated into one of the books there? In the meantime, working on it in your sandbox is completely fine. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:56, 6 December 2023 (UTC) ::As far as I can tell, ''Fuzzball (string theory)'' would best belong as a book #7 under ''13. Black holes'' at ''[[General Astronomy]]''. Yes? [[User:Greg L|Greg L]] ([[User talk:Greg L|discuss]] • [[Special:Contributions/Greg L|contribs]]) 01:30, 7 December 2023 (UTC) == To kitty kat == can you please stop doing what you are doing by removing what people edited and adding your own false recipes it is really not helping [[Special:Contributions/41.116.238.216|41.116.238.216]] ([[User talk:41.116.238.216|discuss]]) 11:19, 14 January 2024 (UTC) :No idea what recipies your adding, 41.116. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 16:52, 14 January 2024 (UTC) :Could you please be more specific? I don't know what you are referring to. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:36, 14 January 2024 (UTC) ::I followed your edits it led to me burning my kitchen i followed your citations the led to a virus that costs me $200 for me to repair [[Special:Contributions/41.116.216.82|41.116.216.82]] ([[User talk:41.116.216.82|discuss]]) 18:32, 15 January 2024 (UTC) :::Wikibooks editors are not liable for something you did. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:29, 15 January 2024 (UTC) ::::are you kitty Kat sir or mam [[Special:Contributions/41.116.248.36|41.116.248.36]] ([[User talk:41.116.248.36|discuss]]) 17:33, 19 January 2024 (UTC) :::::41.x, why would that matter? --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 08:10, 20 January 2024 (UTC) ::::::Stop answering questions that are not directed to you mister or whatever you are [[Special:Contributions/41.116.195.45|41.116.195.45]] ([[User talk:41.116.195.45|discuss]]) 06:42, 21 January 2024 (UTC) :::Remember to be careful with links, I feel as though this should be known already by somebody using the internet. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 09:13, 20 January 2024 (UTC) ::::Shut up boob face [[Special:Contributions/41.116.198.58|41.116.198.58]] ([[User talk:41.116.198.58|discuss]]) 15:01, 23 January 2024 (UTC) ==Redirect I created was deleted by you== Hi {{PAGENAME}}, I just checked my watchlist and I see that you deleted a redirect I created yesterday. I would like to apologize for creating additional work for you. My intention was to help, not to increase your work load. I will refrain from making any more changes to the cookbook from now on. Sorry to have troubled you. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:37, 26 January 2024 (UTC) :@[[User:Ottawahitech|Ottawahitech]] Please don't worry about it! It's not a big issue, and you are welcome to continue contributing. It's a learning process :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 26 January 2024 (UTC) ::@Kittycataclysm: Thank you for your gracious reply. ::Since we have not interacted before I would like to explain why I posted this in the first place. I have been part of the Wikimedia movement since 2007 (yes, I am ancient:), first at enwp exclusively until about 2012. After I was shunned from enwp in 2017 I have participated quite extensively in other sister-projects, perhaps a bit less enthusiastically than my first 10 years. ::Since I joined the movement I have had trouble with my contributions being deleted, not reverted or undone, but deleted by admins. Many of these deletion were carried out "silently", as in without telling me about the deletion. I have therefore become very sensitive about this. Deleted contributions disappear from the contribution page of participants, so for someone who only participates sporadically and uses their contribution page to refresh memory this is a real issue, especially if many of the contributions they make end up being deleted without notifications. ::I hope I am making sense? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 19:08, 27 January 2024 (UTC) :::I can definitely understand how that would be frustrating! If helpful, I can make sure to alert upon page deletions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:57, 28 January 2024 (UTC) ::::Thanks again for the gracious offer. I just tried to explain the way things look like from the POV of a ''low-key, low-input, good-faith'' contributor, but please do not go out of your way to treat me differently than others are treated at WB. I will continue to try and help whenever I get a chance. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 15:58, 29 January 2024 (UTC) == Sorry == Kittycat sorry for everything i said your editing helped a lot please forgive [[Special:Contributions/41.116.190.118|41.116.190.118]] ([[User talk:41.116.190.118|discuss]]) 12:03, 28 January 2024 (UTC) == "Zuppa toscana", not "zuppa Toscana" == Hi, your move of the "zuppa toscana" page to "zuppa Toscana" is incorrect, please read these three conversations: [[wikipedia:Talk:Pecorino romano#Requested move 19 November 2023]]; [[wikipedia:Talk:Pecorino romano#Requested move 19 November 2023]]; [[wikipedia:Talk: Caffè americano#Requested move 19 November 2023]]. However, the [[wikipedia:Title case|title case]] page states: "When using title case, all words are capitalized, except for minor words (typically articles, short prepositions, and some conjunctions) that are not the first or last word of the title."; "toscano" is and '''adjective'''. [[User:JackkBrown|JackkBrown]] ([[User talk:JackkBrown|discuss]] • [[Special:Contributions/JackkBrown|contribs]]) 16:53, 29 January 2024 (UTC) :Hi @[[User:JackkBrown|JackkBrown]]. Wikibooks is not Wikipedia, and its stylistic conventions do not necessarily apply here. As I noted on your talk page, the stylistic conventions of the cookbook here are such that recipe titles are in title case, with English (not Italian) capitalization conventions and major words capitalized. It is worth noting that each book here may have different stylistic conventions, but this is how titles should work in the cookbook. Thanks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:25, 29 January 2024 (UTC) ::{{Ping|Kittycataclysm}} great! Forgive me. [[User:JackkBrown|JackkBrown]] ([[User talk:JackkBrown|discuss]] • [[Special:Contributions/JackkBrown|contribs]]) 02:56, 30 January 2024 (UTC) == [[Free Knowledge Culture Calendar]] == [[File:FLOSS calendar prototype 2022-12-13.jpg|thumb|first physical galley proof]] It largely unclear to me what clarifications you’re asking for, and I feel a bit pressured, to be honest. (Like I need to guard my content against deletionists or something.) Early on after I started publishing here, I tried to document the vision I was working towards concisely, yet accurately and in detail, on the main talk page for any potential co-authors. Did you notice that at all?... I’m trying to do a kind of innovative history book that is easy to engage, with bite-sized information that fits between two sips of coffee, e.g. to be consumed daily at breakfast or as login [[w:Message of the day|MOTD]]s. I feel like the biggest chunk of work and research is done and it’s provisionally already somewhat functional: You might not realize at first glance how much work it is to find a topic/story for each day of the year. While quality of the topics could surely be improved here and there, this work has reached a provisional conclusion. – Now all that remains is to write the stories, and that should be much more straightforward in comparison and easier to participate in. For an idea of one thing this can be, to the right there’s a photo of the first paper prototype, e.g. for the breakfast table. You are very welcome to leave point notes on individual stories, find the single best media piece for further study of a topic, work on good complementary illustrations, flesh out a story, give any actionable feedback, or come up with a better title.--[[User:Reseletti|Reseletti]] ([[User talk:Reseletti|discuss]] • [[Special:Contributions/Reseletti|contribs]]) 19:07, 4 February 2024 (UTC) :Hi @[[User:Reseletti|Reseletti]] and thanks for the information! I queried the book because it seemed mostly abandoned for over a year, the handful of random pages I clicked on only had one sentence each, and I didn't fully understand the concept based on the talk page. It seems like a lot of the pages still need to be fleshed out (I imagine maybe a paragraph each to reasonably form a book?) Just out of curiosity, do you plan on resuming the work on the book? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 4 February 2024 (UTC) :Also I like the little feature to navigate to today's page! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:12, 4 February 2024 (UTC) == Champorado (chocolate porridge) Philippine cuisine == I added Champorado. I didn't copy paste it from a ready made recipe. I asked my mother on how to cook it. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 06:17, 6 February 2024 (UTC) :@[[User:Jay Bolero|Jay Bolero]] yes that recipe is totally fine, as is [[Cookbook:Pinakbet]]. But, where did you get [[Cookbook:Lechon Kawali (Chili-Honey Glazed Filipino Pork Belly)]]? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:13, 6 February 2024 (UTC) ::I accidentally saw that recipe. It was originally named Chili Honey Glazed Filipino Pork Belly (Lechon Kawali). ::I moved the name into ::Lechon Kawali (Chili Honey Glazed Filipino Pork Belly) [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:26, 6 February 2024 (UTC) ::I didn't make the recipe of Lechon Kawali. It already existed in the Cookbook. I just improved it and placed it in the list of Filipino cuisine. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:27, 6 February 2024 (UTC) ::By the way, I made the Cookbook:Calamansi. ::Calamansi is one of the important ingredient in Filipino cuisine. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:29, 6 February 2024 (UTC) :::Great, thank you :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:08, 6 February 2024 (UTC) == The other Lechon Kawali == The last Lechon Kawali you marked as copyvio is not actually a copyvio. It has no Glazing needed. It does not need an airfryer to be cooked. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:44, 8 February 2024 (UTC) :This one is not a copyvio [[Cookbook:Lechon Kawali (Filipino Crispy Fried Pork Belly):|Cookbook:Lechon Kawali (Filipino Crispy Fried Pork Belly)]] [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:46, 8 February 2024 (UTC) ::That recipe didn't violate any copyright. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:50, 8 February 2024 (UTC) :::The Chili Honey Glazed is the one that violated a copyright [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:51, 8 February 2024 (UTC) ::::The two versions of Lechon Kawali recipes are different from each other. That last one is not copy pasted from an existing recipe. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:59, 8 February 2024 (UTC) :::::@[[User:Jay Bolero|Jay Bolero]] you can see my response on your talk page. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:06, 8 February 2024 (UTC) == My two books on Wikibooks == I wrote two books on Wikibooks entitled Bikol and the other one is Learn Baybayin. You might want to review them. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 08:01, 8 February 2024 (UTC) == AuthorsAndContributorsBot == Hi, I have stumbled upon this bot which seems to be inactive. However, it also seems to have released its source code. Can I run this bot to update the authors lists? I will create a separate account for this. -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 13:12, 9 March 2024 (UTC) :Sorry for missing this @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]! Are you asking whether you're allowed to create a new bot account with the source code in order to fix the inactive bot? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 5 April 2024 (UTC) ::Yes, this is what I meant. [[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 14:44, 6 April 2024 (UTC) :::I don't see why not! @[[User:JackPotte|JackPotte]] @[[User:Leaderboard|Leaderboard]] I know you both run bot accounts, so is there anything they should know before doing this? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:30, 9 April 2024 (UTC) ::::Hi {{re|Kittycataclysm}} mainly ::::* test the bot first - the [[:mw:Beta Cluster|Beta Cluster]] or [[:testwiki:|test wiki]] are good places ::::* ask for the appropriate permissions so that it does not bother patrollers. This would normally be autoreviewer if the bot is low-volume, or the bot right otherwise. ::::[[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:47, 10 April 2024 (UTC) ::::: Hello, actually last year I had launched [[User:AuthorsAndContributorsBot/source_code]] on four pages (ex: https://en.wikibooks.org/w/index.php?title=World_Cultures/Authors_%26_Contributors&diff=prev&oldid=4285894) and it worked fine, but I've stopped because it needed to maintain [[User:AuthorsAndContributorsBot/blacklist]] and [[User:AuthorsAndContributorsBot/List of books]], or even better: to make them dynamic. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 07:00, 10 April 2024 (UTC) ::::::Thank you very much! What do you mean by maintain the pages or make them dynamic? Thanks in advance, -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 12:43, 26 April 2024 (UTC) == [[Sheaf Theory]] == @[[User:Kittycataclysm|Kittycataclysm]] and @[[User:Az1568|Az1568]], I don't quite understand; why was this tagged and deleted? The criterion cited says {{tq|Abandoned pages displaying intent, but no actual content}}, but I'd argue there was a decent amount of content in the few deleted pages. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 17:27, 4 April 2024 (UTC) :Hi @[[User:1234qwer1234qwer4|1234qwer1234qwer4]]! I believe I initially queried it while sorting through old abandoned books because the scope and future of the book were unclear to me, and I couldn't see a way forward for it. It turns out that queried books end up in candidates for speedy deletion after a certain period, which I think is how it eventually got deleted by @[[User:Az1568|Az1568]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 4 April 2024 (UTC) ::Yep that's correct. The book has appeared largely undeveloped since 2018, and unfortunately, there were no attempts to oppose the initial query left on the book itself, nor were there attempts to expand on its content. --[[User:Az1568|Az1568]] ([[User talk:Az1568|discuss]] • [[Special:Contributions/Az1568|contribs]]) 20:05, 4 April 2024 (UTC) :: So how exactly is this reflected in policy? [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 14:09, 14 April 2024 (UTC) :::Hi @[[User:1234qwer1234qwer4|1234qwer1234qwer4]]! So, I went back to take a look at it. The book consisted of two pages, with no introduction or clarification of scope/aims/educational relevance. It seems to just have been some mathematical definitions with no accompanying educational/instructional material. It was also abandoned for several years. I only intended to query it, but it did seem to meet criteria for deletion at [[Wikibooks:Deletion policy]]. Notably, the policy says to "delete stubs that are too narrowly defined or do not have a decent definition of what they are about", which I do think applied to this book as mentioned. It's possible that it should have been a RFD instead of a speedy deletion, but I do think overall it makes sense according to policy. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:02, 14 April 2024 (UTC) == Miraheze == I am patrolling [https://meta.miraheze.org/wiki/Special:RecentChanges Miraheze's recent changes] and noticed there is username Kittycataclysm in recent changes in that wiki. Did you create this account on that wiki? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:46, 10 April 2024 (UTC) :Hi @[[User:Xeverything11|Xeverything11]]. Thanks for asking. No, I do not have a Miraheze account, and I am not active over there. Whoever is operating under the username "Kittycataclysm" there is not me. Since they've copied my entire user page, I assume they are impersonating me for some reason. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:40, 10 April 2024 (UTC) ::Looking into [https://meta.miraheze.org/wiki/Special:CentralAuth/Kittycataclysm that account's CentralAuth], it had made a total of 24 edits at the writing - 19 are from Cookbookholic, 3 are from Miraheze Meta, 1 is from Miraheze Login Wiki, and 1 is from Amazing YouTubers Wiki. What is that account doing? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 07:29, 11 April 2024 (UTC) :::No idea. I'm not going to get involved over there, since this is my home wiki. But, since you have an account there, it might be nice if you could let them know that this person is an impersonator. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:07, 11 April 2024 (UTC) == [[Special:Contributions/Favonian]] == Hello. I think you may have blocked the wrong user. A different user made their talk page. Please check their local and global contributions. Thank you for your attention. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:57, 11 April 2024 (UTC) :Oh gosh, thank you for letting me know—that was a mistake on my part. Should be fixed now! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 11 April 2024 (UTC) == Jumarkese == I just want to ask, why you deleted my page "Jumarkese" on Wikibooks? And how I can revive my page? [[User:Jumark27|Jumark27]] ([[User talk:Jumark27|discuss]] • [[Special:Contributions/Jumark27|contribs]]) 11:06, 17 April 2024 (UTC) == Thanks == Wanted to say thanks for all the work you do on Cookbooks. Have a good one! :) [[User:Aekrinine|Aekrinine]] ([[User talk:Aekrinine|discuss]] • [[Special:Contributions/Aekrinine|contribs]]) 02:23, 29 April 2024 (UTC) :Thank you, that's very kind! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:06, 29 April 2024 (UTC) == Talk page cluttered == Your talk page is cluttered. I recommend implementing archiving. [[Special:Contributions/98.115.164.53|98.115.164.53]] ([[User talk:98.115.164.53|discuss]]) 17:10, 5 May 2024 (UTC) :They are free to do what they want with their talk page (as long as it's under 2 MB). --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:25, 6 May 2024 (UTC) == Incompelete Recipe.. == You have misnested bold formatting. When using <nowiki>'''</nowiki> you can't have soft-line-feeds in between the <nowiki>'''</nowiki> markup. If you want a line-feed use <br>, and removes the soft-line-feeds. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 13:39, 15 May 2024 (UTC) :Hi @[[User:ShakespeareFan00|ShakespeareFan00]] and thanks for reaching out! I think there was a misunderstanding of what I wanted the template to look like—it looked correct based on the preview after making several adjustments to the template, but the quotation marks ended up in a sloppy location. At any rate, I think I understand what you were trying to do, and I've fixed the markup positioning. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:00, 15 May 2024 (UTC) :: The script I use to identify Lints also note that you have {{tag|strike}} tags in this talk page, These are nominally deprecated. Please consider using {{tl|strike/top}} and {{tl|strike/end}} in preference. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 07:35, 16 May 2024 (UTC) == Lints.. == You may be interested in helping look for unclosed italics elsewhere - I made a list of everything with missing tags in ns0: https://public-paws.wmcloud.org/4407/books.txt The more that can be cleaned up the better.. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 18:36, 16 May 2024 (UTC) == Sderot == Hi, I have noticed your edit in [[October 7th Massacre/Sderot]]. Could you please explain why you found in necessary to remove 2,462 bytes of content? I have noticed that you have not only changed the style and the grammar, but have also removed many details that would help the reader understand the events better. Thanks in advance, -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 08:46, 7 June 2024 (UTC) :Hi @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]—I am happy to explain my edits! They were based on the following: :* '''Style:''' Wikibooks uses a neutral educational style, and NPOV is important. The initial style of the chapter was less like a neutral informational text and more like storytelling, with embellishment and attention drawn to certain details in a more literary way that evokes specific images and emotions. I removed content that I felt detracted from the desired NPOV style or that I felt was otherwise distracting, etc. :* '''Caution:''' Because this book revolves around a very recent and polarizing event, the surrounding conflict of which is still ongoing and the details of which are still hotly discussed, I think it is especially important to aim for neutrality. :* '''Iteration:''' Because Wikibooks is a collaborative project, books develop from an iterative process to refine the content—it's not just a place to self-publish one's own book. You contributed the initial version, I iterated on it, and so on. :If you have specific questions about specific changes I made, I am happy to explain and discuss those as well. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:16, 7 June 2024 (UTC) ::Hi Kittycataclysm. Thank you very much for the the detailed response. Maybe I haven’t made that clear in the initial message, but I didn’t ask why was it necessary to iterate on the text. I asked why it was necessary to remove such an extensive amount of details. I don’t feel like I have written the original text with “embellishment and attention drawn to certain details in a more literary way that evokes specific images and emotions”. Of course describing a massacre does evoke emotions, however I don’t see this as a reason not to describe the events of October 7th as they happened. -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 13:36, 7 June 2024 (UTC) :::Gotcha. In terms of removing content, I removed details when I felt they met one or more of the following criteria: :::* Overly wordy/inefficient/clunky language (e.g. "They ran to the shelter, which was locked" --> "They ran to a locked shelter") :::* Indicative of subjective/non-neutral experience that is not necessary to understand the larger events that took place (e.g. "He understood on the first alarm that something isn’t right", "She was used to alarms", "it took her a while to understand what is going on", "“We behaved like in the story of Anne Frank”", "When she understood the electricity won’t come back", "The kids panicked and even told “We don't want to die, we are too little”", etc). :::* Excessive detail that is not necessary to understand the larger events that took place ("her husband, who works as a warden, had to go to work", "elderly people, including Holocaust survivors", etc). :::* Loaded language (e.g. "slaughtered" vs "killed", "terrorist" vs "attacker"/"assailant", etc) :::In some cases, I reworded things in a way that made them more concise, which decreased the overall content. Whenever I assess a sentence, paragraph, etc., I always evaluate its purpose and its effect, as well as whether it accomplishes the aims of the book and the Wikibooks project. :::Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:39, 7 June 2024 (UTC) ::::Thanks for the response! I have a few problems with it: ::::* About the locked shelter part, I think the best way to word it would be “they ran to the shelter only to find out that it was locked”. ::::* I don’t understand why the book can’t include the experiences of the witnesses. I would argue that the part saying “She was used to alarms” does indeed help understand the larger events (in that she was used to alarms since she heard many alarms before that). I didn’t really understand why a book on a massacre shouldn’t include these details. ::::* Again, please elaborate what you mean by “larger events” and by what extent an event has to be “large” in order to be noteworthy. ::::* Feels for me more like factual language than loaded. I’m not sure why calling terrorists “terrorists” is against NPOV. ::::* Thanks in advance,-[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 06:08, 8 June 2024 (UTC) :::::{{ping|Xania}}, what is your opinion on the topic? -08:20, 21 June 2024 (UTC) :::::Hi @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]—my apologies for the delayed response! Here are my responses: :::::* '''Locked shelter:''' Here I would ask why you feel that is the best way to word it. I made the change I did in order to convey the key facts (locked shelter) in the most concise and neutral way possible. I'm curious why you don't think it is appropriate. :::::* '''Witness experiences:''' I do think witness experiences can have value here. However, I think they must be used judiciously in order to best serve the purpose and scope of the book—a near infinite number of facts, statements, details, reports, etc could be included from the events, but not all of them need to be included in this book. It is challenging to make a blanket statement about what and how many witness experiences are relevant here, and it must instead be evaluated continuously through revision. I also think it's important to make it obvious that you're citing someone else's perspective when including it (e.g. "they said", "they reported", "according to ***") rather than narrating from their perspective. :::::* '''Event and detail inclusion:''' Again, it's hard to make a blanket statement outright on what details out of the many merit inclusion, and whether something is relevant is typically determined by book scope, revision, and consensus. I would argue that for this book, it doesn't make sense to spend words describing things like what shirt someone happens to be wearing, details related to their everyday life, their detailed personal perceptual experiences, etc. :::::* '''Loaded language:''' It may be helpful to take a look at these [https://englishforjournalists.journalism.cuny.edu/2020/02/07/loaded-words/ resources] on [https://www.tckpublishing.com/loaded-language/ loaded language], as well as [[w:Loaded language]] for context and overall guidance. Regarding the term "terrorist" specifically, [[w:Terrorism#Definition]] may be helpful as well—note its status as a charged and disputed term with strong non-neutral connotations. The term "attacker" still correctly describes the events taking place without inadvertently inserting strong connotations and leaning into political territory. :::::Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:36, 21 June 2024 (UTC) ::::::Thanks for the reply! ::::::* My problem with “locked shelter” is that it kind of makes it sound as if they knew the shelter was locked when they ran towards it. ::::::* I think I made it clear that I’m citing other people’s perceptive, however if not, I’m willing to edit the text. ::::::* Details about personal lives of people were only included when they helped the reader understand the events. We can’t assume the reader to be familiar with the frequency of alarms in Sderot. That’s why I think it’s necessary to explain that while she was used to alarms, this event was unprecedented. Such details help the reader understand the event better. In my opinion such an unprecedented event such as the October 7th massacre deserves a detailed book describing the events that took place. ::::::* I’m not convinced that the word “terrorist” is a politically loaded word. I still think it’s simply a factual description of them, though the word “attacker” is still technically correct. ::::::Cheers! -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 19:34, 21 June 2024 (UTC) == A little advice == Hello, I am currently on working on [[Cookbook: Honey Mug Cake]]. Any advice or anything to help? I can't help but feel something is missing from it. [[User:Soapyduck|Soapyduck]] ([[User talk:Soapyduck|discuss]] • [[Special:Contributions/Soapyduck|contribs]]) 09:35, 27 June 2024 (UTC) :Hello! I went through and made some edits, which you can see in the revision history. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 June 2024 (UTC) == Accessibility == The structure you chose for [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II]] has the unfortunate side effect that people can't link to the first four subsections in ==Procedure==. [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake]] will take them to the first. Do you have any ideas about how to make these later sections accessible to everyone? [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 06:19, 9 July 2024 (UTC) :Hi @[[User:WhatamIdoing|WhatamIdoing]]—thanks for checking in! In order to link to a second identical heading, you just use an underscore plus an index. So, to link to the second cake heading, you would use this: [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake_2]]. Hope this helps! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:10, 9 July 2024 (UTC) ::That's nice for the few of us who know that trick, but it doesn't help the 99.9999% of readers who aren't experts in MediaWiki's quirks. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 23:35, 9 July 2024 (UTC) :::It's not ideal, but it's also the best we can do for now. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:52, 9 July 2024 (UTC) ::::The original structure for the page had no duplicate section headings. Perhaps we should go back to that. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 00:43, 10 July 2024 (UTC) :::::Hi @[[User:WhatamIdoing|WhatamIdoing]]. I definitely understand your concern. However, the changes I made were to bring the recipe into alignment with the recipe template and all other recipes in the Cookbook. It is also a very common current standard for recipe-writing in English. Moreover, I think this kind of linking is actually very simple and very easy to teach/communicate—much more so than some other common MediaWiki features—and it is not unreasonable to expect editors to learn editing tips and tricks like this over time from more experienced users. You asked, and now you know a simple new trick to help with editing :) As an aside, I'm also not sure how often linking to subheadings like this is even used in the Cookbook, so I don't think it's a very big issue at the moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 10 July 2024 (UTC) ::::::Perhaps, if the standard recipe template creates accessibility problems for blind readers, we should have a better recipe template. ::::::BTW, I've been editing for about 18 years now, so unlike you, I was around when that "simple new trick" was introduced to MediaWiki. I know how it works. This is a problem for '''readers''', not for me personally. The problem isn't when an editor wants to put a link to the section (which happens on the talk page more often than in the cookbook). Imagine that a reader wants to ask a friend about this recipe. Think about a social media post that says "I'm confused by the directions in [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake]] ". That won't end up where the reader expected it to go, right? And while people who (like me) have made more than 100K edits at Wikipedia will probably know what to do, a reader is not going to be able to fix it. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 21:27, 13 July 2024 (UTC) :::::::@[[User:WhatamIdoing|WhatamIdoing]] I definitely agree with you that web inaccessibility is a problem! I'm just having a hard time understanding this particular case. I find it hard to imagine someone who '''is''' savvy enough to know that you can link to specific subheadings by hashing, but '''isn't''' savvy enough to know about the indexing system to modify it. Have you seen this come up as a problem before? At any rate, I've modified the headings here so they are specific enough to not need the indexing. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:13, 14 July 2024 (UTC) ::::::::Yes, it happens sometimes. That's one of the reasons why enwiki requires unique section headings. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 00:07, 15 July 2024 (UTC) == Wikiphilosophers == I saw your comment on [[Wikiphilosophers]]. Indeed, the whole idea of it is that people can put their own philosophical ideas on a subpage of their own. I discussed the proposal for the project on Meta-Wiki (see https://meta.wikimedia.org/wiki/Wikiphilosophers). There it was suggested that the project should first take shape on Wikibooks, if before becoming its own project. Personally, I think a own platform for Wikiphilosophers is also best, but I don't know how else to do it either? I look forward to hearing from you! Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 03:32, 21 July 2024 (UTC) :Hi @[[User:S. Perquin|S. Perquin]]! Thank you, and I read through the discussion you linked. Unfortunately, based on your envisioning of the project, I'm thinking that Wikibooks isn't the best place for it. You can take a look at [[WB:NOTMETA]], and generally [[Wikibooks:What is Wikibooks?]] for details. Specifically, Wikibooks is for creating instructional books based on preexisting documented knowledge, which Wikiphilosophers doesn't really match the way you've described it. I'm thinking that if any existing WMF project were to host this, it would be Wikiversity. I'd recommend checking out [[Wikiversity:What is Wikiversity?]] and [[Wikiversity:Wikiversity:Research|Wikiversity:Research]], as well as asking there if your project could have a home there. Hope this is helpful! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:12, 21 July 2024 (UTC) ::Thank you! I will post a message in the [[Wikiversity:Colloquium|Colloquium]]! Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 16:29, 21 July 2024 (UTC) :::I have permission to continue working on my project there. I have transferred all the information from Wikibooks to Wikiversity. All pages on Wikiphilosophers can therefore be deleted on Wikibooks! Could you take care of this? Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 18:42, 22 July 2024 (UTC) ::::Excellent—I'm glad to hear your project has found a home! I will delete any residual pages here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:25, 22 July 2024 (UTC) == [[JLPT Guide/JLPT N5 Grammar]] ([[special:diff/4424284]]) == The edit is partially correct and partially questionable. For example, せんせいい is an obvious typo (せんせい is accurate), and でんしゃ is the correct reading for 電車. However, converting 行(い)きます to いきます can be disputed (this can be considered as simplification, but others may prefer the usage of 行). I'm not sure if the IP editor is a native speaker (the ISP is in the UK), so I think we need to keep an eye on this page. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:09, 26 July 2024 (UTC) :I thought providing furigana for 'to go' might be an oversimplification but it's also there for other basic verbs like 'to eat'. Why is this person rejecting edits on a language they don't speak anyway? It would have taken 2 seconds to verify them with a dictionary. [[Special:Contributions/2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919|2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919]] ([[User talk:2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919|discuss]]) 15:39, 26 July 2024 (UTC) ::Thank you both for the information! Because 1) there is often vandalism by IPs in non-English content and 2) Wikibooks lacks enough users to do detailed vetting, I tend to be very conservative regarding this kind of edit when not accompanied by an explanation in the edit summary. I am happy to restore the initial edit since an explanation has now been provided. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:08, 26 July 2024 (UTC) == Wrong deletion == hello!I noticed that you deleted the edits I made to Lesson 12 of the Chinese textbook. Please give it back to me, and undo your deletion so I can continue working. [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 05:04, 3 August 2024 (UTC) :Hi @[[User:见水思源|见水思源]]. I deleted that page because of the following reasons taken together: :# It seemed very much out of scope with the rest of the book. :# It was written largely in a non-English language, beyond what would be expected for a language-teaching book. :# It was created by an anonymous IP. :# There have been multiple bad page creations for that page. :Could you please explain how your page contributes meaningfully to the book in its current scope? Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:51, 3 August 2024 (UTC) ::Hi, here are my answers :) ::1. I don't think it's out of scope, just like Lesson 11 of the book, it's a quoted Chinese text, designed to let students learn how real Chinese people speak ::2. This lesson does use a lot of non-English language, but that's because I decided to take a break and wait until the next day to complete it (including the supplementary English part) ::3. Like you mentioned, this is indeed created by an anonymous IP. The interesting thing is that this IP is mine, I'm a newcomer, and this is my first time contributing to the wiki. After I sent my work, I realized that I needed to create an account to save my work ::4. There is indeed a lot of vandalism on this page, and I saw it. But this doesn't mean that what I wrote is also meaningless text ::Like I said, that IP is mine, and I decided to finish my work the next day. But when I opened the page, I found it was deleted. I was angry because I spent a lot of time to finish it. So I hope you can give it back to me and let me finish the unfinished part. ::I am new here, which means I don't have a lot of experience, and I look forward to your suggestions on my work, thank you! [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 06:56, 4 August 2024 (UTC) :::@[[User:见水思源|见水思源]] thank you for clarifying—I have restored the chapter. Please make sure to incorporate it into the rest of the book. For example, please change the chapter title to match the other chapters, include it in the table of contents, and use the same formatting and structure as the other lesson chapters. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 4 August 2024 (UTC) ::::@[[User:Kittycataclysm|Kittycataclysm]]I'm glad to see them back, your advice is spot on. I noticed that the chapter headings don't seem to match the main table of contents, I'll make them fit by modifying the title text and body content appropriately。Thank you! [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 16:12, 4 August 2024 (UTC) ::For the whole book, I think I have filled a blank page, and I think after I fill it, this page must be more meaningful than a blank page. [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 10:49, 4 August 2024 (UTC) == Seeking to Improve My Project's Formatting == Hi there, I'm currently building [[Physics Explained Through a Video Game]] which you recently reviewed. As a question, is the inclusion of numerous video examples for the content I've written (such as for the existing materials in Unit 2 of my book) problematic? I feel that it provides a more intuitive explanation of many of the discussed concepts and may be more engaging for my target audience (high schoolers). However, I'm concerned that it's making the pages overly cluttered. Aside from this, are there any other ways that I can improve the existing content for the project? Thank you in advance. [[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]] ([[User talk:TheMonkeyEatsBananas|discuss]] • [[Special:Contributions/TheMonkeyEatsBananas|contribs]]) 05:38, 4 August 2024 (UTC) :Hi @[[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]]! From my cursory look at the book, the formatting seems generally quite reasonable. I don't have the capacity at the moment to take a detailed look at the specific construction to assess optimization. But, I don't think you have anything to be worried about. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:38, 5 August 2024 (UTC) == [[commons:HotCat]] == It's normally meant for Commons, but could help you with your categorisation work on this wiki. I don't think we have it as a gadget on this wiki, so just install it on your Commons.js - I could do it for you if you want. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:28, 3 September 2024 (UTC) :Thank you for letting me know about this! I always wondered if there was a way to install it on other wikis. Would you be able to help me with it this time? I've never installed any scripts here before. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:22, 3 September 2024 (UTC) ::Sorry, seeing this only now. I see that you have copied the code of HotCat, but I've replaced it with a direct link to HotCat on Commons. This ensures that you always have the latest version on the wiki. Can you check and let me know if you have any issues using that extension? [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 19:09, 14 September 2024 (UTC) :::Hi @[[User:Leaderboard|Leaderboard]]! Unfortunately, replacing it with the direct link has disabled the tool for me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:04, 14 September 2024 (UTC) ::::Apologies, can you try now (clearing your cache if needed)? [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:26, 15 September 2024 (UTC) :::::Yup, it's working again—thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:46, 15 September 2024 (UTC) == Why did you remove the roadmap in Unicode/Versions? == OK, So why did you remove the roadmap in Unicode/Versions? I should re-add that and people will see the roadmap in this page and on the Unicode site. [[User:MatthewtheUnicoder|MatthewtheUnicoder]] ([[User talk:MatthewtheUnicoder|discuss]] • [[Special:Contributions/MatthewtheUnicoder|contribs]]) 18:41, 14 September 2024 (UTC) == Biology of the siphonophore == The page [[biology of the siphonophore]] was not an accident or test it was to make a page about siphonophores. Please understand to get rid of Query. [[User:Atlas Þə Biologist|Atlas Þə Biologist]] ([[User talk:Atlas Þə Biologist|discuss]] • [[Special:Contributions/Atlas Þə Biologist|contribs]]) 23:30, 19 September 2024 (UTC) == Chicken à la King recipe change == Hi, regarding {{diff|4440187}}, I could understand rejecting such a drastic change if someone else had originally posted the recipe, but it's my own recipe (based on my own cooking experience) and no one but you and I have ever even edited the page, so I thought (and still think) it's OK to change it so much. [[User:Mahagaja|Mahagaja]] ([[User talk:Mahagaja|discuss]] • [[Special:Contributions/Mahagaja|contribs]]) 07:44, 7 October 2024 (UTC) :That's a good point! I think if it's your recipe, it makes sense to make this change. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 7 October 2024 (UTC) == AI == Hi {{PAGENAME}}, Not sure if you remember me. I was fairly active at enwb for a few months until the beginning of this year IIRC. Any way I came across a page on Meta [https://meta.wikimedia.org/wiki/Future_Audiences/Experiments:_conversational/generative_AI Future Audiences/Experiments: conversational/generative AI] which you may or may not be familiar with. I vaguely remembered discussions in the ''reading room'' about the use of AI on this project, so thought you may be interested. Hope I am not wasting your time. Cheers, [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:03, 10 November 2024 (UTC) r029fw5tehv99eb1sd3fstfq72anibl 4444299 4444298 2024-11-10T14:11:35Z Ottawahitech 2161651 /* commons:HotCat */ Reply 4444299 wikitext text/x-wiki {| class="wikitable" |+ ! colspan="2" |Talk Page Archives |- |[[User talk:Kittycataclysm/Archive 2022|2022]] |2023 |} == Duplicate user right == I noticed you have autoreviewed and reviewer user groups. Autoreviewed is deprecated if you have reviewer. Seeing as you are a temp admin, would you get into trouble if you removed it? If so, don't bother. I don't even know why I bother tbh xD. {{User:L10nM4st3r/sig.css}} 10:10, 17 January 2023 (UTC) :Hi @[[User:L10nM4st3r|L10nM4st3r]]! I wouldn't feel comfortable modifying my own user rights, especially as a temp admin. Is there any problem specifically with having both rights? Or is it just somewhat redundant? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:18, 18 January 2023 (UTC) ::Its just redundant. Actually happens a lot. I had my autoreviewed right removed when I became a reviewer. See [[WB:autoreviewed users]]. I think it says something about this as well. But its not a problem really. Or you could ask a permament admin. {{User:L10nM4st3r/sig.css}} 08:57, 18 January 2023 (UTC) :::{{re|L10nM4st3r}} and Kittycataclysm: {{done}} as the autoreviewer right is simply redundant. While there isn't a problem with having both rights, it can make things like [[Special:ListUsers]] a bit more confusing (have had similar issues on my home wiki before another admin removed a bunch of redundant rights from various users). [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:08, 20 January 2023 (UTC) ::::Gotcha, thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 21 January 2023 (UTC) == Potentially useful userscript == If you do not become a permament admin, I made a script designed to quickly report bad/suspicious users. It won't work if you are an admin though, which is a design choice I am unlikely to change. It is at [[User:L10nM4st3r/ReportUser.js]]. For if you need it. Or if you want it globally. Support for different wikis is currently very low, but if you request a wiki (hopefully English), I'll add that one first. {{User:L10nM4st3r/sig.css}} 22:49, 24 January 2023 (UTC) :Maybe a more heavily vandalized one? One that needs it the most? {{User:L10nM4st3r/sig.css}} 22:53, 24 January 2023 (UTC) ::FWIW, simplewiki is a heavily vandalised wiki, but they already use Twinkle to make such requests. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 02:05, 25 January 2023 (UTC) :::I will take a look at some point anyway. But it's my birthday today, so I'm not entirely sure when. (btw now I'm 17... or ''will'' be just before midnight.) {{User:L10nM4st3r/sig.css}} 05:31, 25 January 2023 (UTC) ::::An early happy birthday to you, {{u|L10nM4st3r}}! You'll be 17 in 3 hours where I live tho (AEDT/UTC+11:00) ;-). Even then, it's going to be midnight in the [[voy:Line Islands|Line Islands]] in 31 minutes. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 09:29, 25 January 2023 (UTC) :::::Its 10AM where I live. And I'm ruining my birthday cake xD! Lets hope I can stop eating biscuits like mad before dinner.. {{User:L10nM4st3r/sig.css}} 09:53, 25 January 2023 (UTC) :::I use twinkle global, but it doesn't allow fast, easy reporting of users. So I made the script. {{User:L10nM4st3r/sig.css}} 05:32, 25 January 2023 (UTC) == FYI == Hello, Kittycataclysm. For similar page-creation vandals like Mohamed James Wang, in the future, you can use [[Special:Nuke]] to delete all the pages a user creates that appears in [[Special:RecentChanges]] but in a single click. Just a tip. Best, and thanks for handling that vandal :-) --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 08:21, 28 January 2023 (UTC) :@[[User:SHB2000|SHB2000]] Thank you, this is super helpful! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:21, 28 January 2023 (UTC) == My talkpage protection == Thanks. Also I hope I didn't go too far trying to get him to do something else. Advice? The whole thread is on my talkpage. {{User:L10nM4st3r/sig.css}} 22:38, 2 February 2023 (UTC) :No worries @[[User:L10nM4st3r|L10nM4st3r]]! You didn't do anything drastically wrong or anything. I personally recommend not engaging with suspected vandals and, more broadly, anyone who seems to be baiting you or is otherwise not engaging in good faith—it's very rarely rewarding and usually just creates more fodder for them. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:57, 2 February 2023 (UTC) ::I think it was at least worth a try. Had you not protected my talkpage, I'd have probably ignored anything they posted after. But I guess less work for me :) Oh and I was not interested in their "help". I'd actually be more interested about how sewing machines work. Which actually bore me (geddit? Spoiler in a comment: <!-- Because they BORE a hole in the fabrick -->) xD{{User:L10nM4st3r/sig.css}} 23:04, 2 February 2023 (UTC) :Odd, has he just suddenly stopped vandalizing? Or is he being sneaky about it? Then again ive been away for a week or two, so what would i know, but wow, did i just cause a troll to give up? {{User:L10nM4st3r/sig.css}} 21:44, 21 March 2023 (UTC) == Hi there == Pls can you give me my page back? I'm using it as a template for some chemistry stuff. Thanks... [[User:Ema--or|Ema--or]] ([[User talk:Ema--or|discuss]] • [[Special:Contributions/Ema--or|contribs]]) 01:32, 4 February 2023 (UTC) :{{re|Ema--or}} mind you, Wikibooks is not your personal web host. If you're using it as a template, then use an application off-wiki. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 01:42, 4 February 2023 (UTC) == Qualander == Hi, Kittycataclysm, I've changed this user's block from 1 week to indef. as this user has vandalising various other wikis (including my home wiki). Just letting you know since you initially blocked them for a week. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:41, 13 February 2023 (UTC) :Sounds good, thanks for letting me know @[[User:SHB2000|SHB2000]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:56, 13 February 2023 (UTC) == Happy 10,000th :-) == I believe [[Special:Diff/4242333]] might be your 10,000th edit on Wikibooks; regardless, congratulations on reaching this significant milestone on Wikibooks. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 22:18, 10 March 2023 (UTC) :@[[User:SHB2000|SHB2000]] Yes, it think it was! Thank you :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:27, 10 March 2023 (UTC) == Algerian Couscous == Hi @[[User:Kittycataclysm|Kittycataclysm]] Good day,I saw you were reverting my edits on the article [[Cookbook: Algerian Couscous|Algerian Couscous]] ,I would love you to explain the reasons or probably the mistake I made while editig.I will encourage you to also tell where I'm wrong,corrections and way forward. Kindly treat as urgent Thanks for your work towards the growth of the Wikimedian foundation. Warm Regards [[User:Sylvesterchukwu04|Sylvesterchukwu04]] ([[User talk:Sylvesterchukwu04|discuss]] • [[Special:Contributions/Sylvesterchukwu04|contribs]]) 12:02, 12 March 2023 (UTC) :Hello @[[User:Sylvesterchukwu04|Sylvesterchukwu04]]! Based on the revision history of that page, I don't see any instances of me reverting your edits. I did add the <nowiki>{{Incomplete recipe}}</nowiki> template because the recipe you added was not complete. That template can be removed whenever a recipe is completed, and it looks like you did so. Let me know if you have any other questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:11, 12 March 2023 (UTC) == Reviewing == Hi. I'd like to get the reviewer right here. In practice, I have all the rights of the reviewer user group, except and only except <code>review</code> and I'd like to get that remaining bit. There are a lot of old edits out there that have yet not been reviewed and it would be good to be able to help wherever I am able to. I also have similar patrol/review rights on a bunch of wikis. Regards, --[[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 16:41, 13 March 2023 (UTC) :Hi @[[User:Svartava|Svartava]]! Requests for permissions should be made at [[Wikibooks:Requests for permissions]]. Additionally, I am not an official administrator, so I do not have any power to change people's user rights. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:14, 13 March 2023 (UTC) ::Alright, thanks for directing me to the appropriate page. Cheers! [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 03:42, 14 March 2023 (UTC) :::Hmm, it looks like I am not far from being autopromoted, so it's probably not much needed. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 03:49, 14 March 2023 (UTC) ::::{{re|Svartava}} I realise that this may come across as un-admin-like behaviour (for me), but I'd suggest copyediting a few random pages here and there with a unique edit summary for each edit – you should be autopromoted after a few copyedits, provided that you fulfill the rest of the criteria. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:50, 14 March 2023 (UTC) :::::@[[User:SHB2000|SHB2000]] That's an interesting idea. However, after reading [[Wikibooks:Reviewers#Automatic criteria]], I'm not sure I completely fulfill the rest of the criteria especially the <code>8 edits are spaced 2 or more days apart from each other (which takes at least 14 days, if you edit every 2 days)</code> which I find quite vague to be honest. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 13:44, 14 March 2023 (UTC) ::::::@[[User:Svartava|Svartava]] I believe that criterion means that out of your total body of edits, there must exist a set of 8 edits that have 2 days between them. If someone were starting from scratch, it would take at minimum 14 days to fulfill this requirement. My understanding is that this is to make sure a user is editing regularly and consistently before being granted the reviewer right. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 14 March 2023 (UTC) :::::::What I fail to understand is that, if interpreted that way it would actually not happen in 14 days. With 2 days between each set of 8 edits, in 14 days you'll just have 64 edits, right? (wait, I actually just got the right with this edit, lol!) [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 10:38, 15 March 2023 (UTC) ::::::I'll admit that I don't really know the full details of this, and I find that statement vague too (but my interpretation is similar to Kittycataclysm's). I'm only an admin here for anti-vandalism purposes, FWIW. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 20:35, 14 March 2023 (UTC) == Question == Hey again - I have a question as a new reviewer in the team. Once an edit has been dealt with or reverted, should it be marked as "checked"? For example, [[Special:Diff/4220766/4243429|this edit]] which I reverted. Is the review button treated similarly to the patrol (as you find on other wikis)? Like, a rollbacked edit is automatically marked as patrolled. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 16:11, 15 March 2023 (UTC) :Hi @[[User:Svartava|Svartava]]! As far as I'm aware, the [[Help:Tracking changes#Reviewing pages|review feature]] performs a slightly different function to patrolling; edits by non-regular/inexperienced users are visually flagged as needing review to highlight that the edit has not been double-checked by an experienced user. Unaccepting/rolling back an unreviewed edit does not mark anything as "checked"—it just unflags the page for review. On the other hand, accepting an unreviewed edit both unflags the page for review and marks the edit in question as "checked"; I believe this is to let other users know who reviewed the edit. Does this answer your question? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 15 March 2023 (UTC) ::Thanks for the reply, I do get my answer. By the way, I'd also ask why [[Special:Diff/4243642/4243648|this edit]] of mine does not get <code>autoreview</code>ed? [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 05:11, 16 March 2023 (UTC) :::@[[User:Svartava|Svartava]] Unfortunately the link you asked about is broken, and I couldn't figure out which edit you're referring to :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 20 March 2023 (UTC) ::::{{ping|Kittycataclysm}} Actually, there is yet another such edit: [[Special:Diff/4243911/4243928]] by {{u|SHB2000}} who is an admin. Yet the edit wasn't autoreviewed?! This seems really strange. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 12:33, 20 March 2023 (UTC) :::::@[[User:Svartava|Svartava]] Because you've already checked that edit, I can't get a closer look at the details. However, I suspect what's happening is that people are rolling back specific edits without approving the entire edit chain. A reviewer can, on a page's history, select "rollback *** edits"; however, if they are just returning to a previous unreviewed edit, it will not automatically review those previously-unreviewed edit(s). This allows reviewers to, for example, revert an instance of obvious vandalism without assuming the responsibility of approving unreviewed edits they are not confident about. Hope this helps! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 20 March 2023 (UTC) ::::::Right, thanks, that makes sense! [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 02:00, 21 March 2023 (UTC) == Deletion request == Hello! Could you mass delete pages by [[Special:Contributions/111.65.45.229]] and [[Special:Contributions/Sacrsdra]]? I can seriously not believe how such trash edits persisted for so long here. Anyone with knowledge of chess is able to tell that these are just blunders and rubbish moves and not any real gambit. This is pretty much vandalism in my eyes and this is greatly disruptive as well as misleading since popular chess sites like lichess.org (see [https://lichess.org/analysis analysis board]) show what ''we'' have on our pages. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 04:35, 20 March 2023 (UTC) :Also {{ping|SHB2000}}. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 04:36, 20 March 2023 (UTC) ::{{done}} (and that IP is an insult to chess players ;-)). You might receive a faster response on [[WB:AN]], though. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 06:55, 20 March 2023 (UTC) :::Thank you @[[User:SHB2000|SHB2000]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:08, 20 March 2023 (UTC) == Hello,Help me == Hello, I want to change the pages for copyright violation, only you can help me in this matter. Also, how can I get permission for copyright. Please stay updated and guide me. thank you [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 13:53, 6 April 2023 (UTC) :You will not get permission to use copyright material. You need to write in your own words, not copy other people's work. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 14:21, 6 April 2023 (UTC) :@[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] Per Wikibooks' [[Wikibooks:Copyrights|copyright policy]], "if you want to import text that you have found elsewhere or that you have co-authored with others, you can only do so if it is available under terms that are compatible with the CC-BY-SA license" and "if the material, text or media, has been previously published and you wish to use it under appropriate license, you will need to verify copyright permission". This means you would need to secure explicit permission from a copyright holder to publish their material on Wikibooks under our license and terms. A [[Wikibooks:Boilerplate request for permission|template message exists]] to help people secure permission. However, few copyright holders are willing to relinquish their content, and it can honestly be more trouble than it's worth. As such, I also strongly recommend you write in your own words. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:51, 6 April 2023 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]@[[User:MarcGarver|MarcGarver]] ::You mean that I have used a source, I must guarantee it to you and confirm it according to the copyright license. Well, I fully guarantee and confirm these sources that I use. ::Is this enough for copyright? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 18:08, 6 April 2023 (UTC) :::@[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] No, that is not sufficient. You must reach out to the copyright holder asking for permission under the Wikibooks license and terms. If you get permission, you must prove and submit it in writing on Wikibooks, linking it to the page in question. For example, if you are copying and pasting from Encyclopedia Britannica (which you have done), you must submit proof that Encyclopedia Britannica officially gives us permission. However, I highly doubt that will happen. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:40, 6 April 2023 (UTC) ::::It allows me because there is no error. [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 03:49, 7 April 2023 (UTC) :::::Hi, how do I find the copyright holder? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 09:57, 10 April 2023 (UTC) ::::::@[[User:Kittycataclysm|Kittycataclysm]] [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 09:58, 10 April 2023 (UTC) ::::::You don't. As per Britannica's [https://corporate.britannica.com/termsofuse.html terms of service], the entire encyclopedia is under an "all rights reserved" license. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:13, 10 April 2023 (UTC) == my question == Hello to kittycataclysm, I am writing supplementary mathematics and I need another author to help me with writing this book. Do you know an author who is active and skilled in mathematics? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 12:33, 19 April 2023 (UTC) :Hi @[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]]. Unfortunately, I don't know anyone who would be suitable. I recommend posting in the [[Wikibooks:Reading room/Projects|projects page]] to let the community know you're looking for more authors. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 19 April 2023 (UTC) == Hebrew roots == I do not remember that I have been involved in such discussion. [[User:Soul windsurfer|Soul windsurfer]] ([[User talk:Soul windsurfer|discuss]] • [[Special:Contributions/Soul windsurfer|contribs]]) 13:54, 29 April 2023 (UTC) :Hi @[[User:Soul windsurfer|Soul windsurfer]]! You were not involved in the past discussion—I am soliciting feedback from active and experienced members of the Wikibooks community, and you're among these people. If you have feedback to provide on the issue, that would be great! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:59, 30 April 2023 (UTC) ::Wow, I'm impressed, it is not typical. You know that I'm not the expert in this topic. How can I help you ? I have read discussion pages. Can you point to a specific problem I can help you with? [[User:Soul windsurfer|Soul windsurfer]] ([[User talk:Soul windsurfer|discuss]] • [[Special:Contributions/Soul windsurfer|contribs]]) 16:44, 30 April 2023 (UTC) == Sample question == Hello!How are you? I want to write questions about the texts of the pages to add more readers to the supplementary mathematics book. what do you think? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:00, 7 May 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Unfortunately, I don't understand what you're asking. What do you mean about adding more readers and writing questions? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:34, 7 May 2023 (UTC) ::no,I want from texts of the book,Design questions. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:36, 8 May 2023 (UTC) :::@[[User:Germany Poul Ah|Germany Poul Ah]] I'm sorry, but I still don't understand. You'll have to clarify what you want. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:44, 8 May 2023 (UTC) == Hello. == Hello how are you? I wanted to know where I should see the statistics of additional Supplementary mathematics book visits? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 04:30, 20 May 2023 (UTC) :Hello @[[User:Germany Poul Ah|Germany Poul Ah]]. When you are on a page, there is a link in the left-hand navigation bar under the tools section called "Page information". You can see page views from the last 30 days here. You can also try the [https://pageviews.wmcloud.org/?project=en.wikibooks.org&platform=all-access&agent=user&redirects=0&range=latest-20&pages=Main_Page pageview analysis tool] for more detailed information. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 20 May 2023 (UTC) == Why Query in my article? == Hello. I have noticed, that You have put a line <nowiki>"{{Query}}"</nowiki> into my article West-East Notation & Bin Notation". I tried to find in Wikipedia what does it mean, but I failed. Should I do now anything? [[User:MusJabłkowy|MusJabłkowy]] ([[User talk:MusJabłkowy|discuss]] • [[Special:Contributions/MusJabłkowy|contribs]]) 19:25, 29 May 2023 (UTC) :Hi @[[User:MusJabłkowy|MusJabłkowy]]—thanks for your question! This template is often added to pages/books whose scope or purpose is unclear. In the case of your new book [[West-East Notation & Bin Notation]], the scope and purpose was unclear to me. Books on Wikibooks should have a clearly-identifiable purpose and structure so that others can learn and contribute; if this book does not show signs of being well-developed in this manner, it may be deleted. I hope this is helpful! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:36, 29 May 2023 (UTC) == Helping User's to my books' == Hello,How are you!? First of all, thank you for the copyrite that you told me, secondly, I am alone to write a book and I am looking for a few people who are new and experienced, I also applied but it didn't show up, can you tell me what to do? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:54, 4 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Thanks for taking care of the copyright issue. I'm not sure what you mean when you say "I also applied but it didn't show up". Regarding getting people to help you write a book, it's a bit tricky. Wikibooks currently has much lower activity than some other wiki projects (like Wikipedia)—this means we have fewer editors and contributors overall. You could try posting in the [[Wikibooks:Reading room/Projects|projects page]] to let the community know you're looking for more authors, but we just don't have many people who might respond. You might have more success talking to people you already know to see if they would be interested in helping. Cheers! [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:40, 4 June 2023 (UTC) ___ ::Hello, please. So you are saying that I should give a notice that (I need help to write my own books)? But let us tell you about one thing. The statistics estimated the number of users of wikibooks to be almost 400 people. The number is not small. I can find at least 8 of the 400 users of wikibooks who have intellectual genius for mathematics. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 13:41, 4 June 2023 (UTC) :It's true that 400 people may seems like a lot, but the community engagement is fairly low. Still, you are more than welcome to reach out to specific users to ask them for help! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:44, 4 June 2023 (UTC) == Interesting offer == {{ping|Kittycataclysm}} Hello dear user, instead of using English sources to write the book, I decided to use Wikipedia and English sources from Wikipedia and German, French, Arabic, Persian, Italian, etc. to write the book. What do you think? In this way, copyright is not violated much. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 10:41, 9 June 2023 (UTC) :Hello @[[User:Germany Poul Ah|Germany Poul Ah]]—I apologize for my delayed response. Are you asking if it's allowed to copy verbatim from other wiki projects? It is not appropriate to copy verbatim from other projects without leaving a "trail" to maintain edit history. If you wish to take content directly from other wiki projects, you should request an [[Help:Importing|import]] of a page into Wikibooks, then move/dewikify/translate that content in your book as appropriate. If an import is not possible, then you should preserve the edit trail by linking to the original page in the edit summary. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:56, 12 June 2023 (UTC) ::Hello, I also apologize. I was angry. I thought you had a disagreement with me and did not want to talk to me. ::But in the end, we shouldn't take it seriously. So, thank you for answering me. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:34, 13 June 2023 (UTC) :::Also, @[[User:Kittycataclysm|Kittycataclysm]] can I request permission to copy and edit the English sources that I want to write with? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:39, 13 June 2023 (UTC) ::::In the meantime, @[[User:Kittycataclysm|Kittycataclysm]] how do I apply for permission to sister projects of Wikibooks and other Google projects? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:51, 13 June 2023 (UTC) :::::I'm not quite sure what you mean. If there's a page from another wiki project that you want to import, you can make a request at the [[Wikibooks:Requests for import]] page. Does that help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:45, 13 June 2023 (UTC) ::::::Yes, this helps a lot, thank for you. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:35, 14 June 2023 (UTC) == Greetings == Hi @[[User:Kittycataclysm|Kittycataclysm]], how are you doing? Yayyy, it’s me again, we e-met sometimes ago when we held the Nigerian Cuisine event which saw the cookbook been enriched with a lot of Nigerian cuisine, thank you so much for your support throughout the project. This is to bring to your notice that we have initiated a follow up project called African Cuisine - AfroCuisine - Meta (wikimedia.org), to drill down into some more African cuisine and specifically improve and clean up some of the articles created during Nigerian Cuisine. We will commence training the new and existing editors on 17th, June 2023.  As always, your support would really be appreciated. Kind regard [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 14:37, 15 June 2023 (UTC) :Nice to see you again @[[User:B.Korlah|B.Korlah]]! I'll keep an eye out for this—let me know if you need any help. As a refresher for new editors, I am linking [[Cookbook:Policy]], [[Cookbook:Help]], [[Cookbook:FAQ]], and [[Cookbook:Policy/Recipe template]]. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:58, 15 June 2023 (UTC) Thank you very much for this, I really appreciate. I’d let you know if I need any further assistance. If there’s anything, feel free to ping me [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 18:47, 15 June 2023 (UTC) :Hi @[[User:B.Korlah|B.Korlah]]! Could you please make sure contributors from this project are fully matching the cookbook policy and the recipe template? I have had to make significant corrections on many recipes, including spelling, formatting, linking, and more. Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:31, 25 June 2023 (UTC) ::Thank you very much @[[User:Kittycataclysm|Kittycataclysm]]. I can see all the works you’re doing and I am also following up on them. You’d see changes soon. ::Regards. [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 19:39, 25 June 2023 (UTC) == Is this reference correct? == Hi@[[User:Kittycataclysm|Kittycataclysm]].I used this German link to expand the parallelogram article, some of its sources are in English, and I edited it and mentioned the source. Is this acceptable? Here is the link:https://de.m.wikipedia.org/wiki/Parallelepiped I was afraid to write with another source after that blocking. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 05:47, 16 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Yes that's fine. Just please put the link to the original wiki article in the '''edit summary'''. You could say something like "added content from German Wikipedia (*link goes here*)". No need to make an inline citation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:54, 16 June 2023 (UTC) ::Thank you. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:58, 16 June 2023 (UTC) ==Afrocuisine== Hi {{ping|Kittycataclysm}} how are you doing? I'm reaching out to an administrative person here on Wikibooks Cookbook, tried reaching out to [[Mrjulesd]] who was really helpful when I started editing here on Wikibooks but I haven't gotten a reply yet. But I'm reaching out to bring to your notice that a follow-up project called African Cuisine which is basically the 2.0 of Nigerian cuisine would be starting on the 17th of June, this project aims to add more African cuisines to the Wikibook cookbook and specifically improve and clean up some of the articles created during Nigerian Cuisine. Your support would really be appreciated. Kind regards, Richard. :Hello and thank you for the heads-up! I will keep an eye out for these edits. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:50, 17 June 2023 (UTC) :Thank you! [[User:Edriiic|Edriiic]] ([[User talk:Edriiic|discuss]] • [[Special:Contributions/Edriiic|contribs]]) 15:44, 19 June 2023 (UTC) == Question == Hello, I did not copy from English Wikipedia and I use German, French, Persian, Arabic, Italian Wikipedias and sources along with English and I copy and Use some of them (except English Wikipedia and sources), did I do something wrong? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 18:38, 23 June 2023 (UTC) :@[[User:Germany Poul Ah|Germany Poul Ah]] As I have told you, if you take content from any other Wiki project (even translated from other languages), you must maintain the chain of attribution by importing or linking to the original in the edit summary. If you do not continue the chain of attribution, it is a policy violation. I have explained this multiple times, but you continue to violate policy—further violations will result in a block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:25, 24 June 2023 (UTC) ::If I cite the source and edit it in the summary, is it a solution? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:09, 24 June 2023 (UTC) :::Hello again, I have a thought My opinion is to make the book again and delete all the content at once. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 05:33, 24 June 2023 (UTC) ::::@[[User:Germany Poul Ah|Germany Poul Ah]] Yes, putting the link to the original Wiki article in the edit summary is acceptable attribution. I don't know what you mean regarding deleting the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 24 June 2023 (UTC) :::::I meant to delete the contents, which I stopped working on. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:54, 25 June 2023 (UTC) == QUESTION 2 == Hello,I apologize for bother me,I'm not know from politics of wiki books.Now You Tell me That What am I must doing? I am very concerned about book authoring and wikibook policy. Where should I read the Wikibooks policy for copyright protection, correct book writing, etc.? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 11:24, 26 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. You can read Wikibooks general policies [[Wikibooks:Policies and guidelines|here]], and the policy on copyright [[Wikibooks:Copyrights|here]]. Is this what you wanted to know? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:33, 26 June 2023 (UTC) == re [[Special:Diff/4309386]] == Hi, Kittycataclysm, just an FYI that we've had a ''lot'' of issues with that user's incompetence on the English Wikivoyage – see [[voy:User talk:Grace789]] and [[voy:Wikivoyage:Votes for deletion/April 2022]]. It might take a while to get that user's attention (it might not even happen), so I'm letting you know in advance. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:16, 18 July 2023 (UTC) :Got it, thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:24, 18 July 2023 (UTC) == HI == Hello, dear user, I found a text from a site where the text of Wikipedia 2007 can be placed, can I use it?   This is the 2007 Wikipedia text Euclidean geometry is a mathematical well-known system attributed to the Greek mathematician Euclid of Alexandria. Euclid's text Elements was the first systematic discussion of geometry. It has been one of the most influential books in history, as much for its method as for its mathematical content. The method consists of assuming a small set of intuitively appealing axioms, and then proving many other propositions ( theorems) from those axioms. Although many of Euclid's results had been stated by earlier Greek mathematicians, Euclid was the first to show how these propositions could be fitted together into a comprehensive deductive and logical system. The Elements begin with plane geometry, still often taught in secondary school as the first axiomatic system and the first examples of formal proof. The Elements goes on to the solid geometry of three dimensions, and Euclidean geometry was subsequently extended to any finite number of dimensions. Much of the Elements states results of what is now called number theory, proved using geometrical methods. For over two thousand years, the adjective "Euclidean" was unnecessary because no other sort of geometry had been conceived. Euclid's axioms seemed so intuitively obvious that any theorem proved from them was deemed true in an absolute sense. Many other consistent formal geometries are now known, the first ones being discovered in the early 19th century. It also is no longer taken for granted that Euclidean geometry describes physical space. An implication of Einstein's theory of general relativity is that Euclidean geometry is only a good approximation to the properties of physical space if the gravitational field is not too strong. [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 09:29, 9 August 2023 (UTC) :Hi @[[User:Germany paul whq2|Germany paul whq2]]. Could you please share the link to this revision of the Wikipedia page? Thanks –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:24, 9 August 2023 (UTC) hello this is it= https://www.cs.mcgill.ca/~rwest/wikispeedia/wpcd/wp/e/Euclidean_geometry.htm --[[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 06:30, 11 August 2023 (UTC) :@[[User:Germany paul whq2|Germany paul whq2]] This is not a Wikipedia page—it is a separate website that has taken, modified, and rehosted text from Wikipedia. You should not copy content from this page. If you want to take material from Wikipedia, you should take from the original page and then link that revision in the edit summary on Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 11 August 2023 (UTC) ::No, no, no, I wanted to know if that source can be copied and edited on it [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 11:18, 14 August 2023 (UTC) :::excuse me Excuse me, I have a question, where should I make a robot, and if you know someone who knows how to make a wiki electronic robot, can you introduce me to it? [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 11:27, 14 August 2023 (UTC) ::::@[[User:Germany paul whq2|Germany paul whq2]] No, you may not "copy and edit on" that source. I do not know much about using bots—you may want to ask @[[User:JackPotte|JackPotte]] or @[[User:Leaderboard|Leaderboard]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:22, 14 August 2023 (UTC) ::::: Hello, by the past my bot has already imported thousands of pages, but it's a long dev for each source. It means that it's not interesting to import less than 100 pages by bot, even more if it's just copy-pastes. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 14:30, 14 August 2023 (UTC) ::::::well,I use this from bot,can i do use for writeing my books this from bot? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 17:33, 14 August 2023 (UTC) == The Miraheze Cookbook == Miraheze volunteers created a wiki-based cookbook: The Miraheze Cookbook. This wiki is a crossover between wikiHow and Wikibooks cookbook. The link is https://cookbook.miraheze.org. Would you like to contribute to the wiki? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:04, 13 August 2023 (UTC) :Hi @[[User:Xeverything11|Xeverything11]]—thank you for letting me know. I will stick with Wikibooks, but best of luck. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:12, 13 August 2023 (UTC) ::Here are the recipes on The Miraheze Cookbook volunteers of Miraheze created: [https://cookbook.miraheze.org/wiki/Scrambled_Eggs Scrambled Eggs] and [https://cookbook.miraheze.org/wiki/French_Toast French Toast]. What do you think of the recipes on The Miraheze Cookbook? At the writing, there are 2 recipes on The Miraheze Cookbook compared to 3,000+ here. If you want to contribute to The Miraheze Cookbook, follow the [https://cookbook.miraheze.org/wiki/The_Miraheze_Cookbook:Policy policy], especially the Manual of Style, and go ahead, contribute! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 12:18, 14 August 2023 (UTC) :::@[[User:Xeverything11|Xeverything11]] I will not be contributing to this project. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:31, 14 August 2023 (UTC) == Cookbooks == Hi, thanks for making all the good cookbooks, keep it up! [[User:Alextejthompson|''Alextejthompson'']] (''Ping me or leave a message on my [[User talk:Alextejthompson|talk page]]'') 16:53, 11 September 2023 (UTC) == Religion of Shia Islam == Hello, the book of the Shiite religion, as the name suggests, this book is for Shiites. But you say this article should be unbiased. Why? This article is for Shiites and should not be written impartially. been gone for a few weeks, what a transformation!😮 [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 19:01, 17 September 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. I said that the book should be written from a neutral point of view because of the wikibooks [[Wikibooks:Neutral point of view|neutral point of view policy]]. My understanding of the policy suggests that a book on Shia Islam should be educational about the topics and beliefs in the religion (i.e. a description of the faith) without necessarily espousing those beliefs. Much of the content you have added can be considered educational, but I think it needs to be edited accordingly for neutrality. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:39, 18 September 2023 (UTC) :Additionally, it is good practice to cite the sources of your information. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:41, 18 September 2023 (UTC) ::Yes, of course, but since the book is about Shiites, it should be based on the beliefs of Shiites. ::Also, don't worry about the source ::I write like "Wikishia" [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:49, 18 September 2023 (UTC) :::Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. You are correct that the book should be about Shiite Islam and the beliefs of Shiites; however, it needs to be written from a neutral point of view per the policy. I understand that NPOV is difficult to achieve as a single author, so I may be able to help edit for neutrality to at least show you what I mean. :::Regarding sourcing, I can't "not worry about the source". It is important to have a minimum of sourcing for educational books, especially for those based in historical/cultural events like this book is, and this too is policy. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:00, 18 September 2023 (UTC) ::::@[[User:Kittycataclysm|Kittycataclysm]] hi Well, don't worry about the source, I will make them Generalization with an article. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 18:20, 18 September 2023 (UTC) :::::@[[User:Kittycataclysm|Kittycataclysm]] Hi,I did not understand the definite opinion, I can write based on the opinions of Muslims or speak impartially. :::::But my opinion is that this book should not be written impartially because I don't can to write impartial things as a Muslim. Please guide me, I am completely confused. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 04:51, 21 September 2023 (UTC) == I reverted an edit to your user page == Hello, one user who wanted to send a message to you, wrote their message on your user page, so I reverted it. Please check page history for details of the message. Thank you for your attention. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:50, 19 October 2023 (UTC) :Thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:09, 19 October 2023 (UTC) == Thank you! == I am a big fan of cookbooks here, and I just wanted to thank you for your work on improving and adding cookbooks! [[User:Wikiuser13|Wikiuser13]] ([[User talk:Wikiuser13|discuss]] • [[Special:Contributions/Wikiuser13|contribs]]) 00:29, 25 November 2023 (UTC) :Thank you, that's very kind :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:27, 26 November 2023 (UTC) == Fuzzball article == {{strike/top}} {{ping|Kittycataclysm}} With regard to Wikibook’s ''[[Fuzzball (string theory)]]'' article, I had originally created it on Wikipedia but another editor found it too expansive (a book-like treatise on a broad subject matter) for Wikipedia and took it over, deleting the majority of it. Then another editor over there suggested that Wikibooks would be a more suitable location. So I did a raw import to here on Wikibooks last night; it obviously needs some work to trim out unnecessary external links to en.wikipedia; this could take me up to a week. The ostensible reason for trimming out so much material from what I had there was it included notes explaining things, like how the names of “Theory of Special Relativity” and “Theory of General Relativity” got their names. The original paper’s names by Einstein were things like “On the Electrodynamics of Moving Bodies.” And when I researched the issue, I’d stumble across discussions on Physics Stacks Exchange where people had asked these same questions and no one was able to properly answer them. So I dug down and found out that it was Einstein himself who gave his theories their modern names. I tried to make my article a full-service book-like treatise that answered specific questions and covered the historical ground work that got us from Einstein to today. [https://en.wikipedia.org/w/index.php?title=Fuzzball_(string_theory)&oldid=1188191052 Here] is a permalink to what I originally had on Wikipedia before the new editor gutted it. Based on what you see there, do you think it can be transformed into something that fits well here? If you think it looks like something that has promise for residing here, would you mind replacing the current tag with one of those “sweeping broom” (under construction) tags? It shouldn’t take more than a week to get it 90% there. '''P.S.''' By the way, six of the images—including the animation of the collapse—that you see on that perma-link to Wikipedia are ones I created specifically for this article. I believe that communicating with images and graphs makes PowerPoint presentations, white papers, and books, more interesting and informative. '''P.P.S.''' I copied the article to [[User:Greg_L/sandbox|my sandbox]], which I believe is the ideal place for conversion work. What do you think is the best way to show the article-space as a temporary work in progress? A “broom” tag? A stub? A stub ''and'' a broom tag? Other? [[User:Greg L|Greg L]] ([[User talk:Greg L|discuss]] • [[Special:Contributions/Greg L|contribs]]) 18:06, 5 December 2023 (UTC) {{strike/end}} :Hi @[[User:Greg L|Greg L]]. I took a look at the materials you linked and at your note at [[User talk:Mrjulesd]]. As it stands, I feel like it would make sense to incorporate it into an existing book, rather than creating an entirely new book around it. One-off articles are more out of place here than on Wikipedia. Can you take a look at [[Shelf:Physics]] and see if your work could be incorporated into one of the books there? In the meantime, working on it in your sandbox is completely fine. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:56, 6 December 2023 (UTC) ::As far as I can tell, ''Fuzzball (string theory)'' would best belong as a book #7 under ''13. Black holes'' at ''[[General Astronomy]]''. Yes? [[User:Greg L|Greg L]] ([[User talk:Greg L|discuss]] • [[Special:Contributions/Greg L|contribs]]) 01:30, 7 December 2023 (UTC) == To kitty kat == can you please stop doing what you are doing by removing what people edited and adding your own false recipes it is really not helping [[Special:Contributions/41.116.238.216|41.116.238.216]] ([[User talk:41.116.238.216|discuss]]) 11:19, 14 January 2024 (UTC) :No idea what recipies your adding, 41.116. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 16:52, 14 January 2024 (UTC) :Could you please be more specific? I don't know what you are referring to. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:36, 14 January 2024 (UTC) ::I followed your edits it led to me burning my kitchen i followed your citations the led to a virus that costs me $200 for me to repair [[Special:Contributions/41.116.216.82|41.116.216.82]] ([[User talk:41.116.216.82|discuss]]) 18:32, 15 January 2024 (UTC) :::Wikibooks editors are not liable for something you did. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:29, 15 January 2024 (UTC) ::::are you kitty Kat sir or mam [[Special:Contributions/41.116.248.36|41.116.248.36]] ([[User talk:41.116.248.36|discuss]]) 17:33, 19 January 2024 (UTC) :::::41.x, why would that matter? --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 08:10, 20 January 2024 (UTC) ::::::Stop answering questions that are not directed to you mister or whatever you are [[Special:Contributions/41.116.195.45|41.116.195.45]] ([[User talk:41.116.195.45|discuss]]) 06:42, 21 January 2024 (UTC) :::Remember to be careful with links, I feel as though this should be known already by somebody using the internet. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 09:13, 20 January 2024 (UTC) ::::Shut up boob face [[Special:Contributions/41.116.198.58|41.116.198.58]] ([[User talk:41.116.198.58|discuss]]) 15:01, 23 January 2024 (UTC) ==Redirect I created was deleted by you== Hi {{PAGENAME}}, I just checked my watchlist and I see that you deleted a redirect I created yesterday. I would like to apologize for creating additional work for you. My intention was to help, not to increase your work load. I will refrain from making any more changes to the cookbook from now on. Sorry to have troubled you. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:37, 26 January 2024 (UTC) :@[[User:Ottawahitech|Ottawahitech]] Please don't worry about it! It's not a big issue, and you are welcome to continue contributing. It's a learning process :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 26 January 2024 (UTC) ::@Kittycataclysm: Thank you for your gracious reply. ::Since we have not interacted before I would like to explain why I posted this in the first place. I have been part of the Wikimedia movement since 2007 (yes, I am ancient:), first at enwp exclusively until about 2012. After I was shunned from enwp in 2017 I have participated quite extensively in other sister-projects, perhaps a bit less enthusiastically than my first 10 years. ::Since I joined the movement I have had trouble with my contributions being deleted, not reverted or undone, but deleted by admins. Many of these deletion were carried out "silently", as in without telling me about the deletion. I have therefore become very sensitive about this. Deleted contributions disappear from the contribution page of participants, so for someone who only participates sporadically and uses their contribution page to refresh memory this is a real issue, especially if many of the contributions they make end up being deleted without notifications. ::I hope I am making sense? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 19:08, 27 January 2024 (UTC) :::I can definitely understand how that would be frustrating! If helpful, I can make sure to alert upon page deletions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:57, 28 January 2024 (UTC) ::::Thanks again for the gracious offer. I just tried to explain the way things look like from the POV of a ''low-key, low-input, good-faith'' contributor, but please do not go out of your way to treat me differently than others are treated at WB. I will continue to try and help whenever I get a chance. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 15:58, 29 January 2024 (UTC) == Sorry == Kittycat sorry for everything i said your editing helped a lot please forgive [[Special:Contributions/41.116.190.118|41.116.190.118]] ([[User talk:41.116.190.118|discuss]]) 12:03, 28 January 2024 (UTC) == "Zuppa toscana", not "zuppa Toscana" == Hi, your move of the "zuppa toscana" page to "zuppa Toscana" is incorrect, please read these three conversations: [[wikipedia:Talk:Pecorino romano#Requested move 19 November 2023]]; [[wikipedia:Talk:Pecorino romano#Requested move 19 November 2023]]; [[wikipedia:Talk: Caffè americano#Requested move 19 November 2023]]. However, the [[wikipedia:Title case|title case]] page states: "When using title case, all words are capitalized, except for minor words (typically articles, short prepositions, and some conjunctions) that are not the first or last word of the title."; "toscano" is and '''adjective'''. [[User:JackkBrown|JackkBrown]] ([[User talk:JackkBrown|discuss]] • [[Special:Contributions/JackkBrown|contribs]]) 16:53, 29 January 2024 (UTC) :Hi @[[User:JackkBrown|JackkBrown]]. Wikibooks is not Wikipedia, and its stylistic conventions do not necessarily apply here. As I noted on your talk page, the stylistic conventions of the cookbook here are such that recipe titles are in title case, with English (not Italian) capitalization conventions and major words capitalized. It is worth noting that each book here may have different stylistic conventions, but this is how titles should work in the cookbook. Thanks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:25, 29 January 2024 (UTC) ::{{Ping|Kittycataclysm}} great! Forgive me. [[User:JackkBrown|JackkBrown]] ([[User talk:JackkBrown|discuss]] • [[Special:Contributions/JackkBrown|contribs]]) 02:56, 30 January 2024 (UTC) == [[Free Knowledge Culture Calendar]] == [[File:FLOSS calendar prototype 2022-12-13.jpg|thumb|first physical galley proof]] It largely unclear to me what clarifications you’re asking for, and I feel a bit pressured, to be honest. (Like I need to guard my content against deletionists or something.) Early on after I started publishing here, I tried to document the vision I was working towards concisely, yet accurately and in detail, on the main talk page for any potential co-authors. Did you notice that at all?... I’m trying to do a kind of innovative history book that is easy to engage, with bite-sized information that fits between two sips of coffee, e.g. to be consumed daily at breakfast or as login [[w:Message of the day|MOTD]]s. I feel like the biggest chunk of work and research is done and it’s provisionally already somewhat functional: You might not realize at first glance how much work it is to find a topic/story for each day of the year. While quality of the topics could surely be improved here and there, this work has reached a provisional conclusion. – Now all that remains is to write the stories, and that should be much more straightforward in comparison and easier to participate in. For an idea of one thing this can be, to the right there’s a photo of the first paper prototype, e.g. for the breakfast table. You are very welcome to leave point notes on individual stories, find the single best media piece for further study of a topic, work on good complementary illustrations, flesh out a story, give any actionable feedback, or come up with a better title.--[[User:Reseletti|Reseletti]] ([[User talk:Reseletti|discuss]] • [[Special:Contributions/Reseletti|contribs]]) 19:07, 4 February 2024 (UTC) :Hi @[[User:Reseletti|Reseletti]] and thanks for the information! I queried the book because it seemed mostly abandoned for over a year, the handful of random pages I clicked on only had one sentence each, and I didn't fully understand the concept based on the talk page. It seems like a lot of the pages still need to be fleshed out (I imagine maybe a paragraph each to reasonably form a book?) Just out of curiosity, do you plan on resuming the work on the book? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 4 February 2024 (UTC) :Also I like the little feature to navigate to today's page! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:12, 4 February 2024 (UTC) == Champorado (chocolate porridge) Philippine cuisine == I added Champorado. I didn't copy paste it from a ready made recipe. I asked my mother on how to cook it. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 06:17, 6 February 2024 (UTC) :@[[User:Jay Bolero|Jay Bolero]] yes that recipe is totally fine, as is [[Cookbook:Pinakbet]]. But, where did you get [[Cookbook:Lechon Kawali (Chili-Honey Glazed Filipino Pork Belly)]]? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:13, 6 February 2024 (UTC) ::I accidentally saw that recipe. It was originally named Chili Honey Glazed Filipino Pork Belly (Lechon Kawali). ::I moved the name into ::Lechon Kawali (Chili Honey Glazed Filipino Pork Belly) [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:26, 6 February 2024 (UTC) ::I didn't make the recipe of Lechon Kawali. It already existed in the Cookbook. I just improved it and placed it in the list of Filipino cuisine. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:27, 6 February 2024 (UTC) ::By the way, I made the Cookbook:Calamansi. ::Calamansi is one of the important ingredient in Filipino cuisine. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:29, 6 February 2024 (UTC) :::Great, thank you :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:08, 6 February 2024 (UTC) == The other Lechon Kawali == The last Lechon Kawali you marked as copyvio is not actually a copyvio. It has no Glazing needed. It does not need an airfryer to be cooked. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:44, 8 February 2024 (UTC) :This one is not a copyvio [[Cookbook:Lechon Kawali (Filipino Crispy Fried Pork Belly):|Cookbook:Lechon Kawali (Filipino Crispy Fried Pork Belly)]] [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:46, 8 February 2024 (UTC) ::That recipe didn't violate any copyright. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:50, 8 February 2024 (UTC) :::The Chili Honey Glazed is the one that violated a copyright [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:51, 8 February 2024 (UTC) ::::The two versions of Lechon Kawali recipes are different from each other. That last one is not copy pasted from an existing recipe. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:59, 8 February 2024 (UTC) :::::@[[User:Jay Bolero|Jay Bolero]] you can see my response on your talk page. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:06, 8 February 2024 (UTC) == My two books on Wikibooks == I wrote two books on Wikibooks entitled Bikol and the other one is Learn Baybayin. You might want to review them. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 08:01, 8 February 2024 (UTC) == AuthorsAndContributorsBot == Hi, I have stumbled upon this bot which seems to be inactive. However, it also seems to have released its source code. Can I run this bot to update the authors lists? I will create a separate account for this. -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 13:12, 9 March 2024 (UTC) :Sorry for missing this @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]! Are you asking whether you're allowed to create a new bot account with the source code in order to fix the inactive bot? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 5 April 2024 (UTC) ::Yes, this is what I meant. [[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 14:44, 6 April 2024 (UTC) :::I don't see why not! @[[User:JackPotte|JackPotte]] @[[User:Leaderboard|Leaderboard]] I know you both run bot accounts, so is there anything they should know before doing this? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:30, 9 April 2024 (UTC) ::::Hi {{re|Kittycataclysm}} mainly ::::* test the bot first - the [[:mw:Beta Cluster|Beta Cluster]] or [[:testwiki:|test wiki]] are good places ::::* ask for the appropriate permissions so that it does not bother patrollers. This would normally be autoreviewer if the bot is low-volume, or the bot right otherwise. ::::[[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:47, 10 April 2024 (UTC) ::::: Hello, actually last year I had launched [[User:AuthorsAndContributorsBot/source_code]] on four pages (ex: https://en.wikibooks.org/w/index.php?title=World_Cultures/Authors_%26_Contributors&diff=prev&oldid=4285894) and it worked fine, but I've stopped because it needed to maintain [[User:AuthorsAndContributorsBot/blacklist]] and [[User:AuthorsAndContributorsBot/List of books]], or even better: to make them dynamic. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 07:00, 10 April 2024 (UTC) ::::::Thank you very much! What do you mean by maintain the pages or make them dynamic? Thanks in advance, -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 12:43, 26 April 2024 (UTC) == [[Sheaf Theory]] == @[[User:Kittycataclysm|Kittycataclysm]] and @[[User:Az1568|Az1568]], I don't quite understand; why was this tagged and deleted? The criterion cited says {{tq|Abandoned pages displaying intent, but no actual content}}, but I'd argue there was a decent amount of content in the few deleted pages. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 17:27, 4 April 2024 (UTC) :Hi @[[User:1234qwer1234qwer4|1234qwer1234qwer4]]! I believe I initially queried it while sorting through old abandoned books because the scope and future of the book were unclear to me, and I couldn't see a way forward for it. It turns out that queried books end up in candidates for speedy deletion after a certain period, which I think is how it eventually got deleted by @[[User:Az1568|Az1568]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 4 April 2024 (UTC) ::Yep that's correct. The book has appeared largely undeveloped since 2018, and unfortunately, there were no attempts to oppose the initial query left on the book itself, nor were there attempts to expand on its content. --[[User:Az1568|Az1568]] ([[User talk:Az1568|discuss]] • [[Special:Contributions/Az1568|contribs]]) 20:05, 4 April 2024 (UTC) :: So how exactly is this reflected in policy? [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 14:09, 14 April 2024 (UTC) :::Hi @[[User:1234qwer1234qwer4|1234qwer1234qwer4]]! So, I went back to take a look at it. The book consisted of two pages, with no introduction or clarification of scope/aims/educational relevance. It seems to just have been some mathematical definitions with no accompanying educational/instructional material. It was also abandoned for several years. I only intended to query it, but it did seem to meet criteria for deletion at [[Wikibooks:Deletion policy]]. Notably, the policy says to "delete stubs that are too narrowly defined or do not have a decent definition of what they are about", which I do think applied to this book as mentioned. It's possible that it should have been a RFD instead of a speedy deletion, but I do think overall it makes sense according to policy. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:02, 14 April 2024 (UTC) == Miraheze == I am patrolling [https://meta.miraheze.org/wiki/Special:RecentChanges Miraheze's recent changes] and noticed there is username Kittycataclysm in recent changes in that wiki. Did you create this account on that wiki? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:46, 10 April 2024 (UTC) :Hi @[[User:Xeverything11|Xeverything11]]. Thanks for asking. No, I do not have a Miraheze account, and I am not active over there. Whoever is operating under the username "Kittycataclysm" there is not me. Since they've copied my entire user page, I assume they are impersonating me for some reason. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:40, 10 April 2024 (UTC) ::Looking into [https://meta.miraheze.org/wiki/Special:CentralAuth/Kittycataclysm that account's CentralAuth], it had made a total of 24 edits at the writing - 19 are from Cookbookholic, 3 are from Miraheze Meta, 1 is from Miraheze Login Wiki, and 1 is from Amazing YouTubers Wiki. What is that account doing? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 07:29, 11 April 2024 (UTC) :::No idea. I'm not going to get involved over there, since this is my home wiki. But, since you have an account there, it might be nice if you could let them know that this person is an impersonator. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:07, 11 April 2024 (UTC) == [[Special:Contributions/Favonian]] == Hello. I think you may have blocked the wrong user. A different user made their talk page. Please check their local and global contributions. Thank you for your attention. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:57, 11 April 2024 (UTC) :Oh gosh, thank you for letting me know—that was a mistake on my part. Should be fixed now! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 11 April 2024 (UTC) == Jumarkese == I just want to ask, why you deleted my page "Jumarkese" on Wikibooks? And how I can revive my page? [[User:Jumark27|Jumark27]] ([[User talk:Jumark27|discuss]] • [[Special:Contributions/Jumark27|contribs]]) 11:06, 17 April 2024 (UTC) == Thanks == Wanted to say thanks for all the work you do on Cookbooks. Have a good one! :) [[User:Aekrinine|Aekrinine]] ([[User talk:Aekrinine|discuss]] • [[Special:Contributions/Aekrinine|contribs]]) 02:23, 29 April 2024 (UTC) :Thank you, that's very kind! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:06, 29 April 2024 (UTC) == Talk page cluttered == Your talk page is cluttered. I recommend implementing archiving. [[Special:Contributions/98.115.164.53|98.115.164.53]] ([[User talk:98.115.164.53|discuss]]) 17:10, 5 May 2024 (UTC) :They are free to do what they want with their talk page (as long as it's under 2 MB). --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:25, 6 May 2024 (UTC) == Incompelete Recipe.. == You have misnested bold formatting. When using <nowiki>'''</nowiki> you can't have soft-line-feeds in between the <nowiki>'''</nowiki> markup. If you want a line-feed use <br>, and removes the soft-line-feeds. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 13:39, 15 May 2024 (UTC) :Hi @[[User:ShakespeareFan00|ShakespeareFan00]] and thanks for reaching out! I think there was a misunderstanding of what I wanted the template to look like—it looked correct based on the preview after making several adjustments to the template, but the quotation marks ended up in a sloppy location. At any rate, I think I understand what you were trying to do, and I've fixed the markup positioning. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:00, 15 May 2024 (UTC) :: The script I use to identify Lints also note that you have {{tag|strike}} tags in this talk page, These are nominally deprecated. Please consider using {{tl|strike/top}} and {{tl|strike/end}} in preference. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 07:35, 16 May 2024 (UTC) == Lints.. == You may be interested in helping look for unclosed italics elsewhere - I made a list of everything with missing tags in ns0: https://public-paws.wmcloud.org/4407/books.txt The more that can be cleaned up the better.. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 18:36, 16 May 2024 (UTC) == Sderot == Hi, I have noticed your edit in [[October 7th Massacre/Sderot]]. Could you please explain why you found in necessary to remove 2,462 bytes of content? I have noticed that you have not only changed the style and the grammar, but have also removed many details that would help the reader understand the events better. Thanks in advance, -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 08:46, 7 June 2024 (UTC) :Hi @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]—I am happy to explain my edits! They were based on the following: :* '''Style:''' Wikibooks uses a neutral educational style, and NPOV is important. The initial style of the chapter was less like a neutral informational text and more like storytelling, with embellishment and attention drawn to certain details in a more literary way that evokes specific images and emotions. I removed content that I felt detracted from the desired NPOV style or that I felt was otherwise distracting, etc. :* '''Caution:''' Because this book revolves around a very recent and polarizing event, the surrounding conflict of which is still ongoing and the details of which are still hotly discussed, I think it is especially important to aim for neutrality. :* '''Iteration:''' Because Wikibooks is a collaborative project, books develop from an iterative process to refine the content—it's not just a place to self-publish one's own book. You contributed the initial version, I iterated on it, and so on. :If you have specific questions about specific changes I made, I am happy to explain and discuss those as well. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:16, 7 June 2024 (UTC) ::Hi Kittycataclysm. Thank you very much for the the detailed response. Maybe I haven’t made that clear in the initial message, but I didn’t ask why was it necessary to iterate on the text. I asked why it was necessary to remove such an extensive amount of details. I don’t feel like I have written the original text with “embellishment and attention drawn to certain details in a more literary way that evokes specific images and emotions”. Of course describing a massacre does evoke emotions, however I don’t see this as a reason not to describe the events of October 7th as they happened. -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 13:36, 7 June 2024 (UTC) :::Gotcha. In terms of removing content, I removed details when I felt they met one or more of the following criteria: :::* Overly wordy/inefficient/clunky language (e.g. "They ran to the shelter, which was locked" --> "They ran to a locked shelter") :::* Indicative of subjective/non-neutral experience that is not necessary to understand the larger events that took place (e.g. "He understood on the first alarm that something isn’t right", "She was used to alarms", "it took her a while to understand what is going on", "“We behaved like in the story of Anne Frank”", "When she understood the electricity won’t come back", "The kids panicked and even told “We don't want to die, we are too little”", etc). :::* Excessive detail that is not necessary to understand the larger events that took place ("her husband, who works as a warden, had to go to work", "elderly people, including Holocaust survivors", etc). :::* Loaded language (e.g. "slaughtered" vs "killed", "terrorist" vs "attacker"/"assailant", etc) :::In some cases, I reworded things in a way that made them more concise, which decreased the overall content. Whenever I assess a sentence, paragraph, etc., I always evaluate its purpose and its effect, as well as whether it accomplishes the aims of the book and the Wikibooks project. :::Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:39, 7 June 2024 (UTC) ::::Thanks for the response! I have a few problems with it: ::::* About the locked shelter part, I think the best way to word it would be “they ran to the shelter only to find out that it was locked”. ::::* I don’t understand why the book can’t include the experiences of the witnesses. I would argue that the part saying “She was used to alarms” does indeed help understand the larger events (in that she was used to alarms since she heard many alarms before that). I didn’t really understand why a book on a massacre shouldn’t include these details. ::::* Again, please elaborate what you mean by “larger events” and by what extent an event has to be “large” in order to be noteworthy. ::::* Feels for me more like factual language than loaded. I’m not sure why calling terrorists “terrorists” is against NPOV. ::::* Thanks in advance,-[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 06:08, 8 June 2024 (UTC) :::::{{ping|Xania}}, what is your opinion on the topic? -08:20, 21 June 2024 (UTC) :::::Hi @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]—my apologies for the delayed response! Here are my responses: :::::* '''Locked shelter:''' Here I would ask why you feel that is the best way to word it. I made the change I did in order to convey the key facts (locked shelter) in the most concise and neutral way possible. I'm curious why you don't think it is appropriate. :::::* '''Witness experiences:''' I do think witness experiences can have value here. However, I think they must be used judiciously in order to best serve the purpose and scope of the book—a near infinite number of facts, statements, details, reports, etc could be included from the events, but not all of them need to be included in this book. It is challenging to make a blanket statement about what and how many witness experiences are relevant here, and it must instead be evaluated continuously through revision. I also think it's important to make it obvious that you're citing someone else's perspective when including it (e.g. "they said", "they reported", "according to ***") rather than narrating from their perspective. :::::* '''Event and detail inclusion:''' Again, it's hard to make a blanket statement outright on what details out of the many merit inclusion, and whether something is relevant is typically determined by book scope, revision, and consensus. I would argue that for this book, it doesn't make sense to spend words describing things like what shirt someone happens to be wearing, details related to their everyday life, their detailed personal perceptual experiences, etc. :::::* '''Loaded language:''' It may be helpful to take a look at these [https://englishforjournalists.journalism.cuny.edu/2020/02/07/loaded-words/ resources] on [https://www.tckpublishing.com/loaded-language/ loaded language], as well as [[w:Loaded language]] for context and overall guidance. Regarding the term "terrorist" specifically, [[w:Terrorism#Definition]] may be helpful as well—note its status as a charged and disputed term with strong non-neutral connotations. The term "attacker" still correctly describes the events taking place without inadvertently inserting strong connotations and leaning into political territory. :::::Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:36, 21 June 2024 (UTC) ::::::Thanks for the reply! ::::::* My problem with “locked shelter” is that it kind of makes it sound as if they knew the shelter was locked when they ran towards it. ::::::* I think I made it clear that I’m citing other people’s perceptive, however if not, I’m willing to edit the text. ::::::* Details about personal lives of people were only included when they helped the reader understand the events. We can’t assume the reader to be familiar with the frequency of alarms in Sderot. That’s why I think it’s necessary to explain that while she was used to alarms, this event was unprecedented. Such details help the reader understand the event better. In my opinion such an unprecedented event such as the October 7th massacre deserves a detailed book describing the events that took place. ::::::* I’m not convinced that the word “terrorist” is a politically loaded word. I still think it’s simply a factual description of them, though the word “attacker” is still technically correct. ::::::Cheers! -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 19:34, 21 June 2024 (UTC) == A little advice == Hello, I am currently on working on [[Cookbook: Honey Mug Cake]]. Any advice or anything to help? I can't help but feel something is missing from it. [[User:Soapyduck|Soapyduck]] ([[User talk:Soapyduck|discuss]] • [[Special:Contributions/Soapyduck|contribs]]) 09:35, 27 June 2024 (UTC) :Hello! I went through and made some edits, which you can see in the revision history. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 June 2024 (UTC) == Accessibility == The structure you chose for [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II]] has the unfortunate side effect that people can't link to the first four subsections in ==Procedure==. [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake]] will take them to the first. Do you have any ideas about how to make these later sections accessible to everyone? [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 06:19, 9 July 2024 (UTC) :Hi @[[User:WhatamIdoing|WhatamIdoing]]—thanks for checking in! In order to link to a second identical heading, you just use an underscore plus an index. So, to link to the second cake heading, you would use this: [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake_2]]. Hope this helps! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:10, 9 July 2024 (UTC) ::That's nice for the few of us who know that trick, but it doesn't help the 99.9999% of readers who aren't experts in MediaWiki's quirks. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 23:35, 9 July 2024 (UTC) :::It's not ideal, but it's also the best we can do for now. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:52, 9 July 2024 (UTC) ::::The original structure for the page had no duplicate section headings. Perhaps we should go back to that. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 00:43, 10 July 2024 (UTC) :::::Hi @[[User:WhatamIdoing|WhatamIdoing]]. I definitely understand your concern. However, the changes I made were to bring the recipe into alignment with the recipe template and all other recipes in the Cookbook. It is also a very common current standard for recipe-writing in English. Moreover, I think this kind of linking is actually very simple and very easy to teach/communicate—much more so than some other common MediaWiki features—and it is not unreasonable to expect editors to learn editing tips and tricks like this over time from more experienced users. You asked, and now you know a simple new trick to help with editing :) As an aside, I'm also not sure how often linking to subheadings like this is even used in the Cookbook, so I don't think it's a very big issue at the moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 10 July 2024 (UTC) ::::::Perhaps, if the standard recipe template creates accessibility problems for blind readers, we should have a better recipe template. ::::::BTW, I've been editing for about 18 years now, so unlike you, I was around when that "simple new trick" was introduced to MediaWiki. I know how it works. This is a problem for '''readers''', not for me personally. The problem isn't when an editor wants to put a link to the section (which happens on the talk page more often than in the cookbook). Imagine that a reader wants to ask a friend about this recipe. Think about a social media post that says "I'm confused by the directions in [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake]] ". That won't end up where the reader expected it to go, right? And while people who (like me) have made more than 100K edits at Wikipedia will probably know what to do, a reader is not going to be able to fix it. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 21:27, 13 July 2024 (UTC) :::::::@[[User:WhatamIdoing|WhatamIdoing]] I definitely agree with you that web inaccessibility is a problem! I'm just having a hard time understanding this particular case. I find it hard to imagine someone who '''is''' savvy enough to know that you can link to specific subheadings by hashing, but '''isn't''' savvy enough to know about the indexing system to modify it. Have you seen this come up as a problem before? At any rate, I've modified the headings here so they are specific enough to not need the indexing. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:13, 14 July 2024 (UTC) ::::::::Yes, it happens sometimes. That's one of the reasons why enwiki requires unique section headings. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 00:07, 15 July 2024 (UTC) == Wikiphilosophers == I saw your comment on [[Wikiphilosophers]]. Indeed, the whole idea of it is that people can put their own philosophical ideas on a subpage of their own. I discussed the proposal for the project on Meta-Wiki (see https://meta.wikimedia.org/wiki/Wikiphilosophers). There it was suggested that the project should first take shape on Wikibooks, if before becoming its own project. Personally, I think a own platform for Wikiphilosophers is also best, but I don't know how else to do it either? I look forward to hearing from you! Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 03:32, 21 July 2024 (UTC) :Hi @[[User:S. Perquin|S. Perquin]]! Thank you, and I read through the discussion you linked. Unfortunately, based on your envisioning of the project, I'm thinking that Wikibooks isn't the best place for it. You can take a look at [[WB:NOTMETA]], and generally [[Wikibooks:What is Wikibooks?]] for details. Specifically, Wikibooks is for creating instructional books based on preexisting documented knowledge, which Wikiphilosophers doesn't really match the way you've described it. I'm thinking that if any existing WMF project were to host this, it would be Wikiversity. I'd recommend checking out [[Wikiversity:What is Wikiversity?]] and [[Wikiversity:Wikiversity:Research|Wikiversity:Research]], as well as asking there if your project could have a home there. Hope this is helpful! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:12, 21 July 2024 (UTC) ::Thank you! I will post a message in the [[Wikiversity:Colloquium|Colloquium]]! Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 16:29, 21 July 2024 (UTC) :::I have permission to continue working on my project there. I have transferred all the information from Wikibooks to Wikiversity. All pages on Wikiphilosophers can therefore be deleted on Wikibooks! Could you take care of this? Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 18:42, 22 July 2024 (UTC) ::::Excellent—I'm glad to hear your project has found a home! I will delete any residual pages here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:25, 22 July 2024 (UTC) == [[JLPT Guide/JLPT N5 Grammar]] ([[special:diff/4424284]]) == The edit is partially correct and partially questionable. For example, せんせいい is an obvious typo (せんせい is accurate), and でんしゃ is the correct reading for 電車. However, converting 行(い)きます to いきます can be disputed (this can be considered as simplification, but others may prefer the usage of 行). I'm not sure if the IP editor is a native speaker (the ISP is in the UK), so I think we need to keep an eye on this page. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:09, 26 July 2024 (UTC) :I thought providing furigana for 'to go' might be an oversimplification but it's also there for other basic verbs like 'to eat'. Why is this person rejecting edits on a language they don't speak anyway? It would have taken 2 seconds to verify them with a dictionary. [[Special:Contributions/2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919|2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919]] ([[User talk:2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919|discuss]]) 15:39, 26 July 2024 (UTC) ::Thank you both for the information! Because 1) there is often vandalism by IPs in non-English content and 2) Wikibooks lacks enough users to do detailed vetting, I tend to be very conservative regarding this kind of edit when not accompanied by an explanation in the edit summary. I am happy to restore the initial edit since an explanation has now been provided. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:08, 26 July 2024 (UTC) == Wrong deletion == hello!I noticed that you deleted the edits I made to Lesson 12 of the Chinese textbook. Please give it back to me, and undo your deletion so I can continue working. [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 05:04, 3 August 2024 (UTC) :Hi @[[User:见水思源|见水思源]]. I deleted that page because of the following reasons taken together: :# It seemed very much out of scope with the rest of the book. :# It was written largely in a non-English language, beyond what would be expected for a language-teaching book. :# It was created by an anonymous IP. :# There have been multiple bad page creations for that page. :Could you please explain how your page contributes meaningfully to the book in its current scope? Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:51, 3 August 2024 (UTC) ::Hi, here are my answers :) ::1. I don't think it's out of scope, just like Lesson 11 of the book, it's a quoted Chinese text, designed to let students learn how real Chinese people speak ::2. This lesson does use a lot of non-English language, but that's because I decided to take a break and wait until the next day to complete it (including the supplementary English part) ::3. Like you mentioned, this is indeed created by an anonymous IP. The interesting thing is that this IP is mine, I'm a newcomer, and this is my first time contributing to the wiki. After I sent my work, I realized that I needed to create an account to save my work ::4. There is indeed a lot of vandalism on this page, and I saw it. But this doesn't mean that what I wrote is also meaningless text ::Like I said, that IP is mine, and I decided to finish my work the next day. But when I opened the page, I found it was deleted. I was angry because I spent a lot of time to finish it. So I hope you can give it back to me and let me finish the unfinished part. ::I am new here, which means I don't have a lot of experience, and I look forward to your suggestions on my work, thank you! [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 06:56, 4 August 2024 (UTC) :::@[[User:见水思源|见水思源]] thank you for clarifying—I have restored the chapter. Please make sure to incorporate it into the rest of the book. For example, please change the chapter title to match the other chapters, include it in the table of contents, and use the same formatting and structure as the other lesson chapters. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 4 August 2024 (UTC) ::::@[[User:Kittycataclysm|Kittycataclysm]]I'm glad to see them back, your advice is spot on. I noticed that the chapter headings don't seem to match the main table of contents, I'll make them fit by modifying the title text and body content appropriately。Thank you! [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 16:12, 4 August 2024 (UTC) ::For the whole book, I think I have filled a blank page, and I think after I fill it, this page must be more meaningful than a blank page. [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 10:49, 4 August 2024 (UTC) == Seeking to Improve My Project's Formatting == Hi there, I'm currently building [[Physics Explained Through a Video Game]] which you recently reviewed. As a question, is the inclusion of numerous video examples for the content I've written (such as for the existing materials in Unit 2 of my book) problematic? I feel that it provides a more intuitive explanation of many of the discussed concepts and may be more engaging for my target audience (high schoolers). However, I'm concerned that it's making the pages overly cluttered. Aside from this, are there any other ways that I can improve the existing content for the project? Thank you in advance. [[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]] ([[User talk:TheMonkeyEatsBananas|discuss]] • [[Special:Contributions/TheMonkeyEatsBananas|contribs]]) 05:38, 4 August 2024 (UTC) :Hi @[[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]]! From my cursory look at the book, the formatting seems generally quite reasonable. I don't have the capacity at the moment to take a detailed look at the specific construction to assess optimization. But, I don't think you have anything to be worried about. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:38, 5 August 2024 (UTC) == [[commons:HotCat]] == It's normally meant for Commons, but could help you with your categorisation work on this wiki. I don't think we have it as a gadget on this wiki, so just install it on your Commons.js - I could do it for you if you want. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:28, 3 September 2024 (UTC) :Thank you for letting me know about this! I always wondered if there was a way to install it on other wikis. Would you be able to help me with it this time? I've never installed any scripts here before. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:22, 3 September 2024 (UTC) ::Sorry, seeing this only now. I see that you have copied the code of HotCat, but I've replaced it with a direct link to HotCat on Commons. This ensures that you always have the latest version on the wiki. Can you check and let me know if you have any issues using that extension? [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 19:09, 14 September 2024 (UTC) :::Hi @[[User:Leaderboard|Leaderboard]]! Unfortunately, replacing it with the direct link has disabled the tool for me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:04, 14 September 2024 (UTC) ::::Apologies, can you try now (clearing your cache if needed)? [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:26, 15 September 2024 (UTC) :::::Yup, it's working again—thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:46, 15 September 2024 (UTC) :Sorry for butting in here, but I use hotcat a lot on many different projects so was surprised to find out that it is "meant for Commons". Actually IIRC I was/am having trouble using it on commons? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:11, 10 November 2024 (UTC) == Why did you remove the roadmap in Unicode/Versions? == OK, So why did you remove the roadmap in Unicode/Versions? I should re-add that and people will see the roadmap in this page and on the Unicode site. [[User:MatthewtheUnicoder|MatthewtheUnicoder]] ([[User talk:MatthewtheUnicoder|discuss]] • [[Special:Contributions/MatthewtheUnicoder|contribs]]) 18:41, 14 September 2024 (UTC) == Biology of the siphonophore == The page [[biology of the siphonophore]] was not an accident or test it was to make a page about siphonophores. Please understand to get rid of Query. [[User:Atlas Þə Biologist|Atlas Þə Biologist]] ([[User talk:Atlas Þə Biologist|discuss]] • [[Special:Contributions/Atlas Þə Biologist|contribs]]) 23:30, 19 September 2024 (UTC) == Chicken à la King recipe change == Hi, regarding {{diff|4440187}}, I could understand rejecting such a drastic change if someone else had originally posted the recipe, but it's my own recipe (based on my own cooking experience) and no one but you and I have ever even edited the page, so I thought (and still think) it's OK to change it so much. [[User:Mahagaja|Mahagaja]] ([[User talk:Mahagaja|discuss]] • [[Special:Contributions/Mahagaja|contribs]]) 07:44, 7 October 2024 (UTC) :That's a good point! I think if it's your recipe, it makes sense to make this change. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 7 October 2024 (UTC) == AI == Hi {{PAGENAME}}, Not sure if you remember me. I was fairly active at enwb for a few months until the beginning of this year IIRC. Any way I came across a page on Meta [https://meta.wikimedia.org/wiki/Future_Audiences/Experiments:_conversational/generative_AI Future Audiences/Experiments: conversational/generative AI] which you may or may not be familiar with. I vaguely remembered discussions in the ''reading room'' about the use of AI on this project, so thought you may be interested. Hope I am not wasting your time. Cheers, [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:03, 10 November 2024 (UTC) 22c9yzdtkt1ke1dyjm66q1w2rhn4p7v 4444309 4444299 2024-11-10T17:36:27Z Kittycataclysm 3371989 /* AI */ Reply 4444309 wikitext text/x-wiki {| class="wikitable" |+ ! colspan="2" |Talk Page Archives |- |[[User talk:Kittycataclysm/Archive 2022|2022]] |2023 |} == Duplicate user right == I noticed you have autoreviewed and reviewer user groups. Autoreviewed is deprecated if you have reviewer. Seeing as you are a temp admin, would you get into trouble if you removed it? If so, don't bother. I don't even know why I bother tbh xD. {{User:L10nM4st3r/sig.css}} 10:10, 17 January 2023 (UTC) :Hi @[[User:L10nM4st3r|L10nM4st3r]]! I wouldn't feel comfortable modifying my own user rights, especially as a temp admin. Is there any problem specifically with having both rights? Or is it just somewhat redundant? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:18, 18 January 2023 (UTC) ::Its just redundant. Actually happens a lot. I had my autoreviewed right removed when I became a reviewer. See [[WB:autoreviewed users]]. I think it says something about this as well. But its not a problem really. Or you could ask a permament admin. {{User:L10nM4st3r/sig.css}} 08:57, 18 January 2023 (UTC) :::{{re|L10nM4st3r}} and Kittycataclysm: {{done}} as the autoreviewer right is simply redundant. While there isn't a problem with having both rights, it can make things like [[Special:ListUsers]] a bit more confusing (have had similar issues on my home wiki before another admin removed a bunch of redundant rights from various users). [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:08, 20 January 2023 (UTC) ::::Gotcha, thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 21 January 2023 (UTC) == Potentially useful userscript == If you do not become a permament admin, I made a script designed to quickly report bad/suspicious users. It won't work if you are an admin though, which is a design choice I am unlikely to change. It is at [[User:L10nM4st3r/ReportUser.js]]. For if you need it. Or if you want it globally. Support for different wikis is currently very low, but if you request a wiki (hopefully English), I'll add that one first. {{User:L10nM4st3r/sig.css}} 22:49, 24 January 2023 (UTC) :Maybe a more heavily vandalized one? One that needs it the most? {{User:L10nM4st3r/sig.css}} 22:53, 24 January 2023 (UTC) ::FWIW, simplewiki is a heavily vandalised wiki, but they already use Twinkle to make such requests. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 02:05, 25 January 2023 (UTC) :::I will take a look at some point anyway. But it's my birthday today, so I'm not entirely sure when. (btw now I'm 17... or ''will'' be just before midnight.) {{User:L10nM4st3r/sig.css}} 05:31, 25 January 2023 (UTC) ::::An early happy birthday to you, {{u|L10nM4st3r}}! You'll be 17 in 3 hours where I live tho (AEDT/UTC+11:00) ;-). Even then, it's going to be midnight in the [[voy:Line Islands|Line Islands]] in 31 minutes. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 09:29, 25 January 2023 (UTC) :::::Its 10AM where I live. And I'm ruining my birthday cake xD! Lets hope I can stop eating biscuits like mad before dinner.. {{User:L10nM4st3r/sig.css}} 09:53, 25 January 2023 (UTC) :::I use twinkle global, but it doesn't allow fast, easy reporting of users. So I made the script. {{User:L10nM4st3r/sig.css}} 05:32, 25 January 2023 (UTC) == FYI == Hello, Kittycataclysm. For similar page-creation vandals like Mohamed James Wang, in the future, you can use [[Special:Nuke]] to delete all the pages a user creates that appears in [[Special:RecentChanges]] but in a single click. Just a tip. Best, and thanks for handling that vandal :-) --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 08:21, 28 January 2023 (UTC) :@[[User:SHB2000|SHB2000]] Thank you, this is super helpful! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:21, 28 January 2023 (UTC) == My talkpage protection == Thanks. Also I hope I didn't go too far trying to get him to do something else. Advice? The whole thread is on my talkpage. {{User:L10nM4st3r/sig.css}} 22:38, 2 February 2023 (UTC) :No worries @[[User:L10nM4st3r|L10nM4st3r]]! You didn't do anything drastically wrong or anything. I personally recommend not engaging with suspected vandals and, more broadly, anyone who seems to be baiting you or is otherwise not engaging in good faith—it's very rarely rewarding and usually just creates more fodder for them. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:57, 2 February 2023 (UTC) ::I think it was at least worth a try. Had you not protected my talkpage, I'd have probably ignored anything they posted after. But I guess less work for me :) Oh and I was not interested in their "help". I'd actually be more interested about how sewing machines work. Which actually bore me (geddit? Spoiler in a comment: <!-- Because they BORE a hole in the fabrick -->) xD{{User:L10nM4st3r/sig.css}} 23:04, 2 February 2023 (UTC) :Odd, has he just suddenly stopped vandalizing? Or is he being sneaky about it? Then again ive been away for a week or two, so what would i know, but wow, did i just cause a troll to give up? {{User:L10nM4st3r/sig.css}} 21:44, 21 March 2023 (UTC) == Hi there == Pls can you give me my page back? I'm using it as a template for some chemistry stuff. Thanks... [[User:Ema--or|Ema--or]] ([[User talk:Ema--or|discuss]] • [[Special:Contributions/Ema--or|contribs]]) 01:32, 4 February 2023 (UTC) :{{re|Ema--or}} mind you, Wikibooks is not your personal web host. If you're using it as a template, then use an application off-wiki. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 01:42, 4 February 2023 (UTC) == Qualander == Hi, Kittycataclysm, I've changed this user's block from 1 week to indef. as this user has vandalising various other wikis (including my home wiki). Just letting you know since you initially blocked them for a week. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:41, 13 February 2023 (UTC) :Sounds good, thanks for letting me know @[[User:SHB2000|SHB2000]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:56, 13 February 2023 (UTC) == Happy 10,000th :-) == I believe [[Special:Diff/4242333]] might be your 10,000th edit on Wikibooks; regardless, congratulations on reaching this significant milestone on Wikibooks. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 22:18, 10 March 2023 (UTC) :@[[User:SHB2000|SHB2000]] Yes, it think it was! Thank you :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:27, 10 March 2023 (UTC) == Algerian Couscous == Hi @[[User:Kittycataclysm|Kittycataclysm]] Good day,I saw you were reverting my edits on the article [[Cookbook: Algerian Couscous|Algerian Couscous]] ,I would love you to explain the reasons or probably the mistake I made while editig.I will encourage you to also tell where I'm wrong,corrections and way forward. Kindly treat as urgent Thanks for your work towards the growth of the Wikimedian foundation. Warm Regards [[User:Sylvesterchukwu04|Sylvesterchukwu04]] ([[User talk:Sylvesterchukwu04|discuss]] • [[Special:Contributions/Sylvesterchukwu04|contribs]]) 12:02, 12 March 2023 (UTC) :Hello @[[User:Sylvesterchukwu04|Sylvesterchukwu04]]! Based on the revision history of that page, I don't see any instances of me reverting your edits. I did add the <nowiki>{{Incomplete recipe}}</nowiki> template because the recipe you added was not complete. That template can be removed whenever a recipe is completed, and it looks like you did so. Let me know if you have any other questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:11, 12 March 2023 (UTC) == Reviewing == Hi. I'd like to get the reviewer right here. In practice, I have all the rights of the reviewer user group, except and only except <code>review</code> and I'd like to get that remaining bit. There are a lot of old edits out there that have yet not been reviewed and it would be good to be able to help wherever I am able to. I also have similar patrol/review rights on a bunch of wikis. Regards, --[[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 16:41, 13 March 2023 (UTC) :Hi @[[User:Svartava|Svartava]]! Requests for permissions should be made at [[Wikibooks:Requests for permissions]]. Additionally, I am not an official administrator, so I do not have any power to change people's user rights. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:14, 13 March 2023 (UTC) ::Alright, thanks for directing me to the appropriate page. Cheers! [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 03:42, 14 March 2023 (UTC) :::Hmm, it looks like I am not far from being autopromoted, so it's probably not much needed. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 03:49, 14 March 2023 (UTC) ::::{{re|Svartava}} I realise that this may come across as un-admin-like behaviour (for me), but I'd suggest copyediting a few random pages here and there with a unique edit summary for each edit – you should be autopromoted after a few copyedits, provided that you fulfill the rest of the criteria. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:50, 14 March 2023 (UTC) :::::@[[User:SHB2000|SHB2000]] That's an interesting idea. However, after reading [[Wikibooks:Reviewers#Automatic criteria]], I'm not sure I completely fulfill the rest of the criteria especially the <code>8 edits are spaced 2 or more days apart from each other (which takes at least 14 days, if you edit every 2 days)</code> which I find quite vague to be honest. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 13:44, 14 March 2023 (UTC) ::::::@[[User:Svartava|Svartava]] I believe that criterion means that out of your total body of edits, there must exist a set of 8 edits that have 2 days between them. If someone were starting from scratch, it would take at minimum 14 days to fulfill this requirement. My understanding is that this is to make sure a user is editing regularly and consistently before being granted the reviewer right. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:35, 14 March 2023 (UTC) :::::::What I fail to understand is that, if interpreted that way it would actually not happen in 14 days. With 2 days between each set of 8 edits, in 14 days you'll just have 64 edits, right? (wait, I actually just got the right with this edit, lol!) [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 10:38, 15 March 2023 (UTC) ::::::I'll admit that I don't really know the full details of this, and I find that statement vague too (but my interpretation is similar to Kittycataclysm's). I'm only an admin here for anti-vandalism purposes, FWIW. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 20:35, 14 March 2023 (UTC) == Question == Hey again - I have a question as a new reviewer in the team. Once an edit has been dealt with or reverted, should it be marked as "checked"? For example, [[Special:Diff/4220766/4243429|this edit]] which I reverted. Is the review button treated similarly to the patrol (as you find on other wikis)? Like, a rollbacked edit is automatically marked as patrolled. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 16:11, 15 March 2023 (UTC) :Hi @[[User:Svartava|Svartava]]! As far as I'm aware, the [[Help:Tracking changes#Reviewing pages|review feature]] performs a slightly different function to patrolling; edits by non-regular/inexperienced users are visually flagged as needing review to highlight that the edit has not been double-checked by an experienced user. Unaccepting/rolling back an unreviewed edit does not mark anything as "checked"—it just unflags the page for review. On the other hand, accepting an unreviewed edit both unflags the page for review and marks the edit in question as "checked"; I believe this is to let other users know who reviewed the edit. Does this answer your question? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:52, 15 March 2023 (UTC) ::Thanks for the reply, I do get my answer. By the way, I'd also ask why [[Special:Diff/4243642/4243648|this edit]] of mine does not get <code>autoreview</code>ed? [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 05:11, 16 March 2023 (UTC) :::@[[User:Svartava|Svartava]] Unfortunately the link you asked about is broken, and I couldn't figure out which edit you're referring to :/ —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 20 March 2023 (UTC) ::::{{ping|Kittycataclysm}} Actually, there is yet another such edit: [[Special:Diff/4243911/4243928]] by {{u|SHB2000}} who is an admin. Yet the edit wasn't autoreviewed?! This seems really strange. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 12:33, 20 March 2023 (UTC) :::::@[[User:Svartava|Svartava]] Because you've already checked that edit, I can't get a closer look at the details. However, I suspect what's happening is that people are rolling back specific edits without approving the entire edit chain. A reviewer can, on a page's history, select "rollback *** edits"; however, if they are just returning to a previous unreviewed edit, it will not automatically review those previously-unreviewed edit(s). This allows reviewers to, for example, revert an instance of obvious vandalism without assuming the responsibility of approving unreviewed edits they are not confident about. Hope this helps! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 20 March 2023 (UTC) ::::::Right, thanks, that makes sense! [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 02:00, 21 March 2023 (UTC) == Deletion request == Hello! Could you mass delete pages by [[Special:Contributions/111.65.45.229]] and [[Special:Contributions/Sacrsdra]]? I can seriously not believe how such trash edits persisted for so long here. Anyone with knowledge of chess is able to tell that these are just blunders and rubbish moves and not any real gambit. This is pretty much vandalism in my eyes and this is greatly disruptive as well as misleading since popular chess sites like lichess.org (see [https://lichess.org/analysis analysis board]) show what ''we'' have on our pages. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 04:35, 20 March 2023 (UTC) :Also {{ping|SHB2000}}. [[User:Svartava|Svartava]] ([[User talk:Svartava|discuss]] • [[Special:Contributions/Svartava|contribs]]) 04:36, 20 March 2023 (UTC) ::{{done}} (and that IP is an insult to chess players ;-)). You might receive a faster response on [[WB:AN]], though. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 06:55, 20 March 2023 (UTC) :::Thank you @[[User:SHB2000|SHB2000]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:08, 20 March 2023 (UTC) == Hello,Help me == Hello, I want to change the pages for copyright violation, only you can help me in this matter. Also, how can I get permission for copyright. Please stay updated and guide me. thank you [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 13:53, 6 April 2023 (UTC) :You will not get permission to use copyright material. You need to write in your own words, not copy other people's work. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 14:21, 6 April 2023 (UTC) :@[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] Per Wikibooks' [[Wikibooks:Copyrights|copyright policy]], "if you want to import text that you have found elsewhere or that you have co-authored with others, you can only do so if it is available under terms that are compatible with the CC-BY-SA license" and "if the material, text or media, has been previously published and you wish to use it under appropriate license, you will need to verify copyright permission". This means you would need to secure explicit permission from a copyright holder to publish their material on Wikibooks under our license and terms. A [[Wikibooks:Boilerplate request for permission|template message exists]] to help people secure permission. However, few copyright holders are willing to relinquish their content, and it can honestly be more trouble than it's worth. As such, I also strongly recommend you write in your own words. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:51, 6 April 2023 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]@[[User:MarcGarver|MarcGarver]] ::You mean that I have used a source, I must guarantee it to you and confirm it according to the copyright license. Well, I fully guarantee and confirm these sources that I use. ::Is this enough for copyright? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 18:08, 6 April 2023 (UTC) :::@[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] No, that is not sufficient. You must reach out to the copyright holder asking for permission under the Wikibooks license and terms. If you get permission, you must prove and submit it in writing on Wikibooks, linking it to the page in question. For example, if you are copying and pasting from Encyclopedia Britannica (which you have done), you must submit proof that Encyclopedia Britannica officially gives us permission. However, I highly doubt that will happen. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:40, 6 April 2023 (UTC) ::::It allows me because there is no error. [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 03:49, 7 April 2023 (UTC) :::::Hi, how do I find the copyright holder? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 09:57, 10 April 2023 (UTC) ::::::@[[User:Kittycataclysm|Kittycataclysm]] [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 09:58, 10 April 2023 (UTC) ::::::You don't. As per Britannica's [https://corporate.britannica.com/termsofuse.html terms of service], the entire encyclopedia is under an "all rights reserved" license. [[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:13, 10 April 2023 (UTC) == my question == Hello to kittycataclysm, I am writing supplementary mathematics and I need another author to help me with writing this book. Do you know an author who is active and skilled in mathematics? [[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]] ([[User talk:Mohammad.Hosein.J.Shia|discuss]] • [[Special:Contributions/Mohammad.Hosein.J.Shia|contribs]]) 12:33, 19 April 2023 (UTC) :Hi @[[User:Mohammad.Hosein.J.Shia|Mohammad.Hosein.J.Shia]]. Unfortunately, I don't know anyone who would be suitable. I recommend posting in the [[Wikibooks:Reading room/Projects|projects page]] to let the community know you're looking for more authors. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 19 April 2023 (UTC) == Hebrew roots == I do not remember that I have been involved in such discussion. [[User:Soul windsurfer|Soul windsurfer]] ([[User talk:Soul windsurfer|discuss]] • [[Special:Contributions/Soul windsurfer|contribs]]) 13:54, 29 April 2023 (UTC) :Hi @[[User:Soul windsurfer|Soul windsurfer]]! You were not involved in the past discussion—I am soliciting feedback from active and experienced members of the Wikibooks community, and you're among these people. If you have feedback to provide on the issue, that would be great! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:59, 30 April 2023 (UTC) ::Wow, I'm impressed, it is not typical. You know that I'm not the expert in this topic. How can I help you ? I have read discussion pages. Can you point to a specific problem I can help you with? [[User:Soul windsurfer|Soul windsurfer]] ([[User talk:Soul windsurfer|discuss]] • [[Special:Contributions/Soul windsurfer|contribs]]) 16:44, 30 April 2023 (UTC) == Sample question == Hello!How are you? I want to write questions about the texts of the pages to add more readers to the supplementary mathematics book. what do you think? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:00, 7 May 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Unfortunately, I don't understand what you're asking. What do you mean about adding more readers and writing questions? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:34, 7 May 2023 (UTC) ::no,I want from texts of the book,Design questions. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:36, 8 May 2023 (UTC) :::@[[User:Germany Poul Ah|Germany Poul Ah]] I'm sorry, but I still don't understand. You'll have to clarify what you want. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:44, 8 May 2023 (UTC) == Hello. == Hello how are you? I wanted to know where I should see the statistics of additional Supplementary mathematics book visits? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 04:30, 20 May 2023 (UTC) :Hello @[[User:Germany Poul Ah|Germany Poul Ah]]. When you are on a page, there is a link in the left-hand navigation bar under the tools section called "Page information". You can see page views from the last 30 days here. You can also try the [https://pageviews.wmcloud.org/?project=en.wikibooks.org&platform=all-access&agent=user&redirects=0&range=latest-20&pages=Main_Page pageview analysis tool] for more detailed information. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:35, 20 May 2023 (UTC) == Why Query in my article? == Hello. I have noticed, that You have put a line <nowiki>"{{Query}}"</nowiki> into my article West-East Notation & Bin Notation". I tried to find in Wikipedia what does it mean, but I failed. Should I do now anything? [[User:MusJabłkowy|MusJabłkowy]] ([[User talk:MusJabłkowy|discuss]] • [[Special:Contributions/MusJabłkowy|contribs]]) 19:25, 29 May 2023 (UTC) :Hi @[[User:MusJabłkowy|MusJabłkowy]]—thanks for your question! This template is often added to pages/books whose scope or purpose is unclear. In the case of your new book [[West-East Notation & Bin Notation]], the scope and purpose was unclear to me. Books on Wikibooks should have a clearly-identifiable purpose and structure so that others can learn and contribute; if this book does not show signs of being well-developed in this manner, it may be deleted. I hope this is helpful! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:36, 29 May 2023 (UTC) == Helping User's to my books' == Hello,How are you!? First of all, thank you for the copyrite that you told me, secondly, I am alone to write a book and I am looking for a few people who are new and experienced, I also applied but it didn't show up, can you tell me what to do? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:54, 4 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Thanks for taking care of the copyright issue. I'm not sure what you mean when you say "I also applied but it didn't show up". Regarding getting people to help you write a book, it's a bit tricky. Wikibooks currently has much lower activity than some other wiki projects (like Wikipedia)—this means we have fewer editors and contributors overall. You could try posting in the [[Wikibooks:Reading room/Projects|projects page]] to let the community know you're looking for more authors, but we just don't have many people who might respond. You might have more success talking to people you already know to see if they would be interested in helping. Cheers! [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:40, 4 June 2023 (UTC) ___ ::Hello, please. So you are saying that I should give a notice that (I need help to write my own books)? But let us tell you about one thing. The statistics estimated the number of users of wikibooks to be almost 400 people. The number is not small. I can find at least 8 of the 400 users of wikibooks who have intellectual genius for mathematics. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 13:41, 4 June 2023 (UTC) :It's true that 400 people may seems like a lot, but the community engagement is fairly low. Still, you are more than welcome to reach out to specific users to ask them for help! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:44, 4 June 2023 (UTC) == Interesting offer == {{ping|Kittycataclysm}} Hello dear user, instead of using English sources to write the book, I decided to use Wikipedia and English sources from Wikipedia and German, French, Arabic, Persian, Italian, etc. to write the book. What do you think? In this way, copyright is not violated much. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 10:41, 9 June 2023 (UTC) :Hello @[[User:Germany Poul Ah|Germany Poul Ah]]—I apologize for my delayed response. Are you asking if it's allowed to copy verbatim from other wiki projects? It is not appropriate to copy verbatim from other projects without leaving a "trail" to maintain edit history. If you wish to take content directly from other wiki projects, you should request an [[Help:Importing|import]] of a page into Wikibooks, then move/dewikify/translate that content in your book as appropriate. If an import is not possible, then you should preserve the edit trail by linking to the original page in the edit summary. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:56, 12 June 2023 (UTC) ::Hello, I also apologize. I was angry. I thought you had a disagreement with me and did not want to talk to me. ::But in the end, we shouldn't take it seriously. So, thank you for answering me. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:34, 13 June 2023 (UTC) :::Also, @[[User:Kittycataclysm|Kittycataclysm]] can I request permission to copy and edit the English sources that I want to write with? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:39, 13 June 2023 (UTC) ::::In the meantime, @[[User:Kittycataclysm|Kittycataclysm]] how do I apply for permission to sister projects of Wikibooks and other Google projects? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:51, 13 June 2023 (UTC) :::::I'm not quite sure what you mean. If there's a page from another wiki project that you want to import, you can make a request at the [[Wikibooks:Requests for import]] page. Does that help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:45, 13 June 2023 (UTC) ::::::Yes, this helps a lot, thank for you. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:35, 14 June 2023 (UTC) == Greetings == Hi @[[User:Kittycataclysm|Kittycataclysm]], how are you doing? Yayyy, it’s me again, we e-met sometimes ago when we held the Nigerian Cuisine event which saw the cookbook been enriched with a lot of Nigerian cuisine, thank you so much for your support throughout the project. This is to bring to your notice that we have initiated a follow up project called African Cuisine - AfroCuisine - Meta (wikimedia.org), to drill down into some more African cuisine and specifically improve and clean up some of the articles created during Nigerian Cuisine. We will commence training the new and existing editors on 17th, June 2023.  As always, your support would really be appreciated. Kind regard [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 14:37, 15 June 2023 (UTC) :Nice to see you again @[[User:B.Korlah|B.Korlah]]! I'll keep an eye out for this—let me know if you need any help. As a refresher for new editors, I am linking [[Cookbook:Policy]], [[Cookbook:Help]], [[Cookbook:FAQ]], and [[Cookbook:Policy/Recipe template]]. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:58, 15 June 2023 (UTC) Thank you very much for this, I really appreciate. I’d let you know if I need any further assistance. If there’s anything, feel free to ping me [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 18:47, 15 June 2023 (UTC) :Hi @[[User:B.Korlah|B.Korlah]]! Could you please make sure contributors from this project are fully matching the cookbook policy and the recipe template? I have had to make significant corrections on many recipes, including spelling, formatting, linking, and more. Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:31, 25 June 2023 (UTC) ::Thank you very much @[[User:Kittycataclysm|Kittycataclysm]]. I can see all the works you’re doing and I am also following up on them. You’d see changes soon. ::Regards. [[User:B.Korlah|B.Korlah]] ([[User talk:B.Korlah|discuss]] • [[Special:Contributions/B.Korlah|contribs]]) 19:39, 25 June 2023 (UTC) == Is this reference correct? == Hi@[[User:Kittycataclysm|Kittycataclysm]].I used this German link to expand the parallelogram article, some of its sources are in English, and I edited it and mentioned the source. Is this acceptable? Here is the link:https://de.m.wikipedia.org/wiki/Parallelepiped I was afraid to write with another source after that blocking. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 05:47, 16 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]! Yes that's fine. Just please put the link to the original wiki article in the '''edit summary'''. You could say something like "added content from German Wikipedia (*link goes here*)". No need to make an inline citation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:54, 16 June 2023 (UTC) ::Thank you. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 12:58, 16 June 2023 (UTC) ==Afrocuisine== Hi {{ping|Kittycataclysm}} how are you doing? I'm reaching out to an administrative person here on Wikibooks Cookbook, tried reaching out to [[Mrjulesd]] who was really helpful when I started editing here on Wikibooks but I haven't gotten a reply yet. But I'm reaching out to bring to your notice that a follow-up project called African Cuisine which is basically the 2.0 of Nigerian cuisine would be starting on the 17th of June, this project aims to add more African cuisines to the Wikibook cookbook and specifically improve and clean up some of the articles created during Nigerian Cuisine. Your support would really be appreciated. Kind regards, Richard. :Hello and thank you for the heads-up! I will keep an eye out for these edits. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:50, 17 June 2023 (UTC) :Thank you! [[User:Edriiic|Edriiic]] ([[User talk:Edriiic|discuss]] • [[Special:Contributions/Edriiic|contribs]]) 15:44, 19 June 2023 (UTC) == Question == Hello, I did not copy from English Wikipedia and I use German, French, Persian, Arabic, Italian Wikipedias and sources along with English and I copy and Use some of them (except English Wikipedia and sources), did I do something wrong? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 18:38, 23 June 2023 (UTC) :@[[User:Germany Poul Ah|Germany Poul Ah]] As I have told you, if you take content from any other Wiki project (even translated from other languages), you must maintain the chain of attribution by importing or linking to the original in the edit summary. If you do not continue the chain of attribution, it is a policy violation. I have explained this multiple times, but you continue to violate policy—further violations will result in a block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:25, 24 June 2023 (UTC) ::If I cite the source and edit it in the summary, is it a solution? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:09, 24 June 2023 (UTC) :::Hello again, I have a thought My opinion is to make the book again and delete all the content at once. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 05:33, 24 June 2023 (UTC) ::::@[[User:Germany Poul Ah|Germany Poul Ah]] Yes, putting the link to the original Wiki article in the edit summary is acceptable attribution. I don't know what you mean regarding deleting the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:23, 24 June 2023 (UTC) :::::I meant to delete the contents, which I stopped working on. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 02:54, 25 June 2023 (UTC) == QUESTION 2 == Hello,I apologize for bother me,I'm not know from politics of wiki books.Now You Tell me That What am I must doing? I am very concerned about book authoring and wikibook policy. Where should I read the Wikibooks policy for copyright protection, correct book writing, etc.? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 11:24, 26 June 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. You can read Wikibooks general policies [[Wikibooks:Policies and guidelines|here]], and the policy on copyright [[Wikibooks:Copyrights|here]]. Is this what you wanted to know? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:33, 26 June 2023 (UTC) == re [[Special:Diff/4309386]] == Hi, Kittycataclysm, just an FYI that we've had a ''lot'' of issues with that user's incompetence on the English Wikivoyage – see [[voy:User talk:Grace789]] and [[voy:Wikivoyage:Votes for deletion/April 2022]]. It might take a while to get that user's attention (it might not even happen), so I'm letting you know in advance. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:16, 18 July 2023 (UTC) :Got it, thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:24, 18 July 2023 (UTC) == HI == Hello, dear user, I found a text from a site where the text of Wikipedia 2007 can be placed, can I use it?   This is the 2007 Wikipedia text Euclidean geometry is a mathematical well-known system attributed to the Greek mathematician Euclid of Alexandria. Euclid's text Elements was the first systematic discussion of geometry. It has been one of the most influential books in history, as much for its method as for its mathematical content. The method consists of assuming a small set of intuitively appealing axioms, and then proving many other propositions ( theorems) from those axioms. Although many of Euclid's results had been stated by earlier Greek mathematicians, Euclid was the first to show how these propositions could be fitted together into a comprehensive deductive and logical system. The Elements begin with plane geometry, still often taught in secondary school as the first axiomatic system and the first examples of formal proof. The Elements goes on to the solid geometry of three dimensions, and Euclidean geometry was subsequently extended to any finite number of dimensions. Much of the Elements states results of what is now called number theory, proved using geometrical methods. For over two thousand years, the adjective "Euclidean" was unnecessary because no other sort of geometry had been conceived. Euclid's axioms seemed so intuitively obvious that any theorem proved from them was deemed true in an absolute sense. Many other consistent formal geometries are now known, the first ones being discovered in the early 19th century. It also is no longer taken for granted that Euclidean geometry describes physical space. An implication of Einstein's theory of general relativity is that Euclidean geometry is only a good approximation to the properties of physical space if the gravitational field is not too strong. [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 09:29, 9 August 2023 (UTC) :Hi @[[User:Germany paul whq2|Germany paul whq2]]. Could you please share the link to this revision of the Wikipedia page? Thanks –[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:24, 9 August 2023 (UTC) hello this is it= https://www.cs.mcgill.ca/~rwest/wikispeedia/wpcd/wp/e/Euclidean_geometry.htm --[[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 06:30, 11 August 2023 (UTC) :@[[User:Germany paul whq2|Germany paul whq2]] This is not a Wikipedia page—it is a separate website that has taken, modified, and rehosted text from Wikipedia. You should not copy content from this page. If you want to take material from Wikipedia, you should take from the original page and then link that revision in the edit summary on Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 11 August 2023 (UTC) ::No, no, no, I wanted to know if that source can be copied and edited on it [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 11:18, 14 August 2023 (UTC) :::excuse me Excuse me, I have a question, where should I make a robot, and if you know someone who knows how to make a wiki electronic robot, can you introduce me to it? [[User:Germany paul whq2|Germany paul whq2]] ([[User talk:Germany paul whq2|discuss]] • [[Special:Contributions/Germany paul whq2|contribs]]) 11:27, 14 August 2023 (UTC) ::::@[[User:Germany paul whq2|Germany paul whq2]] No, you may not "copy and edit on" that source. I do not know much about using bots—you may want to ask @[[User:JackPotte|JackPotte]] or @[[User:Leaderboard|Leaderboard]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:22, 14 August 2023 (UTC) ::::: Hello, by the past my bot has already imported thousands of pages, but it's a long dev for each source. It means that it's not interesting to import less than 100 pages by bot, even more if it's just copy-pastes. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 14:30, 14 August 2023 (UTC) ::::::well,I use this from bot,can i do use for writeing my books this from bot? [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 17:33, 14 August 2023 (UTC) == The Miraheze Cookbook == Miraheze volunteers created a wiki-based cookbook: The Miraheze Cookbook. This wiki is a crossover between wikiHow and Wikibooks cookbook. The link is https://cookbook.miraheze.org. Would you like to contribute to the wiki? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:04, 13 August 2023 (UTC) :Hi @[[User:Xeverything11|Xeverything11]]—thank you for letting me know. I will stick with Wikibooks, but best of luck. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:12, 13 August 2023 (UTC) ::Here are the recipes on The Miraheze Cookbook volunteers of Miraheze created: [https://cookbook.miraheze.org/wiki/Scrambled_Eggs Scrambled Eggs] and [https://cookbook.miraheze.org/wiki/French_Toast French Toast]. What do you think of the recipes on The Miraheze Cookbook? At the writing, there are 2 recipes on The Miraheze Cookbook compared to 3,000+ here. If you want to contribute to The Miraheze Cookbook, follow the [https://cookbook.miraheze.org/wiki/The_Miraheze_Cookbook:Policy policy], especially the Manual of Style, and go ahead, contribute! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 12:18, 14 August 2023 (UTC) :::@[[User:Xeverything11|Xeverything11]] I will not be contributing to this project. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:31, 14 August 2023 (UTC) == Cookbooks == Hi, thanks for making all the good cookbooks, keep it up! [[User:Alextejthompson|''Alextejthompson'']] (''Ping me or leave a message on my [[User talk:Alextejthompson|talk page]]'') 16:53, 11 September 2023 (UTC) == Religion of Shia Islam == Hello, the book of the Shiite religion, as the name suggests, this book is for Shiites. But you say this article should be unbiased. Why? This article is for Shiites and should not be written impartially. been gone for a few weeks, what a transformation!😮 [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 19:01, 17 September 2023 (UTC) :Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. I said that the book should be written from a neutral point of view because of the wikibooks [[Wikibooks:Neutral point of view|neutral point of view policy]]. My understanding of the policy suggests that a book on Shia Islam should be educational about the topics and beliefs in the religion (i.e. a description of the faith) without necessarily espousing those beliefs. Much of the content you have added can be considered educational, but I think it needs to be edited accordingly for neutrality. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:39, 18 September 2023 (UTC) :Additionally, it is good practice to cite the sources of your information. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:41, 18 September 2023 (UTC) ::Yes, of course, but since the book is about Shiites, it should be based on the beliefs of Shiites. ::Also, don't worry about the source ::I write like "Wikishia" [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 03:49, 18 September 2023 (UTC) :::Hi @[[User:Germany Poul Ah|Germany Poul Ah]]. You are correct that the book should be about Shiite Islam and the beliefs of Shiites; however, it needs to be written from a neutral point of view per the policy. I understand that NPOV is difficult to achieve as a single author, so I may be able to help edit for neutrality to at least show you what I mean. :::Regarding sourcing, I can't "not worry about the source". It is important to have a minimum of sourcing for educational books, especially for those based in historical/cultural events like this book is, and this too is policy. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:00, 18 September 2023 (UTC) ::::@[[User:Kittycataclysm|Kittycataclysm]] hi Well, don't worry about the source, I will make them Generalization with an article. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 18:20, 18 September 2023 (UTC) :::::@[[User:Kittycataclysm|Kittycataclysm]] Hi,I did not understand the definite opinion, I can write based on the opinions of Muslims or speak impartially. :::::But my opinion is that this book should not be written impartially because I don't can to write impartial things as a Muslim. Please guide me, I am completely confused. [[User:Germany Poul Ah|Germany Poul Ah]] ([[User talk:Germany Poul Ah|discuss]] • [[Special:Contributions/Germany Poul Ah|contribs]]) 04:51, 21 September 2023 (UTC) == I reverted an edit to your user page == Hello, one user who wanted to send a message to you, wrote their message on your user page, so I reverted it. Please check page history for details of the message. Thank you for your attention. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:50, 19 October 2023 (UTC) :Thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:09, 19 October 2023 (UTC) == Thank you! == I am a big fan of cookbooks here, and I just wanted to thank you for your work on improving and adding cookbooks! [[User:Wikiuser13|Wikiuser13]] ([[User talk:Wikiuser13|discuss]] • [[Special:Contributions/Wikiuser13|contribs]]) 00:29, 25 November 2023 (UTC) :Thank you, that's very kind :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:27, 26 November 2023 (UTC) == Fuzzball article == {{strike/top}} {{ping|Kittycataclysm}} With regard to Wikibook’s ''[[Fuzzball (string theory)]]'' article, I had originally created it on Wikipedia but another editor found it too expansive (a book-like treatise on a broad subject matter) for Wikipedia and took it over, deleting the majority of it. Then another editor over there suggested that Wikibooks would be a more suitable location. So I did a raw import to here on Wikibooks last night; it obviously needs some work to trim out unnecessary external links to en.wikipedia; this could take me up to a week. The ostensible reason for trimming out so much material from what I had there was it included notes explaining things, like how the names of “Theory of Special Relativity” and “Theory of General Relativity” got their names. The original paper’s names by Einstein were things like “On the Electrodynamics of Moving Bodies.” And when I researched the issue, I’d stumble across discussions on Physics Stacks Exchange where people had asked these same questions and no one was able to properly answer them. So I dug down and found out that it was Einstein himself who gave his theories their modern names. I tried to make my article a full-service book-like treatise that answered specific questions and covered the historical ground work that got us from Einstein to today. [https://en.wikipedia.org/w/index.php?title=Fuzzball_(string_theory)&oldid=1188191052 Here] is a permalink to what I originally had on Wikipedia before the new editor gutted it. Based on what you see there, do you think it can be transformed into something that fits well here? If you think it looks like something that has promise for residing here, would you mind replacing the current tag with one of those “sweeping broom” (under construction) tags? It shouldn’t take more than a week to get it 90% there. '''P.S.''' By the way, six of the images—including the animation of the collapse—that you see on that perma-link to Wikipedia are ones I created specifically for this article. I believe that communicating with images and graphs makes PowerPoint presentations, white papers, and books, more interesting and informative. '''P.P.S.''' I copied the article to [[User:Greg_L/sandbox|my sandbox]], which I believe is the ideal place for conversion work. What do you think is the best way to show the article-space as a temporary work in progress? A “broom” tag? A stub? A stub ''and'' a broom tag? Other? [[User:Greg L|Greg L]] ([[User talk:Greg L|discuss]] • [[Special:Contributions/Greg L|contribs]]) 18:06, 5 December 2023 (UTC) {{strike/end}} :Hi @[[User:Greg L|Greg L]]. I took a look at the materials you linked and at your note at [[User talk:Mrjulesd]]. As it stands, I feel like it would make sense to incorporate it into an existing book, rather than creating an entirely new book around it. One-off articles are more out of place here than on Wikipedia. Can you take a look at [[Shelf:Physics]] and see if your work could be incorporated into one of the books there? In the meantime, working on it in your sandbox is completely fine. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:56, 6 December 2023 (UTC) ::As far as I can tell, ''Fuzzball (string theory)'' would best belong as a book #7 under ''13. Black holes'' at ''[[General Astronomy]]''. Yes? [[User:Greg L|Greg L]] ([[User talk:Greg L|discuss]] • [[Special:Contributions/Greg L|contribs]]) 01:30, 7 December 2023 (UTC) == To kitty kat == can you please stop doing what you are doing by removing what people edited and adding your own false recipes it is really not helping [[Special:Contributions/41.116.238.216|41.116.238.216]] ([[User talk:41.116.238.216|discuss]]) 11:19, 14 January 2024 (UTC) :No idea what recipies your adding, 41.116. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 16:52, 14 January 2024 (UTC) :Could you please be more specific? I don't know what you are referring to. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:36, 14 January 2024 (UTC) ::I followed your edits it led to me burning my kitchen i followed your citations the led to a virus that costs me $200 for me to repair [[Special:Contributions/41.116.216.82|41.116.216.82]] ([[User talk:41.116.216.82|discuss]]) 18:32, 15 January 2024 (UTC) :::Wikibooks editors are not liable for something you did. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:29, 15 January 2024 (UTC) ::::are you kitty Kat sir or mam [[Special:Contributions/41.116.248.36|41.116.248.36]] ([[User talk:41.116.248.36|discuss]]) 17:33, 19 January 2024 (UTC) :::::41.x, why would that matter? --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 08:10, 20 January 2024 (UTC) ::::::Stop answering questions that are not directed to you mister or whatever you are [[Special:Contributions/41.116.195.45|41.116.195.45]] ([[User talk:41.116.195.45|discuss]]) 06:42, 21 January 2024 (UTC) :::Remember to be careful with links, I feel as though this should be known already by somebody using the internet. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 09:13, 20 January 2024 (UTC) ::::Shut up boob face [[Special:Contributions/41.116.198.58|41.116.198.58]] ([[User talk:41.116.198.58|discuss]]) 15:01, 23 January 2024 (UTC) ==Redirect I created was deleted by you== Hi {{PAGENAME}}, I just checked my watchlist and I see that you deleted a redirect I created yesterday. I would like to apologize for creating additional work for you. My intention was to help, not to increase your work load. I will refrain from making any more changes to the cookbook from now on. Sorry to have troubled you. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:37, 26 January 2024 (UTC) :@[[User:Ottawahitech|Ottawahitech]] Please don't worry about it! It's not a big issue, and you are welcome to continue contributing. It's a learning process :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:36, 26 January 2024 (UTC) ::@Kittycataclysm: Thank you for your gracious reply. ::Since we have not interacted before I would like to explain why I posted this in the first place. I have been part of the Wikimedia movement since 2007 (yes, I am ancient:), first at enwp exclusively until about 2012. After I was shunned from enwp in 2017 I have participated quite extensively in other sister-projects, perhaps a bit less enthusiastically than my first 10 years. ::Since I joined the movement I have had trouble with my contributions being deleted, not reverted or undone, but deleted by admins. Many of these deletion were carried out "silently", as in without telling me about the deletion. I have therefore become very sensitive about this. Deleted contributions disappear from the contribution page of participants, so for someone who only participates sporadically and uses their contribution page to refresh memory this is a real issue, especially if many of the contributions they make end up being deleted without notifications. ::I hope I am making sense? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 19:08, 27 January 2024 (UTC) :::I can definitely understand how that would be frustrating! If helpful, I can make sure to alert upon page deletions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:57, 28 January 2024 (UTC) ::::Thanks again for the gracious offer. I just tried to explain the way things look like from the POV of a ''low-key, low-input, good-faith'' contributor, but please do not go out of your way to treat me differently than others are treated at WB. I will continue to try and help whenever I get a chance. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 15:58, 29 January 2024 (UTC) == Sorry == Kittycat sorry for everything i said your editing helped a lot please forgive [[Special:Contributions/41.116.190.118|41.116.190.118]] ([[User talk:41.116.190.118|discuss]]) 12:03, 28 January 2024 (UTC) == "Zuppa toscana", not "zuppa Toscana" == Hi, your move of the "zuppa toscana" page to "zuppa Toscana" is incorrect, please read these three conversations: [[wikipedia:Talk:Pecorino romano#Requested move 19 November 2023]]; [[wikipedia:Talk:Pecorino romano#Requested move 19 November 2023]]; [[wikipedia:Talk: Caffè americano#Requested move 19 November 2023]]. However, the [[wikipedia:Title case|title case]] page states: "When using title case, all words are capitalized, except for minor words (typically articles, short prepositions, and some conjunctions) that are not the first or last word of the title."; "toscano" is and '''adjective'''. [[User:JackkBrown|JackkBrown]] ([[User talk:JackkBrown|discuss]] • [[Special:Contributions/JackkBrown|contribs]]) 16:53, 29 January 2024 (UTC) :Hi @[[User:JackkBrown|JackkBrown]]. Wikibooks is not Wikipedia, and its stylistic conventions do not necessarily apply here. As I noted on your talk page, the stylistic conventions of the cookbook here are such that recipe titles are in title case, with English (not Italian) capitalization conventions and major words capitalized. It is worth noting that each book here may have different stylistic conventions, but this is how titles should work in the cookbook. Thanks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:25, 29 January 2024 (UTC) ::{{Ping|Kittycataclysm}} great! Forgive me. [[User:JackkBrown|JackkBrown]] ([[User talk:JackkBrown|discuss]] • [[Special:Contributions/JackkBrown|contribs]]) 02:56, 30 January 2024 (UTC) == [[Free Knowledge Culture Calendar]] == [[File:FLOSS calendar prototype 2022-12-13.jpg|thumb|first physical galley proof]] It largely unclear to me what clarifications you’re asking for, and I feel a bit pressured, to be honest. (Like I need to guard my content against deletionists or something.) Early on after I started publishing here, I tried to document the vision I was working towards concisely, yet accurately and in detail, on the main talk page for any potential co-authors. Did you notice that at all?... I’m trying to do a kind of innovative history book that is easy to engage, with bite-sized information that fits between two sips of coffee, e.g. to be consumed daily at breakfast or as login [[w:Message of the day|MOTD]]s. I feel like the biggest chunk of work and research is done and it’s provisionally already somewhat functional: You might not realize at first glance how much work it is to find a topic/story for each day of the year. While quality of the topics could surely be improved here and there, this work has reached a provisional conclusion. – Now all that remains is to write the stories, and that should be much more straightforward in comparison and easier to participate in. For an idea of one thing this can be, to the right there’s a photo of the first paper prototype, e.g. for the breakfast table. You are very welcome to leave point notes on individual stories, find the single best media piece for further study of a topic, work on good complementary illustrations, flesh out a story, give any actionable feedback, or come up with a better title.--[[User:Reseletti|Reseletti]] ([[User talk:Reseletti|discuss]] • [[Special:Contributions/Reseletti|contribs]]) 19:07, 4 February 2024 (UTC) :Hi @[[User:Reseletti|Reseletti]] and thanks for the information! I queried the book because it seemed mostly abandoned for over a year, the handful of random pages I clicked on only had one sentence each, and I didn't fully understand the concept based on the talk page. It seems like a lot of the pages still need to be fleshed out (I imagine maybe a paragraph each to reasonably form a book?) Just out of curiosity, do you plan on resuming the work on the book? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 4 February 2024 (UTC) :Also I like the little feature to navigate to today's page! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:12, 4 February 2024 (UTC) == Champorado (chocolate porridge) Philippine cuisine == I added Champorado. I didn't copy paste it from a ready made recipe. I asked my mother on how to cook it. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 06:17, 6 February 2024 (UTC) :@[[User:Jay Bolero|Jay Bolero]] yes that recipe is totally fine, as is [[Cookbook:Pinakbet]]. But, where did you get [[Cookbook:Lechon Kawali (Chili-Honey Glazed Filipino Pork Belly)]]? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:13, 6 February 2024 (UTC) ::I accidentally saw that recipe. It was originally named Chili Honey Glazed Filipino Pork Belly (Lechon Kawali). ::I moved the name into ::Lechon Kawali (Chili Honey Glazed Filipino Pork Belly) [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:26, 6 February 2024 (UTC) ::I didn't make the recipe of Lechon Kawali. It already existed in the Cookbook. I just improved it and placed it in the list of Filipino cuisine. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:27, 6 February 2024 (UTC) ::By the way, I made the Cookbook:Calamansi. ::Calamansi is one of the important ingredient in Filipino cuisine. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 13:29, 6 February 2024 (UTC) :::Great, thank you :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:08, 6 February 2024 (UTC) == The other Lechon Kawali == The last Lechon Kawali you marked as copyvio is not actually a copyvio. It has no Glazing needed. It does not need an airfryer to be cooked. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:44, 8 February 2024 (UTC) :This one is not a copyvio [[Cookbook:Lechon Kawali (Filipino Crispy Fried Pork Belly):|Cookbook:Lechon Kawali (Filipino Crispy Fried Pork Belly)]] [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:46, 8 February 2024 (UTC) ::That recipe didn't violate any copyright. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:50, 8 February 2024 (UTC) :::The Chili Honey Glazed is the one that violated a copyright [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:51, 8 February 2024 (UTC) ::::The two versions of Lechon Kawali recipes are different from each other. That last one is not copy pasted from an existing recipe. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 07:59, 8 February 2024 (UTC) :::::@[[User:Jay Bolero|Jay Bolero]] you can see my response on your talk page. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:06, 8 February 2024 (UTC) == My two books on Wikibooks == I wrote two books on Wikibooks entitled Bikol and the other one is Learn Baybayin. You might want to review them. [[User:Jay Bolero|Jay Bolero]] ([[User talk:Jay Bolero|discuss]] • [[Special:Contributions/Jay Bolero|contribs]]) 08:01, 8 February 2024 (UTC) == AuthorsAndContributorsBot == Hi, I have stumbled upon this bot which seems to be inactive. However, it also seems to have released its source code. Can I run this bot to update the authors lists? I will create a separate account for this. -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 13:12, 9 March 2024 (UTC) :Sorry for missing this @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]! Are you asking whether you're allowed to create a new bot account with the source code in order to fix the inactive bot? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 5 April 2024 (UTC) ::Yes, this is what I meant. [[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 14:44, 6 April 2024 (UTC) :::I don't see why not! @[[User:JackPotte|JackPotte]] @[[User:Leaderboard|Leaderboard]] I know you both run bot accounts, so is there anything they should know before doing this? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:30, 9 April 2024 (UTC) ::::Hi {{re|Kittycataclysm}} mainly ::::* test the bot first - the [[:mw:Beta Cluster|Beta Cluster]] or [[:testwiki:|test wiki]] are good places ::::* ask for the appropriate permissions so that it does not bother patrollers. This would normally be autoreviewer if the bot is low-volume, or the bot right otherwise. ::::[[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:47, 10 April 2024 (UTC) ::::: Hello, actually last year I had launched [[User:AuthorsAndContributorsBot/source_code]] on four pages (ex: https://en.wikibooks.org/w/index.php?title=World_Cultures/Authors_%26_Contributors&diff=prev&oldid=4285894) and it worked fine, but I've stopped because it needed to maintain [[User:AuthorsAndContributorsBot/blacklist]] and [[User:AuthorsAndContributorsBot/List of books]], or even better: to make them dynamic. [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 07:00, 10 April 2024 (UTC) ::::::Thank you very much! What do you mean by maintain the pages or make them dynamic? Thanks in advance, -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 12:43, 26 April 2024 (UTC) == [[Sheaf Theory]] == @[[User:Kittycataclysm|Kittycataclysm]] and @[[User:Az1568|Az1568]], I don't quite understand; why was this tagged and deleted? The criterion cited says {{tq|Abandoned pages displaying intent, but no actual content}}, but I'd argue there was a decent amount of content in the few deleted pages. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 17:27, 4 April 2024 (UTC) :Hi @[[User:1234qwer1234qwer4|1234qwer1234qwer4]]! I believe I initially queried it while sorting through old abandoned books because the scope and future of the book were unclear to me, and I couldn't see a way forward for it. It turns out that queried books end up in candidates for speedy deletion after a certain period, which I think is how it eventually got deleted by @[[User:Az1568|Az1568]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:32, 4 April 2024 (UTC) ::Yep that's correct. The book has appeared largely undeveloped since 2018, and unfortunately, there were no attempts to oppose the initial query left on the book itself, nor were there attempts to expand on its content. --[[User:Az1568|Az1568]] ([[User talk:Az1568|discuss]] • [[Special:Contributions/Az1568|contribs]]) 20:05, 4 April 2024 (UTC) :: So how exactly is this reflected in policy? [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 14:09, 14 April 2024 (UTC) :::Hi @[[User:1234qwer1234qwer4|1234qwer1234qwer4]]! So, I went back to take a look at it. The book consisted of two pages, with no introduction or clarification of scope/aims/educational relevance. It seems to just have been some mathematical definitions with no accompanying educational/instructional material. It was also abandoned for several years. I only intended to query it, but it did seem to meet criteria for deletion at [[Wikibooks:Deletion policy]]. Notably, the policy says to "delete stubs that are too narrowly defined or do not have a decent definition of what they are about", which I do think applied to this book as mentioned. It's possible that it should have been a RFD instead of a speedy deletion, but I do think overall it makes sense according to policy. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:02, 14 April 2024 (UTC) == Miraheze == I am patrolling [https://meta.miraheze.org/wiki/Special:RecentChanges Miraheze's recent changes] and noticed there is username Kittycataclysm in recent changes in that wiki. Did you create this account on that wiki? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:46, 10 April 2024 (UTC) :Hi @[[User:Xeverything11|Xeverything11]]. Thanks for asking. No, I do not have a Miraheze account, and I am not active over there. Whoever is operating under the username "Kittycataclysm" there is not me. Since they've copied my entire user page, I assume they are impersonating me for some reason. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:40, 10 April 2024 (UTC) ::Looking into [https://meta.miraheze.org/wiki/Special:CentralAuth/Kittycataclysm that account's CentralAuth], it had made a total of 24 edits at the writing - 19 are from Cookbookholic, 3 are from Miraheze Meta, 1 is from Miraheze Login Wiki, and 1 is from Amazing YouTubers Wiki. What is that account doing? [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 07:29, 11 April 2024 (UTC) :::No idea. I'm not going to get involved over there, since this is my home wiki. But, since you have an account there, it might be nice if you could let them know that this person is an impersonator. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:07, 11 April 2024 (UTC) == [[Special:Contributions/Favonian]] == Hello. I think you may have blocked the wrong user. A different user made their talk page. Please check their local and global contributions. Thank you for your attention. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:57, 11 April 2024 (UTC) :Oh gosh, thank you for letting me know—that was a mistake on my part. Should be fixed now! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 11 April 2024 (UTC) == Jumarkese == I just want to ask, why you deleted my page "Jumarkese" on Wikibooks? And how I can revive my page? [[User:Jumark27|Jumark27]] ([[User talk:Jumark27|discuss]] • [[Special:Contributions/Jumark27|contribs]]) 11:06, 17 April 2024 (UTC) == Thanks == Wanted to say thanks for all the work you do on Cookbooks. Have a good one! :) [[User:Aekrinine|Aekrinine]] ([[User talk:Aekrinine|discuss]] • [[Special:Contributions/Aekrinine|contribs]]) 02:23, 29 April 2024 (UTC) :Thank you, that's very kind! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:06, 29 April 2024 (UTC) == Talk page cluttered == Your talk page is cluttered. I recommend implementing archiving. [[Special:Contributions/98.115.164.53|98.115.164.53]] ([[User talk:98.115.164.53|discuss]]) 17:10, 5 May 2024 (UTC) :They are free to do what they want with their talk page (as long as it's under 2 MB). --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:25, 6 May 2024 (UTC) == Incompelete Recipe.. == You have misnested bold formatting. When using <nowiki>'''</nowiki> you can't have soft-line-feeds in between the <nowiki>'''</nowiki> markup. If you want a line-feed use <br>, and removes the soft-line-feeds. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 13:39, 15 May 2024 (UTC) :Hi @[[User:ShakespeareFan00|ShakespeareFan00]] and thanks for reaching out! I think there was a misunderstanding of what I wanted the template to look like—it looked correct based on the preview after making several adjustments to the template, but the quotation marks ended up in a sloppy location. At any rate, I think I understand what you were trying to do, and I've fixed the markup positioning. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:00, 15 May 2024 (UTC) :: The script I use to identify Lints also note that you have {{tag|strike}} tags in this talk page, These are nominally deprecated. Please consider using {{tl|strike/top}} and {{tl|strike/end}} in preference. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 07:35, 16 May 2024 (UTC) == Lints.. == You may be interested in helping look for unclosed italics elsewhere - I made a list of everything with missing tags in ns0: https://public-paws.wmcloud.org/4407/books.txt The more that can be cleaned up the better.. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 18:36, 16 May 2024 (UTC) == Sderot == Hi, I have noticed your edit in [[October 7th Massacre/Sderot]]. Could you please explain why you found in necessary to remove 2,462 bytes of content? I have noticed that you have not only changed the style and the grammar, but have also removed many details that would help the reader understand the events better. Thanks in advance, -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 08:46, 7 June 2024 (UTC) :Hi @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]—I am happy to explain my edits! They were based on the following: :* '''Style:''' Wikibooks uses a neutral educational style, and NPOV is important. The initial style of the chapter was less like a neutral informational text and more like storytelling, with embellishment and attention drawn to certain details in a more literary way that evokes specific images and emotions. I removed content that I felt detracted from the desired NPOV style or that I felt was otherwise distracting, etc. :* '''Caution:''' Because this book revolves around a very recent and polarizing event, the surrounding conflict of which is still ongoing and the details of which are still hotly discussed, I think it is especially important to aim for neutrality. :* '''Iteration:''' Because Wikibooks is a collaborative project, books develop from an iterative process to refine the content—it's not just a place to self-publish one's own book. You contributed the initial version, I iterated on it, and so on. :If you have specific questions about specific changes I made, I am happy to explain and discuss those as well. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:16, 7 June 2024 (UTC) ::Hi Kittycataclysm. Thank you very much for the the detailed response. Maybe I haven’t made that clear in the initial message, but I didn’t ask why was it necessary to iterate on the text. I asked why it was necessary to remove such an extensive amount of details. I don’t feel like I have written the original text with “embellishment and attention drawn to certain details in a more literary way that evokes specific images and emotions”. Of course describing a massacre does evoke emotions, however I don’t see this as a reason not to describe the events of October 7th as they happened. -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 13:36, 7 June 2024 (UTC) :::Gotcha. In terms of removing content, I removed details when I felt they met one or more of the following criteria: :::* Overly wordy/inefficient/clunky language (e.g. "They ran to the shelter, which was locked" --> "They ran to a locked shelter") :::* Indicative of subjective/non-neutral experience that is not necessary to understand the larger events that took place (e.g. "He understood on the first alarm that something isn’t right", "She was used to alarms", "it took her a while to understand what is going on", "“We behaved like in the story of Anne Frank”", "When she understood the electricity won’t come back", "The kids panicked and even told “We don't want to die, we are too little”", etc). :::* Excessive detail that is not necessary to understand the larger events that took place ("her husband, who works as a warden, had to go to work", "elderly people, including Holocaust survivors", etc). :::* Loaded language (e.g. "slaughtered" vs "killed", "terrorist" vs "attacker"/"assailant", etc) :::In some cases, I reworded things in a way that made them more concise, which decreased the overall content. Whenever I assess a sentence, paragraph, etc., I always evaluate its purpose and its effect, as well as whether it accomplishes the aims of the book and the Wikibooks project. :::Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:39, 7 June 2024 (UTC) ::::Thanks for the response! I have a few problems with it: ::::* About the locked shelter part, I think the best way to word it would be “they ran to the shelter only to find out that it was locked”. ::::* I don’t understand why the book can’t include the experiences of the witnesses. I would argue that the part saying “She was used to alarms” does indeed help understand the larger events (in that she was used to alarms since she heard many alarms before that). I didn’t really understand why a book on a massacre shouldn’t include these details. ::::* Again, please elaborate what you mean by “larger events” and by what extent an event has to be “large” in order to be noteworthy. ::::* Feels for me more like factual language than loaded. I’m not sure why calling terrorists “terrorists” is against NPOV. ::::* Thanks in advance,-[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 06:08, 8 June 2024 (UTC) :::::{{ping|Xania}}, what is your opinion on the topic? -08:20, 21 June 2024 (UTC) :::::Hi @[[User:D1n05aur5 4ever|D1n05aur5 4ever]]—my apologies for the delayed response! Here are my responses: :::::* '''Locked shelter:''' Here I would ask why you feel that is the best way to word it. I made the change I did in order to convey the key facts (locked shelter) in the most concise and neutral way possible. I'm curious why you don't think it is appropriate. :::::* '''Witness experiences:''' I do think witness experiences can have value here. However, I think they must be used judiciously in order to best serve the purpose and scope of the book—a near infinite number of facts, statements, details, reports, etc could be included from the events, but not all of them need to be included in this book. It is challenging to make a blanket statement about what and how many witness experiences are relevant here, and it must instead be evaluated continuously through revision. I also think it's important to make it obvious that you're citing someone else's perspective when including it (e.g. "they said", "they reported", "according to ***") rather than narrating from their perspective. :::::* '''Event and detail inclusion:''' Again, it's hard to make a blanket statement outright on what details out of the many merit inclusion, and whether something is relevant is typically determined by book scope, revision, and consensus. I would argue that for this book, it doesn't make sense to spend words describing things like what shirt someone happens to be wearing, details related to their everyday life, their detailed personal perceptual experiences, etc. :::::* '''Loaded language:''' It may be helpful to take a look at these [https://englishforjournalists.journalism.cuny.edu/2020/02/07/loaded-words/ resources] on [https://www.tckpublishing.com/loaded-language/ loaded language], as well as [[w:Loaded language]] for context and overall guidance. Regarding the term "terrorist" specifically, [[w:Terrorism#Definition]] may be helpful as well—note its status as a charged and disputed term with strong non-neutral connotations. The term "attacker" still correctly describes the events taking place without inadvertently inserting strong connotations and leaning into political territory. :::::Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:36, 21 June 2024 (UTC) ::::::Thanks for the reply! ::::::* My problem with “locked shelter” is that it kind of makes it sound as if they knew the shelter was locked when they ran towards it. ::::::* I think I made it clear that I’m citing other people’s perceptive, however if not, I’m willing to edit the text. ::::::* Details about personal lives of people were only included when they helped the reader understand the events. We can’t assume the reader to be familiar with the frequency of alarms in Sderot. That’s why I think it’s necessary to explain that while she was used to alarms, this event was unprecedented. Such details help the reader understand the event better. In my opinion such an unprecedented event such as the October 7th massacre deserves a detailed book describing the events that took place. ::::::* I’m not convinced that the word “terrorist” is a politically loaded word. I still think it’s simply a factual description of them, though the word “attacker” is still technically correct. ::::::Cheers! -[[User:D1n05aur5 4ever|D1n05aur5 4ever]] ([[User talk:D1n05aur5 4ever|discuss]] • [[Special:Contributions/D1n05aur5 4ever|contribs]]) 19:34, 21 June 2024 (UTC) == A little advice == Hello, I am currently on working on [[Cookbook: Honey Mug Cake]]. Any advice or anything to help? I can't help but feel something is missing from it. [[User:Soapyduck|Soapyduck]] ([[User talk:Soapyduck|discuss]] • [[Special:Contributions/Soapyduck|contribs]]) 09:35, 27 June 2024 (UTC) :Hello! I went through and made some edits, which you can see in the revision history. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:20, 28 June 2024 (UTC) == Accessibility == The structure you chose for [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II]] has the unfortunate side effect that people can't link to the first four subsections in ==Procedure==. [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake]] will take them to the first. Do you have any ideas about how to make these later sections accessible to everyone? [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 06:19, 9 July 2024 (UTC) :Hi @[[User:WhatamIdoing|WhatamIdoing]]—thanks for checking in! In order to link to a second identical heading, you just use an underscore plus an index. So, to link to the second cake heading, you would use this: [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake_2]]. Hope this helps! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:10, 9 July 2024 (UTC) ::That's nice for the few of us who know that trick, but it doesn't help the 99.9999% of readers who aren't experts in MediaWiki's quirks. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 23:35, 9 July 2024 (UTC) :::It's not ideal, but it's also the best we can do for now. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 23:52, 9 July 2024 (UTC) ::::The original structure for the page had no duplicate section headings. Perhaps we should go back to that. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 00:43, 10 July 2024 (UTC) :::::Hi @[[User:WhatamIdoing|WhatamIdoing]]. I definitely understand your concern. However, the changes I made were to bring the recipe into alignment with the recipe template and all other recipes in the Cookbook. It is also a very common current standard for recipe-writing in English. Moreover, I think this kind of linking is actually very simple and very easy to teach/communicate—much more so than some other common MediaWiki features—and it is not unreasonable to expect editors to learn editing tips and tricks like this over time from more experienced users. You asked, and now you know a simple new trick to help with editing :) As an aside, I'm also not sure how often linking to subheadings like this is even used in the Cookbook, so I don't think it's a very big issue at the moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:29, 10 July 2024 (UTC) ::::::Perhaps, if the standard recipe template creates accessibility problems for blind readers, we should have a better recipe template. ::::::BTW, I've been editing for about 18 years now, so unlike you, I was around when that "simple new trick" was introduced to MediaWiki. I know how it works. This is a problem for '''readers''', not for me personally. The problem isn't when an editor wants to put a link to the section (which happens on the talk page more often than in the cookbook). Imagine that a reader wants to ask a friend about this recipe. Think about a social media post that says "I'm confused by the directions in [[Cookbook:Schwarzwälder Kirschtorte (Black Forest Cake) II#Cake]] ". That won't end up where the reader expected it to go, right? And while people who (like me) have made more than 100K edits at Wikipedia will probably know what to do, a reader is not going to be able to fix it. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 21:27, 13 July 2024 (UTC) :::::::@[[User:WhatamIdoing|WhatamIdoing]] I definitely agree with you that web inaccessibility is a problem! I'm just having a hard time understanding this particular case. I find it hard to imagine someone who '''is''' savvy enough to know that you can link to specific subheadings by hashing, but '''isn't''' savvy enough to know about the indexing system to modify it. Have you seen this come up as a problem before? At any rate, I've modified the headings here so they are specific enough to not need the indexing. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:13, 14 July 2024 (UTC) ::::::::Yes, it happens sometimes. That's one of the reasons why enwiki requires unique section headings. [[User:WhatamIdoing|WhatamIdoing]] ([[User talk:WhatamIdoing|discuss]] • [[Special:Contributions/WhatamIdoing|contribs]]) 00:07, 15 July 2024 (UTC) == Wikiphilosophers == I saw your comment on [[Wikiphilosophers]]. Indeed, the whole idea of it is that people can put their own philosophical ideas on a subpage of their own. I discussed the proposal for the project on Meta-Wiki (see https://meta.wikimedia.org/wiki/Wikiphilosophers). There it was suggested that the project should first take shape on Wikibooks, if before becoming its own project. Personally, I think a own platform for Wikiphilosophers is also best, but I don't know how else to do it either? I look forward to hearing from you! Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 03:32, 21 July 2024 (UTC) :Hi @[[User:S. Perquin|S. Perquin]]! Thank you, and I read through the discussion you linked. Unfortunately, based on your envisioning of the project, I'm thinking that Wikibooks isn't the best place for it. You can take a look at [[WB:NOTMETA]], and generally [[Wikibooks:What is Wikibooks?]] for details. Specifically, Wikibooks is for creating instructional books based on preexisting documented knowledge, which Wikiphilosophers doesn't really match the way you've described it. I'm thinking that if any existing WMF project were to host this, it would be Wikiversity. I'd recommend checking out [[Wikiversity:What is Wikiversity?]] and [[Wikiversity:Wikiversity:Research|Wikiversity:Research]], as well as asking there if your project could have a home there. Hope this is helpful! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:12, 21 July 2024 (UTC) ::Thank you! I will post a message in the [[Wikiversity:Colloquium|Colloquium]]! Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 16:29, 21 July 2024 (UTC) :::I have permission to continue working on my project there. I have transferred all the information from Wikibooks to Wikiversity. All pages on Wikiphilosophers can therefore be deleted on Wikibooks! Could you take care of this? Kind regards, [[User:S. Perquin|S. Perquin]] ([[User talk:S. Perquin|discuss]] • [[Special:Contributions/S. Perquin|contribs]]) 18:42, 22 July 2024 (UTC) ::::Excellent—I'm glad to hear your project has found a home! I will delete any residual pages here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:25, 22 July 2024 (UTC) == [[JLPT Guide/JLPT N5 Grammar]] ([[special:diff/4424284]]) == The edit is partially correct and partially questionable. For example, せんせいい is an obvious typo (せんせい is accurate), and でんしゃ is the correct reading for 電車. However, converting 行(い)きます to いきます can be disputed (this can be considered as simplification, but others may prefer the usage of 行). I'm not sure if the IP editor is a native speaker (the ISP is in the UK), so I think we need to keep an eye on this page. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:09, 26 July 2024 (UTC) :I thought providing furigana for 'to go' might be an oversimplification but it's also there for other basic verbs like 'to eat'. Why is this person rejecting edits on a language they don't speak anyway? It would have taken 2 seconds to verify them with a dictionary. [[Special:Contributions/2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919|2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919]] ([[User talk:2A02:C7E:3011:FC00:E1D4:C6B3:2E:3919|discuss]]) 15:39, 26 July 2024 (UTC) ::Thank you both for the information! Because 1) there is often vandalism by IPs in non-English content and 2) Wikibooks lacks enough users to do detailed vetting, I tend to be very conservative regarding this kind of edit when not accompanied by an explanation in the edit summary. I am happy to restore the initial edit since an explanation has now been provided. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:08, 26 July 2024 (UTC) == Wrong deletion == hello!I noticed that you deleted the edits I made to Lesson 12 of the Chinese textbook. Please give it back to me, and undo your deletion so I can continue working. [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 05:04, 3 August 2024 (UTC) :Hi @[[User:见水思源|见水思源]]. I deleted that page because of the following reasons taken together: :# It seemed very much out of scope with the rest of the book. :# It was written largely in a non-English language, beyond what would be expected for a language-teaching book. :# It was created by an anonymous IP. :# There have been multiple bad page creations for that page. :Could you please explain how your page contributes meaningfully to the book in its current scope? Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:51, 3 August 2024 (UTC) ::Hi, here are my answers :) ::1. I don't think it's out of scope, just like Lesson 11 of the book, it's a quoted Chinese text, designed to let students learn how real Chinese people speak ::2. This lesson does use a lot of non-English language, but that's because I decided to take a break and wait until the next day to complete it (including the supplementary English part) ::3. Like you mentioned, this is indeed created by an anonymous IP. The interesting thing is that this IP is mine, I'm a newcomer, and this is my first time contributing to the wiki. After I sent my work, I realized that I needed to create an account to save my work ::4. There is indeed a lot of vandalism on this page, and I saw it. But this doesn't mean that what I wrote is also meaningless text ::Like I said, that IP is mine, and I decided to finish my work the next day. But when I opened the page, I found it was deleted. I was angry because I spent a lot of time to finish it. So I hope you can give it back to me and let me finish the unfinished part. ::I am new here, which means I don't have a lot of experience, and I look forward to your suggestions on my work, thank you! [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 06:56, 4 August 2024 (UTC) :::@[[User:见水思源|见水思源]] thank you for clarifying—I have restored the chapter. Please make sure to incorporate it into the rest of the book. For example, please change the chapter title to match the other chapters, include it in the table of contents, and use the same formatting and structure as the other lesson chapters. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:03, 4 August 2024 (UTC) ::::@[[User:Kittycataclysm|Kittycataclysm]]I'm glad to see them back, your advice is spot on. I noticed that the chapter headings don't seem to match the main table of contents, I'll make them fit by modifying the title text and body content appropriately。Thank you! [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 16:12, 4 August 2024 (UTC) ::For the whole book, I think I have filled a blank page, and I think after I fill it, this page must be more meaningful than a blank page. [[User:见水思源|见水思源]] ([[User talk:见水思源|discuss]] • [[Special:Contributions/见水思源|contribs]]) 10:49, 4 August 2024 (UTC) == Seeking to Improve My Project's Formatting == Hi there, I'm currently building [[Physics Explained Through a Video Game]] which you recently reviewed. As a question, is the inclusion of numerous video examples for the content I've written (such as for the existing materials in Unit 2 of my book) problematic? I feel that it provides a more intuitive explanation of many of the discussed concepts and may be more engaging for my target audience (high schoolers). However, I'm concerned that it's making the pages overly cluttered. Aside from this, are there any other ways that I can improve the existing content for the project? Thank you in advance. [[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]] ([[User talk:TheMonkeyEatsBananas|discuss]] • [[Special:Contributions/TheMonkeyEatsBananas|contribs]]) 05:38, 4 August 2024 (UTC) :Hi @[[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]]! From my cursory look at the book, the formatting seems generally quite reasonable. I don't have the capacity at the moment to take a detailed look at the specific construction to assess optimization. But, I don't think you have anything to be worried about. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:38, 5 August 2024 (UTC) == [[commons:HotCat]] == It's normally meant for Commons, but could help you with your categorisation work on this wiki. I don't think we have it as a gadget on this wiki, so just install it on your Commons.js - I could do it for you if you want. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:28, 3 September 2024 (UTC) :Thank you for letting me know about this! I always wondered if there was a way to install it on other wikis. Would you be able to help me with it this time? I've never installed any scripts here before. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:22, 3 September 2024 (UTC) ::Sorry, seeing this only now. I see that you have copied the code of HotCat, but I've replaced it with a direct link to HotCat on Commons. This ensures that you always have the latest version on the wiki. Can you check and let me know if you have any issues using that extension? [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 19:09, 14 September 2024 (UTC) :::Hi @[[User:Leaderboard|Leaderboard]]! Unfortunately, replacing it with the direct link has disabled the tool for me. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:04, 14 September 2024 (UTC) ::::Apologies, can you try now (clearing your cache if needed)? [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:26, 15 September 2024 (UTC) :::::Yup, it's working again—thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:46, 15 September 2024 (UTC) :Sorry for butting in here, but I use hotcat a lot on many different projects so was surprised to find out that it is "meant for Commons". Actually IIRC I was/am having trouble using it on commons? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:11, 10 November 2024 (UTC) == Why did you remove the roadmap in Unicode/Versions? == OK, So why did you remove the roadmap in Unicode/Versions? I should re-add that and people will see the roadmap in this page and on the Unicode site. [[User:MatthewtheUnicoder|MatthewtheUnicoder]] ([[User talk:MatthewtheUnicoder|discuss]] • [[Special:Contributions/MatthewtheUnicoder|contribs]]) 18:41, 14 September 2024 (UTC) == Biology of the siphonophore == The page [[biology of the siphonophore]] was not an accident or test it was to make a page about siphonophores. Please understand to get rid of Query. [[User:Atlas Þə Biologist|Atlas Þə Biologist]] ([[User talk:Atlas Þə Biologist|discuss]] • [[Special:Contributions/Atlas Þə Biologist|contribs]]) 23:30, 19 September 2024 (UTC) == Chicken à la King recipe change == Hi, regarding {{diff|4440187}}, I could understand rejecting such a drastic change if someone else had originally posted the recipe, but it's my own recipe (based on my own cooking experience) and no one but you and I have ever even edited the page, so I thought (and still think) it's OK to change it so much. [[User:Mahagaja|Mahagaja]] ([[User talk:Mahagaja|discuss]] • [[Special:Contributions/Mahagaja|contribs]]) 07:44, 7 October 2024 (UTC) :That's a good point! I think if it's your recipe, it makes sense to make this change. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:18, 7 October 2024 (UTC) == AI == Hi {{PAGENAME}}, Not sure if you remember me. I was fairly active at enwb for a few months until the beginning of this year IIRC. Any way I came across a page on Meta [https://meta.wikimedia.org/wiki/Future_Audiences/Experiments:_conversational/generative_AI Future Audiences/Experiments: conversational/generative AI] which you may or may not be familiar with. I vaguely remembered discussions in the ''reading room'' about the use of AI on this project, so thought you may be interested. Hope I am not wasting your time. Cheers, [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 14:03, 10 November 2024 (UTC) :@[[User:Ottawahitech|Ottawahitech]] thank you for letting me know! I will take a look. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:36, 10 November 2024 (UTC) nmxo0kym8zovy5mwqyveq0jgfhblnq6 Chess Opening Theory/1. e4/1...e5/2. Bc4/2...f5 0 443284 4444365 4366813 2024-11-11T03:39:04Z 96.241.47.111 /* Bishop's Opening - Calabrese Countergambit */ 4444365 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Bishop's Opening: Calabrese counter-gambit| |rd|nd|bd|qd|kd|bd|nd|rd|= |pd|pd|pd|pd| | |pd|pd|= | | | | | | | | |= | | | | |pd|pd| | |= | | |bl| |pl| | | |= | | | | | | | | |= |pl|pl|pl|pl| |pl|pl|pl|= |rl|nl|bl|ql|kl| |nl|rl|= || }} == Bishop's Opening - Calabrese Countergambit == === 2... f5?! === Black uses a risky attacking system to end up with a firm center, while white pieces struggle to develop great squares. White must play very precisely, or they can easily find themselves in a lot of trouble. White's main options: :* [[Chess Opening Theory/1. e4/1...e5/2. Bc4/2...Nf6/3. d3|3. d3]] Jaenisch variation. :* [[Chess Opening Theory/1. e4/1...e5/2. Bc4/2...Nf6/3. d4|3. d4]] :* 3. Nc3 :* 3. Nf3 ==Theory table== {{Chess Opening Theory/Table}}. '''1. e4 e5 2. Bc4 f5?!''' <table class="wikitable" cellspacing="0" cellpadding="4"> <tr> <th></th> <th style="text-align: left">3</th> <th style="text-align: left">4</th> <th style="text-align: left">5</th> <th style="text-align: left">6</th> <th style="text-align: left">7</th> <th style="text-align: left">8</th> <th style="text-align: left">9</th> <th style="text-align: left">10</th> <th></th> </tr> <tr> <th rowspan="2">Jaenisch variation</th> <td>d3<br>Nf6</td> <td>Nf3<br>fxe4</td> <td>dxe4<br>Bb4+</td> <td>c3<br>Bc5</td> <td>b4<br>Bb6</td> <td>O-O</td> <td></td><td></td><td>±</td> </tr> <tr> <td>...<br>...</td> <td>...<br>Nc6</td> <td>Ng5!?<br>d5!</td> <td>exd5<br>Na5</td> <td>Bb5+<br>c6</td> <td>dxc6<br>bxc6</td> <td>Ba4<br>Bd6</td> <td>O-O</td> <td>⩲</td> </tr> <tr> <th>Latvian Gambit</th> <td>[[Chess Opening Theory/1. e4/1...e5/2. Nf3/2...f5|Nf3]]</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Bishop's Opening}} * [[wikipedia:Vasily_Panov|Panov, Vasily.]] (1973). ''Teoría de Aperturas, Tomo I: Aperturas Abiertas - Aperturas Semiabiertas''. {{ISBN|84-270-0132-0}}. == External links == {{wikibooks|Chess Opening Theory|Chess Opening Theory/1. e4/1...e5/2. Bc4}} bouqdbzpwkuorxcezzrgbp6shz1520m Magar/Conversation/Conversation1 0 449265 4444360 4440676 2024-11-11T02:05:23Z 2400:1A00:BA10:701C:31BB:1B6A:AF3A:4E48 Ma Ghar janxu 4444360 wikitext text/x-wiki Ma Ghar janxu [Greeting] /Namaste Magar: Jhorle [formal]/Mejhor [Informal]!! English: Where are you ? Magar: Nāko kulāk āle? English: Where had you gone and came? Magar: kulāk nungä ra rāhācha nāko? English: I had gone town and came. Magar: Ngā bazar nungä ra rāhācha. English: How are you? Magar: Nāko kuncha le? English: Who is that man? Magar: Hosé bharmi su āle? English: Whose book is that? Magar: Isé kitab kuchau āle? English: What is your name? Magar: Nākung ārmin he āle? English: My name is...!! Magar: Ngau ārmin...... āle. {{BookCat}} j7xsb8310vnv17z40gkvcuvl8kpbl5f 4444362 4444360 2024-11-11T02:18:00Z Kittycataclysm 3371989 Rejected the last text change (by [[Special:Contributions/2400:1A00:BA10:701C:31BB:1B6A:AF3A:4E48|2400:1A00:BA10:701C:31BB:1B6A:AF3A:4E48]]) and restored revision 4440676 by MarcGarver 4444362 wikitext text/x-wiki English: Hello!! [Greeting] /Namaste Magar: Jhorle [formal]/Mejhor [Informal]!! English: Where are you ? Magar: Nāko kulāk āle? English: Where had you gone and came? Magar: kulāk nungä ra rāhācha nāko? English: I had gone town and came. Magar: Ngā bazar nungä ra rāhācha. English: How are you? Magar: Nāko kuncha le? English: Who is that man? Magar: Hosé bharmi su āle? English: Whose book is that? Magar: Isé kitab kuchau āle? English: What is your name? Magar: Nākung ārmin he āle? English: My name is...!! Magar: Ngau ārmin...... āle. {{BookCat}} 7y7bkvkbsx7tjukuq6gk5gtkbcx3d0b User talk:Xeverything11/updates 3 452115 4444361 4443726 2024-11-11T02:09:36Z MediaWiki message delivery 1188004 /* Wikipedia translation of the week: 2024-46 */ new section 4444361 wikitext text/x-wiki <noinclude> {{User:Xeverything11/tabs}} {{User:Xeverything11/header|Welcome to|Xeverything11's|updates talk page!|archives= * [[User talk:Xeverything11/archives/2022|2022]] * [[User talk:Xeverything11/archives/2023|2023]] }} </noinclude> __NOTOC__ {{User:MiszaBot/config |archive = User talk:Xeverything11/archives/%(year)d |algo = old(60d) |counter = 1 |minthreadsleft = 1 |minthreadstoarchive = 1 }} == Tech News: 2023-03 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/03|Translations]] are available. '''Problems''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] The URLs in "{{int:last}}" links on page history now contain <bdi lang="zxx" dir="ltr"><code><nowiki>diff=prev&oldid=[revision ID]</nowiki></code></bdi> in place of <bdi lang="zxx" dir="ltr"><code><nowiki>diff=[revision ID]&oldid=[revision ID]</nowiki></code></bdi>. This is to fix a problem with links pointing to incorrect diffs when history was filtered by a tag. Some user scripts may break as a result of this change. [https://phabricator.wikimedia.org/T243569] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-17|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-01-18|en}}. It will be on all wikis from {{#time:j xg|2023-01-19|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Some [[mw:Special:MyLanguage/Talk pages project/Usability|changes to the appearance of talk pages]] have only been available on <code>{{ns:1}}:</code> and <code>{{ns:3}}:</code> namespaces. These will be extended to other talk namespaces, such as <code>{{ns:5}}:</code>. They will continue to be unavailable in non-talk namespaces, including <code>{{ns:4}}:</code> pages (e.g., at the Village Pump). You can [[Special:Preferences#mw-prefsection-editing-discussion|change your preferences]] ([[Special:Preferences#mw-prefsection-betafeatures|beta feature]]). [https://phabricator.wikimedia.org/T325417] *On Wikisources, when an image is zoomed or panned in the Page: namespace, the same zoom and pan settings will be remembered for all Page: namespace pages that are linked to a particular Index: namespace page. [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ProofreadPage/+/868841] * The Vector 2022 skin will become the default for the English Wikipedia desktop users. The change will take place on January 18 at 15:00 UTC. [[:en:w:Wikipedia:Vector 2022|Learn more]]. '''Future changes''' * The 2023 edition of the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey]], which invites contributors to make technical proposals and vote for tools and improvements, starts next week on 23 January 2023 at 18:00 UTC. You can start drafting your proposals in [[m:Community Wishlist Survey/Sandbox|the CWS sandbox]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:11, 17 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24381020 --> == Tech News: 2023-04 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/04|Translations]] are available. '''Problems''' * Last week, for ~15 minutes, all wikis were unreachable for logged-in users and non-cached pages. This was caused by a timing issue. [https://wikitech.wikimedia.org/wiki/Incidents/2023-01-17_MediaWiki] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-24|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-01-25|en}}. It will be on all wikis from {{#time:j xg|2023-01-26|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * If you have the Beta Feature for [[mw:Special:MyLanguage/Talk pages project|DiscussionTools]] enabled, the appearance of talk pages will add more information about discussion activity. [https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/Usability#Status][https://phabricator.wikimedia.org/T317907] * The 2023 edition of the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey]] (CWS), which invites contributors to make technical proposals and vote for tools and improvements, starts on Monday 23 January 2023 at [https://zonestamp.toolforge.org/1674496814 18:00 UTC]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:46, 23 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24418874 --> == Tech News: 2023-05 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/05|Translations]] are available. '''Problems''' * Last week, for ~15 minutes, some users were unable to log in or edit pages. This was caused by a problem with session storage. [https://wikitech.wikimedia.org/wiki/Incidents/2023-01-24_sessionstore_quorum_issues] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.21|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-31|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-01|en}}. It will be on all wikis from {{#time:j xg|2023-02-02|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] Wikis that use localized numbering schemes for references need to add new CSS. This will help to show citation numbers the same way in all reading and editing modes. If your wiki would prefer to do it yourselves, please see the [[mw:Special:MyLanguage/Parsoid/Parser Unification/Cite CSS|details and example CSS to copy from]], and also add your wiki to the list. Otherwise, the developers will directly help out starting the week of February 5. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 31 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24455949 --> == Wikipedia translation of the week: 2023-06 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sweden Finns' Day]] '''<br /> <small>''([[:fi:Ruotsinsuomalaisten päivä]]) ([[:sv:Sverigefinnarnas dag]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sverigefinskaflaggan.svg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Sweden Finns' Day''' (Finnish: Ruotsinsuomalaisten päivä, Swedish: Sverigefinnarnas dag) is an anniversary celebrated in Sweden on 24 February. The anniversary of the calendar was approved by the Swedish Academy in 2010 and was celebrated for the first time in 2011. February 24 was chosen as the birthday of Carl Axel Gottlund, a collector of folk poetry and a defender of the status of the Finnish language. The purpose of the day is to celebrate the Sweden Finns and to recognize their history, language and culture as a prominent part of Sweden's cultural heritage. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:04, 6 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24491747 --> == Tech News: 2023-06 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/06|Translations]] are available. '''Recent changes''' * In the [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector 2022 skin]], logged-out users using the full-width toggle will be able to see the setting of their choice even after refreshing pages or opening new ones. This only applies to wikis where Vector 2022 is the default. [https://phabricator.wikimedia.org/T321498] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-08|en}}. It will be on all wikis from {{#time:j xg|2023-02-09|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Previously, we announced when some wikis would be in read-only for a few minutes because of a switch of their main database. These switches will not be announced any more, as the read-only time has become non-significant. Switches will continue to happen at 7AM UTC on Tuesdays and Thursdays. [https://phabricator.wikimedia.org/T292543#8568433] * Across all the wikis, in the Vector 2022 skin, logged-in users will see the page-related links such as "What links here" in a [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/Page_tools|new side menu]]. It will be displayed on the other side of the screen. This change had previously been made on Czech, English, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T328692] *[[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey 2023]] will stop receiving new proposals on [https://zonestamp.toolforge.org/1675706431 Monday, 6 February 2023, at 18:00 UTC]. Proposers should complete any edits by then, to give time for [[m:Special:MyLanguage/Community_Wishlist_Survey/Help_us|translations]] and review. Voting will begin on Friday, 10 February. '''Future changes''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] Gadgets and user scripts will be changing to load on desktop and mobile sites. Previously they would only load on the desktop site. It is recommended that wiki administrators audit the [[MediaWiki:Gadgets-definition|gadget definitions]] prior to this change, and add <bdi lang="zxx" dir="ltr"><code>skins=…</code></bdi> for any gadgets which should not load on mobile. [https://phabricator.wikimedia.org/T328610 More details are available]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 10:21, 6 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24491749 --> == Wikipedia translation of the week: 2023-07 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Delivery robot]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Woman Takes Groceries from Dax Delivery Robot.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> A '''delivery robot''' is an autonomous robot that provides "last mile" delivery services. An operator may monitor and take control of the robot remotely in certain situations that the robot cannot resolve by itself such as when it is stuck in an obstacle. Delivery robots can be used in different settings such as food delivery, package delivery, hospital delivery, and room service. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:26, 13 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24515453 --> == Tech News: 2023-07 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/07|Translations]] are available. '''Problems''' * On wikis where patrolled edits are enabled, changes made to the [[mw:Special:MyLanguage/Growth/Communities/How to configure the mentors' list|mentor list]] by autopatrolled mentors are not correctly marked as patrolled. It will be fixed later this week. [https://phabricator.wikimedia.org/T328444] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-15|en}}. It will be on all wikis from {{#time:j xg|2023-02-16|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * The Reply tool and other parts of [[mw:Special:MyLanguage/Help:DiscussionTools#Mobile|DiscussionTools]] will be deployed for all editors using the mobile site. You can [[mw:Special:MyLanguage/Talk_pages_project/Mobile#Status_Updates|read more about this decision]]. [https://phabricator.wikimedia.org/T298060] '''Future changes''' * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T328287][https://phabricator.wikimedia.org/T327920][https://wikitech.wikimedia.org/wiki/Deployments] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:49, 14 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24540832 --> == Wikipedia translation of the week: 2023-08 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Buddha Dhatu Jadi]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Swarno Mandir.JPG|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Buddha Dhatu Jadi''' (Bengali: বুদ্ধ ধাতু জাদি; Burmese: ဗုဒ္ဓဓာတုစေတီ also known as the Bandarban Golden Temple) is located close to Balaghata town, in Bandarban City, in Bangladesh. Dhatu are the material remains of a holy person, and in this temple the relics belong to Buddha. It is the largest Theravada Buddhist temple in Bangladesh and has the second-largest Buddha statue in the country. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:18, 20 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24581813 --> == Tech News: 2023-08 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/08|Translations]] are available. '''Problems''' * Last week, during planned maintenance of Cloud Services, unforeseen complications forced the team to turn off all tools for 2–3 hours to prevent data corruption. Work is ongoing to prevent similar problems in the future. [https://phabricator.wikimedia.org/T329535] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-22|en}}. It will be on all wikis from {{#time:j xg|2023-02-23|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). *The voting phase for the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey 2023]] ends on [https://zonestamp.toolforge.org/1677261621 24 February at 18:00 UTC]. The results of the survey will be announced on 28 February. '''Future changes''' * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T328287][https://phabricator.wikimedia.org/T327920][https://wikitech.wikimedia.org/wiki/Deployments] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:58, 21 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24570514 --> == Wikipedia translation of the week: 2023-09 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Alina Scholtz]] '''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Alina Scholtz''' (24 September 1908 – 25 February 1996) was a Polish landscape architect, known as one of country's pioneers in developing the field. Throughout her career she worked on various public and private projects for cemeteries, parks and green spaces. Some of her most noted works include the grounds of a villa on Kielecka Street in Warsaw for which she won a Silver Medal at the 1937 World Exhibition in Paris, the memorial cemetery to the victims of the Palmiry massacre, and landscaping projects along the East-West traffic route of Warsaw. In addition to her design work, she served as one of the founding members of the International Federation of Landscape Architects. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:04, 27 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24617511 --> == Tech News: 2023-09 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/09|Translations]] are available. '''Problems''' * Last week, in some areas of the world, there were problems with loading pages for 20 minutes and saving edits for 55 minutes. These issues were caused by a problem with our caching servers due to unforseen events during a routine maintenance task. [https://wikitech.wikimedia.org/wiki/Incidents/2023-02-22_wiki_outage][https://wikitech.wikimedia.org/wiki/Incidents/2023-02-22_read_only] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-01|en}}. It will be on all wikis from {{#time:j xg|2023-03-02|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:47, 27 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24634242 --> == Wikipedia translation of the week: 2023-10 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Mary Nzimiro]] '''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Mary Nzimiro''', birthname Mary Nwametu Onumonu, MBE (1898–1993) was a pioneering Nigerian businesswoman, politician and women's activist. In 1948, she was appointed principal representative of the United Africa Company (UAC) for Eastern Nigeria, while maintaining textile and cosmetics retail outlets of her own in Port Harcourt, Aba and Owerri. By the early 1950s, she was among the richest individuals in West Africa, becoming a resident of the exclusive Bernard Carr Street in Port Harcourt. On the political front, she was a member of the influential National Council of Nigeria and the Cameroons, becoming a member of its executive committee in 1957 and vice-president of the NCNC Estern Women's Association in 1962. During the Nigerian Civil War (1967–1970), she organized Igbo women in support of the Biafrans. As a result she lost most of her property in Port Harcourt and returned to her native Oguta where she died in 1993. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:47, 6 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24636259 --> == Tech News: 2023-10 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/10|Translations]] are available. '''Recent changes''' * The Community Wishlist Survey 2023 edition has been concluded. Community Tech has [[m:Special:MyLanguage/Community Wishlist Survey 2023/Results|published the results]] of the survey and will provide an update on what is next in April 2023. * On wikis which use [[mw:Special:MyLanguage/Writing_systems|LanguageConverter]] to handle multiple writing systems, articles which used custom conversion rules in the wikitext (primarily on Chinese Wikipedia) would have these rules applied inconsistently in the table of contents, especially in the Vector 2022 skin. This has now been fixed. [https://phabricator.wikimedia.org/T306862] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-08|en}}. It will be on all wikis from {{#time:j xg|2023-03-09|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * A search system has been added to the [[Special:Preferences|Preferences screen]]. This will let you find different options more easily. Making it work on mobile devices will happen soon. [https://phabricator.wikimedia.org/T313804] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:50, 6 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24676916 --> == Wikipedia translation of the week: 2023-11 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Elizabeth Langdon Williams]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Elizabeth Langdon Williams.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Elizabeth Langdon Williams''' (February 8, 1879 in Putnam, Connecticut – 1981 in Enfield, New Hampshire) was an American human computer and astronomer whose work helped lead to the discovery of Pluto, or Planet X. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:21, 13 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24700408 --> == Tech News: 2023-11 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/11|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.27|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-15|en}}. It will be on all wikis from {{#time:j xg|2023-03-16|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-cbk_zamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cdowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cebwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ckbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-csbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T304542][https://phabricator.wikimedia.org/T304550] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:20, 13 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24700189 --> == Wikipedia translation of the week: 2023-12 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:I Didn't Raise My Boy to Be a Soldier]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Peerless Quartet - I Didn't Raise my Boy to be a Soldier.ogg|300px|center]] <div style="text-align:left; padding: .4em;"> an American anti-war song that was influential within the pacifist movement that existed in the United States before it entered World War I. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:31, 20 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24720571 --> == Tech News: 2023-12 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/12|Translations]] are available. '''Problems''' * Last week, some users experienced issues loading image thumbnails. This was due to incorrectly cached images. [https://phabricator.wikimedia.org/T331820] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-22|en}}. It will be on all wikis from {{#time:j xg|2023-03-23|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] A link to the user's [[{{#special:CentralAuth}}]] page will appear on [[{{#special:Contributions}}]] — some user scripts which previously added this link may cause conflicts. This feature request was [[:m:Community Wishlist Survey 2023/Admins and patrollers/Add link to CentralAuth on Special:Contributions|voted #17 in the 2023 Community Wishlist Survey]]. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The [[{{#special:AbuseFilter}}]] edit window will be resizable and larger by default. This feature request was [[:m:Community Wishlist Survey 2023/Anti-harassment/Make the AbuseFilter edit window resizable and larger by default|voted #80 in the 2023 Community Wishlist Survey]]. * There will be a new option for Administrators when they are unblocking a user, to add the unblocked user’s user page to their watchlist. This will work both via [[{{#special:Unblock}}]] and via the API. [https://phabricator.wikimedia.org/T257662] '''Meetings''' * You can join the next meeting with the Wikipedia mobile apps teams. During the meeting, we will discuss the current features and future roadmap. The meeting will be on [https://zonestamp.toolforge.org/1679677204 24 March at 17:00 (UTC)]. See [[mw:Special:MyLanguage/Wikimedia Apps/Office Hours|details and how to join]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:26, 21 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24732558 --> == Wikipedia translation of the week: 2023-13 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:es:Diana Aguavil]]'''<br /> <small>''([[:en:Diana Aguavil]]) ([[:pt:Diana Aguavil]]) ''</small> </div> Please be bold and help translate this article! ---- [[File:Diana Aguavil.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Diana Alexandra Aguavil Calazacón''' (born 7 August 1983) is an Ecuadorian indigenous leader, since 25 August 2018, the first female governor of the Tsáchila nationality after 104 years of male administrations and winning the 2018 Tsáchila election. She was also the second woman to become a candidate. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:39, 27 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24758626 --> == Tech News: 2023-13 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/13|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] condition limit was increased from 1000 to 2000. [https://phabricator.wikimedia.org/T309609] * [[:m:Special:MyLanguage/Global AbuseFilter#Locally disabled actions|Some Global AbuseFilter]] actions will no longer apply to local projects. [https://phabricator.wikimedia.org/T332521] * Desktop users are now able to subscribe to talk pages by clicking on the {{int:discussiontools-newtopicssubscription-button-subscribe-label}} link in the {{int:toolbox}} menu. If you subscribe to a talk page, you receive [[mw:Special:MyLanguage/Notifications|notifications]] when new topics are started on that talk page. This is separate from putting the page on your watchlist or subscribing to a single discussion. [https://phabricator.wikimedia.org/T263821] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-29|en}}. It will be on all wikis from {{#time:j xg|2023-03-30|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). '''Future changes''' * You will be able to choose [[mw:Special:MyLanguage/VisualEditor/Diffs|visual diffs]] on all [[m:Special:MyLanguage/Help:Page history|history pages]] at the Wiktionaries and Wikipedias. [https://phabricator.wikimedia.org/T314588] * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] The legacy [[mw:Mobile Content Service|Mobile Content Service]] is going away in July 2023. Developers are encouraged to switch to Parsoid or another API before then to ensure service continuity. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/4MVQQTONJT7FJAXNVOFV3WWVVMCHRINE/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:14, 28 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24780854 --> == Tech News: 2023-14 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/14|Translations]] are available. '''Recent changes''' * The system for automatically creating categories for the [[mw:Special:MyLanguage/Extension:Babel|Babel]] extension has had several important changes and fixes. One of them allows you to insert templates for automatic category descriptions on creation, allowing you to categorize the new categories. [https://phabricator.wikimedia.org/T211665][https://phabricator.wikimedia.org/T64714][https://phabricator.wikimedia.org/T170654][https://phabricator.wikimedia.org/T184941][https://phabricator.wikimedia.org/T33074] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-05|en}}. It will be on all wikis from {{#time:j xg|2023-04-06|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Some older [[w:en:Web browser|Web browsers]] will stop being able to use [[w:en:JavaScript|JavaScript]] on Wikimedia wikis from this week. This mainly affects users of Internet Explorer 11. If you have an old web browser on your computer you can try to upgrade to a newer version. [https://phabricator.wikimedia.org/T178356] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The deprecated <bdi lang="zxx" dir="ltr"><code>jquery.hoverIntent</code></bdi> module has been removed. This module could be used by gadgets and user scripts, to create an artificial delay in how JavaScript responds to a hover event. Gadgets and user scripts should now use jQuery <bdi lang="zxx" dir="ltr"><code>hover()</code></bdi> or <bdi lang="zxx" dir="ltr"><code>on()</code></bdi> instead. Examples can be found in the [[mw:Special:MyLanguage/ResourceLoader/Migration_guide_(users)#jquery.hoverIntent|migration guide]]. [https://phabricator.wikimedia.org/T311194] * Some of the links in [[{{#special:SpecialPages}}]] will be re-arranged. There will be a clearer separation between links that relate to all users, and links related to your own user account. [https://phabricator.wikimedia.org/T333242] * You will be able to hide the [[mw:Special:MyLanguage/Talk pages project/Replying|Reply button]] in archived discussion pages with a new <bdi lang="zxx" dir="ltr"><code><nowiki>__ARCHIVEDTALK__</nowiki></code></bdi> magic word. There will also be a new <bdi lang="zxx" dir="ltr"><code>.mw-archivedtalk</code></bdi> CSS class for hiding the Reply button in individual sections on a page. [https://phabricator.wikimedia.org/T249293][https://phabricator.wikimedia.org/T295553][https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DiscussionTools/+/738221] '''Future changes''' * The Vega software that creates data visualizations in pages, such as graphs, will be upgraded to the newest version in the future. Graphs that still use the very old version 1.5 syntax may stop working properly. Most existing uses have been found and updated, but you can help to check, and to update any local documentation. [[phab:T260542|Examples of how to find and fix these graphs are available]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:40, 3 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24820268 --> == Tech News: 2023-15 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/15|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] In the visual editor, it is now possible to edit captions of images in galleries without opening the gallery dialog. This feature request was [[:m:Community Wishlist Survey 2023/Editing/Editable gallery captions in Visual Editor|voted #61 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T190224] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] You can now receive notifications when another user edits your user page. See the "{{int:Echo-category-title-edit-user-page}}" option in [[Special:Preferences#mw-prefsection-echo|your Preferences]]. This feature request was [[:m:Community Wishlist Survey 2023/Anti-harassment/Notifications for user page edits|voted #3 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T3876] '''Problems''' * There was a problem with all types of CentralNotice banners still being shown to logged-in users even if they had [[Special:Preferences#mw-prefsection-centralnotice-banners|turned off]] specific banner types. This has now been fixed. [https://phabricator.wikimedia.org/T331671] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-12|en}}. It will be on all wikis from {{#time:j xg|2023-04-13|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-arywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dinwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dsbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-elwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-emlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-etwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-euwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-extwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tumwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ffwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiu_vrowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fjwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frpwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-furwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gcrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-glwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-glkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gomwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gotwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-guwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gvwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T304551][https://phabricator.wikimedia.org/T308133] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:05, 10 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24851886 --> == Wikipedia translation of the week: 2023-16 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Lucy Salani]]'''<br /> <small>''([[:en:Lucy Salani]]) ([[:fr:Lucy Salani]]) ''</small> </div> Please be bold and help translate this article! ---- [[File:Lucy Salani.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lucy Salani''' was an Italian activist and is considered the only Italian transgender person to have survived the Nazi concentration camps. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:06, 17 April 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-16 == <section begin="technews-2023-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/16|Translations]] are available. '''Recent changes''' * You can now see [[mw:Special:MyLanguage/Help:Extension:Kartographer#Show_nearby_articles|nearby articles on a Kartographer map]] with the button for the new feature "{{int:Kartographer-sidebar-nearbybutton}}". Six wikis have been testing this feature since October. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Geoinformation/Nearby_articles#Implementation][https://phabricator.wikimedia.org/T334079] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The [[m:Special:GlobalWatchlist|Special:GlobalWatchlist]] page now has links for "{{int:globalwatchlist-markpageseen}}" for each entry. This feature request was [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Button to mark a single change as read in the global watch list|voted #161 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334246] '''Problems''' * At Wikimedia Commons, some thumbnails have not been getting replaced correctly after a new version of the image is uploaded. This should be fixed later this week. [https://phabricator.wikimedia.org/T331138][https://phabricator.wikimedia.org/T333042] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] For the last few weeks, some external tools had inconsistent problems with logging-in with OAuth. This has now been fixed. [https://phabricator.wikimedia.org/T332650] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-19|en}}. It will be on all wikis from {{#time:j xg|2023-04-20|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:55, 18 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24881071 --> == Wikipedia translation of the week: 2023-17 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ca:María Fernanda Castro Maya]]'''<br /> <small>''([[:pt:María Fernanda Castro Maya]]) ([[:eu:María Fernanda Castro Maya]]) ''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''María Fernanda Castro Maya''' is a Mexican self-advocate disability rights activist. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:55, 24 April 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-17 == <section begin="technews-2023-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/17|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The date-selection menu on pages such as [[{{#special:Contributions}}]] will now show year-ranges that are in the current and past decade, instead of the current and future decade. This feature request was [[m:Community Wishlist Survey 2023/Miscellaneous/Change year range shown in date selection popup|voted #145 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334316] '''Problems''' * Due to security issues with the [[mw:Special:MyLanguage/Extension:Graph|Graph extension]], graphs have been disabled in all Wikimedia projects. Wikimedia Foundation teams are working to respond to these vulnerabilities. [https://phabricator.wikimedia.org/T334940] * For a few days, it was not possible to save some kinds of edits on the mobile version of a wiki. This has been fixed. [https://phabricator.wikimedia.org/T334797][https://phabricator.wikimedia.org/T334799][https://phabricator.wikimedia.org/T334794] '''Changes later this week''' * All wikis will be read-only for a few minutes on April 26. This is planned for [https://zonestamp.toolforge.org/1682517653 14:00 UTC]. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.6|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-26|en}}. It will be on all wikis from {{#time:j xg|2023-04-27|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * The Editing team plans an A/B test for [[mw:Special:MyLanguage/Talk pages project/Usability|a usability analysis of the Talk page project]]. The [[mw:Special:MyLanguage/Talk pages project/Usability/Analysis|planned measurements are available]]. Your wiki [[phab:T332946|may be invited to participate]]. Please suggest improvements to the measurement plan at [[mw:Talk:Talk pages project/Usability|the discussion page]]. * [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2023-2024|The Wikimedia Foundation annual plan 2023-2024 draft is open for comment and input]] until May 19. The final plan will be published in July 2023 on Meta-wiki. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:04, 24 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24933592 --> == Wikipedia translation of the week: 2023-18 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sonia Orbuch]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Sonia Shainwald Orbuch''' (born Sarah Shainwald, May 24, 1925 – September 30, 2018) was an American Holocaust educator. During the Second World War she was a Jewish resistance fighter in eastern Poland. Orbuch hid in the forests of Poland with her family during the Second World War. She joined a group of Soviet partisans, being renamed Sonia in case she was captured, and helped fight against the Germans. After the war, she returned home, where she met her future husband. After having a daughter in a refugee camp in Germany, the family eventually emigrated to the United States. She spent the rest of life in public engagement, speaking about her experiences and in 2009, published her autobiography, Here, There Are No Sarahs: A Woman's Courageous Fight Against the Nazis and Her Bittersweet Fulfillment of the American Dream. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 06:24, 1 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-18 == <section begin="technews-2023-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/18|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The content attribution tools [[mw:Special:MyLanguage/Who Wrote That?|Who Wrote That?]], [[xtools:authorship|XTools Authorship]], and [[xtools:blame|XTools Blame]] now support the French and Italian Wikipedias. More languages will be added in the near future. This is part of the [[m:Community Wishlist Survey 2023/Reading/Extend "Who Wrote That?" tool to more wikis|#7 wish in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T243711][https://phabricator.wikimedia.org/T270490][https://phabricator.wikimedia.org/T334891] * The [[:commons:Special:MyLanguage/Commons:Video2commons|Video2commons]] tool has been updated. This fixed several bugs related to YouTube uploads. [https://github.com/toolforge/video2commons/pull/162/commits] * The [[{{#special:Preferences}}]] page has been redesigned on mobile web. The new design makes it easier to browse the different categories and settings at low screen widths. You can also now access the page via a link in the Settings menu in the mobile web sidebar. [https://www.mediawiki.org/wiki/Moderator_Tools/Content_moderation_on_mobile_web/Preferences] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-02|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-03|en}}. It will be on all wikis from {{#time:j xg|2023-05-04|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:45, 2 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24966974 --> == Wikipedia translation of the week: 2023-19 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Nadia Ghulam]]'''<br /><small>''([[:fr:Nadia Ghulam]]) ([[:es:Nadia Ghulam]]) ([[:ca:Nadia Ghulam]])''</small> </div> Please be bold and help translate this article! ---- [[File:Nadia Ghulam (cropped).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Nadia Ghulam Dastgir''' is an Afghan woman who spent ten years posing as her dead brother to evade the Taliban's strictures against women. Her book about her experiences, written with Agnès Rotger and published in 2010, El secret del meu turbant (The Secret of My Turban), won the Prudenci Bertrana Prize for fiction. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:37, 8 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24966177 --> == Tech News: 2023-19 == <section begin="technews-2023-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/19|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] Last week, Community Tech released the first update for providing [[m:Special:MyLanguage/Community Wishlist Survey 2022/Better diff handling of paragraph splits|better diffs]], the #1 request in the 2022 Community Wishlist Survey. [[phab:T324759|This update]] adds legends and tooltips to inline diffs so that users unfamiliar with the blue and yellow highlights can better understand the type of edits made. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] When you close an image that is displayed via MediaViewer, it will now return to the wiki page instead of going back in your browser history. This feature request was [[m:Community Wishlist Survey 2023/Reading/Return to the article when closing the MediaViewer|voted #65 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T236591] * The [[mw:Special:MyLanguage/Extension:SyntaxHighlight|SyntaxHighlight]] extension now supports <bdi lang="en" dir="ltr"><code>wikitext</code></bdi> as a selected language. Old alternatives that were used to highlight wikitext, such as <bdi lang="en" dir="ltr"><code>html5</code></bdi>, <bdi lang="en" dir="ltr"><code>moin</code></bdi>, and <bdi lang="en" dir="ltr"><code>html+handlebars</code></bdi>, can now be replaced. [https://phabricator.wikimedia.org/T29828] * [[mw:Special:MyLanguage/Manual:Creating pages with preloaded text|Preloading text to new pages/sections]] now supports preloading from localized MediaWiki interface messages. [https://cs.wikipedia.org/wiki/User_talk:Martin_Urbanec_(WMF)?action=edit&section=new&preload=MediaWiki:July Here is an example] at the {{int:project-localized-name-cswiki/en}} that uses <bdi lang="zxx" dir="ltr"><code><nowiki>preload=MediaWiki:July</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T330337] '''Problems''' * Graph Extension update: Foundation developers have completed upgrading the visualization software to Vega5. Existing community graphs based on Vega2 are no longer compatible. Communities need to update local graphs and templates, and shared lua modules like <bdi lang="de" dir="ltr">[[:de:Modul:Graph]]</bdi>. The [https://vega.github.io/vega/docs/porting-guide/ Vega Porting guide] provides the most comprehensive detail on migration from Vega2 and [https://www.mediawiki.org/w/index.php?title=Template:Graph:PageViews&action=history here is an example migration]. Vega5 has currently just been enabled on mediawiki.org to provide a test environment for communities. [https://phabricator.wikimedia.org/T334940#8813922] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.8|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-10|en}}. It will be on all wikis from {{#time:j xg|2023-05-11|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Until now, all new OAuth apps went through manual review. Starting this week, apps using identification-only or basic authorizations will not require review. [https://phabricator.wikimedia.org/T67750] '''Future changes''' * During the next year, MediaWiki will stop using IP addresses to identify logged-out users, and will start automatically assigning unique temporary usernames. Read more at [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/Updates|IP Editing: Privacy Enhancement and Abuse Mitigation/Updates]]. You can [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation#What should it look like?|join the discussion]] about the [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/Updates#What will temporary usernames look like?|format of the temporary usernames]]. [https://phabricator.wikimedia.org/T332805] * There will be an [[:w:en:A/B testing|A/B test]] on 10 Wikipedias where the Vector 2022 skin is the default skin. Half of logged-in desktop users will see an interface where the different parts of the page are more clearly separated. You can [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/2023-05 Zebra9 A/B test|read more]]. [https://phabricator.wikimedia.org/T333180][https://phabricator.wikimedia.org/T335972] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] <code>jquery.tipsy</code> will be removed from the MediaWiki core. This will affect some user scripts. Many lines with <code>.tipsy(</code> can be commented out. <code>OO.ui.PopupWidget</code> can be used to keep things working like they are now. You can [[phab:T336019|read more]] and [[:mw:Help:Locating broken scripts|read about how to find broken scripts]]. [https://phabricator.wikimedia.org/T336019] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:36, 9 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24998636 --> == Wikipedia translation of the week: 2023-20 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Purple Day]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Epilepsy Warrior Brooch May 2018 Purple Day.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Purple Day''' is a global grassroots event that was formed with the intention to increase worldwide awareness of epilepsy, and to dispel common myths and fears of this neurological disorder. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:17, 15 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25000361 --> == Tech News: 2023-20 == <section begin="technews-2023-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/20|Translations]] are available. '''Problems''' * Citations that are automatically generated based on [[d:Q33057|ISBN]] are currently broken. This affects citations made with the [[mw:Special:MyLanguage/Help:VisualEditor/User_guide/Citations-Full#Automatic|VisualEditor Automatic tab]], and the use of the citoid API in gadgets and user scripts. Work is ongoing to restore this feature. [https://phabricator.wikimedia.org/T336298] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-17|en}}. It will be on all wikis from {{#time:j xg|2023-05-18|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-gorwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hakwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hifwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hsbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-htwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-igwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ilowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-inhwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jvwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308134] '''Future changes''' * There is a recently formed team at the Wikimedia Foundation which will be focusing on experimenting with new tools. Currently they are building [[m:Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI|a prototype ChatGPT plugin that allows information generated by ChatGPT to be properly attributed]] to the Wikimedia projects. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadget and userscript developers should replace <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> with <bdi lang="zxx" dir="ltr"><code>mediawiki.cookie</code></bdi>. The <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> library will be removed in ~1 month, and staff developers will run a script to replace any remaining uses at that time. [https://phabricator.wikimedia.org/T336018] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:45, 15 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25011501 --> == Tech News: 2023-21 == <section begin="technews-2023-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/21|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The "recent edits" time period for page watchers is now 30 days. It used to be 180 days. This was a [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Change information about the number of watchers on a page|Community Wishlist Survey proposal]]. [https://phabricator.wikimedia.org/T336250] '''Changes later this week''' * An [[mw:special:MyLanguage/Growth/Positive reinforcement#Impact|improved impact module]] will be available at Wikipedias. The impact module is a feature available to newcomers [[mw:Special:MyLanguage/Growth/Feature summary#Newcomer homepage|at their personal homepage]]. It will show their number of edits, how many readers their edited pages have, how many thanks they have received and similar things. It is also accessible by accessing Special:Impact. [https://phabricator.wikimedia.org/T336203] * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-24|en}}. It will be on all wikis from {{#time:j xg|2023-05-25|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W21"/> 16:55, 22 May 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25028325 --> == Wikipedia translation of the week: 2023-22 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Valencian Art Nouveau]]'''<br /> <small>''([[:es:Modernismo valenciano]])''</small> </div> Please be bold and help translate this article! ---- [[File:Santuario Novelda.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Valencian Art Nouveau''' (Spanish: modernismo valenciano, Valencian: modernisme valencià), is the historiographic denomination given to an art and literature movement associated with the Art Nouveau in the Valencian Community, in Spain. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:46, 29 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25074014 --> == Tech News: 2023-22 == <section begin="technews-2023-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/22|Translations]] are available. '''Recent changes''' * Citations can once again be added automatically from ISBNs, thanks to Zotero's ISBN searches. The current data sources are the Library of Congress (United States), the Bibliothèque nationale de France (French National Library), and K10plus ISBN (German repository). Additional data source searches can be [[mw:Citoid/Creating Zotero translators|proposed to Zotero]]. The ISBN labels in the [[mw:Special:MyLanguage/Help:VisualEditor/User_guide/Citations-Full#Automatic|VisualEditor Automatic tab]] will reappear later this week. [https://phabricator.wikimedia.org/T336298#8859917] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The page [[{{#special:EditWatchlist}}]] now has "{{int:watchlistedit-normal-check-all}}" options to select all the pages within a namespace. This feature request was [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Watchlist edit - "check all" checkbox|voted #161 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334252] '''Problems''' * For a few days earlier this month, the "Add interlanguage link" item in the Tools menu did not work properly. This has now been fixed. [https://phabricator.wikimedia.org/T337081] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.11|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-31|en}}. It will be on all wikis from {{#time:j xg|2023-06-01|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * VisualEditor will be switched to a new backend on [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/small.dblist small] and [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/medium.dblist medium] wikis this week. Large wikis will follow in the coming weeks. This is part of the effort to move Parsoid into MediaWiki core. The change should have no noticeable effect on users, but if you experience any slow loading or other strangeness when using VisualEditor, please report it on the phabricator ticket linked here. [https://phabricator.wikimedia.org/T320529] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:04, 29 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25079963 --> == Wikipedia translation of the week: 2023-23 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:pt:Alessandra Korap]]'''<br /> <small>''([[:en:Alessandra Korap]]) ''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Alessandra Korap''' is an indigenous leader and Brazilian environmental activist from the Munduruku ethnic group. Her main work is defending the demarcation of indigenous territory and denouncing the illegal exploitation and activities of the mining and logging industries. Alessandra is internationally recognized for her work. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:33, 5 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25111481 --> == Tech News: 2023-23 == <section begin="technews-2023-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/23|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Help:Extension:RealMe|RealMe]] extension allows you to mark URLs on your user page as verified for Mastodon and similar software. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] Citation and footnote editing can now be started from the reference list when using the visual editor. This feature request was [[m:Community Wishlist Survey 2023/Citations/Allow citations to be edited in the references section with VisualEditor|voted #2 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T54750] * Previously, clicking on someone else's link to Recent Changes with filters applied within the URL could unintentionally change your preference for "{{int:Rcfilters-group-results-by-page}}". This has now been fixed. [https://phabricator.wikimedia.org/T202916#8874081] '''Problems''' * For a few days last week, some tools and bots returned outdated information due to database replication problems, and may have been down entirely while it was being fixed. These issues have now been fixed. [https://phabricator.wikimedia.org/T337446] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.12|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-06|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-07|en}}. It will be on all wikis from {{#time:j xg|2023-06-08|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Bots will no longer be prevented from making edits because of URLs that match the [[mw:Special:MyLanguage/Extension:SpamBlacklist|spam blacklist]]. [https://phabricator.wikimedia.org/T313107] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:52, 5 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25114640 --> == Wikipedia translation of the week: 2023-24 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cassinga Day]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Cassinga Day''' is a national public holiday in Namibia remembering the Cassinga Massacre. Commemorated annually on 4 May, the date "remembers those (approximately 600) killed in 1978 when the South African Defence Force attacked a SWAPO base at Cassinga in southern Angola". <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:07, 12 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25111481 --> == Tech News: 2023-24 == <section begin="technews-2023-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/24|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The content attribution tools [[mw:Special:MyLanguage/Who Wrote That?|Who Wrote That?]], [[xtools:authorship|XTools Authorship]], and [[xtools:blame|XTools Blame]] now support the Dutch, German, Hungarian, Indonesian, Japanese, Polish and Portuguese Wikipedias. This was the [[m:Community Wishlist Survey 2023/Reading/Extend "Who Wrote That?" tool to more wikis|#7 wish in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334891] * The [[mw:Special:MyLanguage/Structured Data Across Wikimedia/Search Improvements#Search Preview panel|Search Preview panel]] has been deployed on four Wikipedias (Catalan, Dutch, Hungarian and Norwegian). The panel will show an image related to the article (if existing), the top sections of the article, related images (coming from MediaSearch on Commons), and eventually the sister projects associated with the article. [https://phabricator.wikimedia.org/T306341] * The [[:mw:Special:MyLanguage/Help:Extension:RealMe#Verifying_a_link_on_non-user_pages|RealMe]] extension now allows administrators to verify URLs for any page, for Mastodon and similar software. [https://phabricator.wikimedia.org/T324937] * The default project license [https://lists.wikimedia.org/hyperkitty/list/wikimediaannounce-l@lists.wikimedia.org/thread/7G6XPWZPQFLZ2JANN3ZX6RT4DVUI3HZQ/ has been officially upgraded] to CC BY-SA 4.0. The software interface messages have been updated. Communities should feel free to start updating any mentions of the old CC BY-SA 3.0 licensing within policies and related documentation pages. [https://phabricator.wikimedia.org/T319064] '''Problems''' * For three days last month, some Wikipedia pages edited with VisualEditor or DiscussionTools had an unintended <code><nowiki>__TOC__</nowiki></code> (or its localized form) added during an edit. There is [[mw:Parsoid/Deployments/T336101_followup|a listing of affected pages sorted by wiki]], that may still need to be fixed. [https://phabricator.wikimedia.org/T336101] * Currently, the "{{int:Visualeditor-dialog-meta-categories-defaultsort-label}}" feature in VisualEditor is broken. Existing <code><nowiki>{{DEFAULTSORT:...}}</nowiki></code> keywords incorrectly appear as missing templates in VisualEditor. Developers are exploring how to fix this. In the meantime, those wishing to edit the default sortkey of a page are advised to switch to source editing. [https://phabricator.wikimedia.org/T337398] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Last week, an update to the delete form may have broken some gadgets or user scripts. If you need to manipulate (empty) the reason field, replace <bdi lang="zxx" dir="ltr"><code>#wpReason</code></bdi> with <bdi lang="zxx" dir="ltr" style="white-space: nowrap;"><code>#wpReason > input</code></bdi>. See [https://cs.wikipedia.org/w/index.php?title=MediaWiki%3AGadget-CleanDeleteReasons.js&diff=22859956&oldid=12794189 an example fix]. [https://phabricator.wikimedia.org/T337809] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.13|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-13|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-14|en}}. It will be on all wikis from {{#time:j xg|2023-06-15|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * VisualEditor will be switched to a new backend on English Wikipedia on Monday, and all other [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/large.dblist large] wikis on Thursday. The change should have no noticeable effect on users, but if you experience any slow loading or other strangeness when using VisualEditor, please report it on the phabricator ticket linked here. [https://phabricator.wikimedia.org/T320529] '''Future changes''' * From 5 June to 17 July, the Foundation's [[:mw:Wikimedia Security Team|Security team]] is holding a consultation with contributors regarding a draft policy to govern the use of third-party resources in volunteer-developed gadgets and scripts. Feedback and suggestions are warmly welcome at [[m:Special:MyLanguage/Third-party resources policy|Third-party resources policy]] on meta-wiki. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:52, 12 June 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25133779 --> == Tech News: 2023-25 == <section begin="technews-2023-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/25|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Flame graphs are now available in WikimediaDebug. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/JXNQD3EHG5V5QW5UXFDPSHQG4MJ3FWJQ/][https://techblog.wikimedia.org/2023/06/08/flame-graphs-arrive-in-wikimediadebug/] '''Changes later this week''' * There is no new MediaWiki version this week. * There is now a toolbar search popup in the visual editor. You can trigger it by typing <code>\</code> or pressing <code>ctrl + shift + p</code>. It can help you quickly access most tools in the editor. [https://commons.wikimedia.org/wiki/File:Visual_editor_toolbar_search_feature.png][https://phabricator.wikimedia.org/T66905] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:09, 19 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25159510 --> == Wikipedia translation of the week: 2023-26 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Rawon]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Rawon Setan.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Rawon''' (Javanese: ꦫꦮꦺꦴꦤ꧀) is an Indonesian beef soup. Originating from East Java, rawon utilizes the black keluak nut as the main seasoning, which gives a dark color and nutty flavor to the soup. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:18, 26 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25177056 --> == Tech News: 2023-26 == <section begin="technews-2023-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/26|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Action API modules and Special:LinkSearch will now add a trailing <bdi lang="zxx" dir="ltr"><code>/</code></bdi> to all <bdi lang="zxx" dir="ltr"><code>prop=extlinks</code></bdi> responses for bare domains. This is part of the work to remove duplication in the <code>externallinks</code> database table. [https://phabricator.wikimedia.org/T337994] '''Problems''' * Last week, search was broken on Commons and Wikidata for 23 hours. [https://phabricator.wikimedia.org/T339810][https://wikitech.wikimedia.org/wiki/Incidents/2023-06-18_search_broken_on_wikidata_and_commons] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.15|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-27|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-28|en}}. It will be on all wikis from {{#time:j xg|2023-06-29|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Minerva skin now applies more predefined styles to the <bdi lang="zxx" dir="ltr"><code>.mbox-text</code></bdi> CSS class. This enables support for mbox templates that use divs instead of tables. Please make sure that the new styles won't affect other templates in your wiki. [https://gerrit.wikimedia.org/r/c/mediawiki/skins/MinervaNeue/+/930901/][https://phabricator.wikimedia.org/T339040] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadgets will now load on both desktop and mobile by default. Previously, gadgets loaded only on desktop by default. Changing this default using the <bdi lang="zxx" dir="ltr"><code>|targets=</code></bdi> parameter is also deprecated and should not be used. You should make gadgets work on mobile or disable them based on the skin (with the <bdi lang="zxx" dir="ltr"><code>|skins=</code></bdi> parameter in <bdi lang="en" dir="ltr">MediaWiki:Gadgets-definition</bdi>) rather than whether the user uses the mobile or the desktop website. Popular gadgets that create errors on mobile will be disabled by developers on the Minerva skin as a temporary solution. [https://phabricator.wikimedia.org/T127268] * All namespace tabs now have the same browser [[m:Special:MyLanguage/Help:Keyboard_shortcuts|access key]] by default. Previously, custom and extension-defined namespaces would have to have their access keys set manually on-wiki, but that is no longer necessary. [https://phabricator.wikimedia.org/T22126] * The review form of the Flagged Revisions extension now uses the standardized [[mw:Special:MyLanguage/Codex|user interface components]]. [https://phabricator.wikimedia.org/T191156] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] How media is structured in the parser's HTML output will change in the coming weeks at [[:wikitech:Deployments/Train#Thursday|group2 wikis]]. This change improves the accessibility of content. You may need to update your site-CSS, or userscripts and gadgets. There are [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Media_structure/FAQ|details on what code to check, how to update the code, and where to report any related problems]]. [https://phabricator.wikimedia.org/T314318] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:19, 26 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25202311 --> == Wikipedia translation of the week: 2023-27 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hook echo]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Tornadic classic supercell radar.gif|center|300px]] <div style="text-align:left; padding: .4em;"> A '''hook echo''' is a pendant or hook-shaped weather radar signature as part of some supercell thunderstorms. It is found in the lower portions of a storm as air and precipitation flow into a mesocyclone, resulting in a curved feature of reflectivity. The echo is produced by rain, hail, or even debris being wrapped around the supercell <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:18, 3 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25241057 --> == Tech News: 2023-27 == <section begin="technews-2023-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/27|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the rolling out of the [[m:Community Wishlist Survey 2022/Multimedia and Commons/Audio links that play on click|audio links that play on click]] wishlist proposal, [https://noc.wikimedia.org/conf/highlight.php?file=dblists/small.dblist small wikis] will now be able to use the [[mw:Special:MyLanguage/Help:Extension:Phonos#Inline audio player mode|inline audio player]] that is implemented by the [[mw:Extension:Phonos|Phonos]] extension. [https://phabricator.wikimedia.org/T336763] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] From this week all gadgets automatically load on mobile and desktop sites. If you see any problems with gadgets on your wikis, please adjust the [[mw:Special:MyLanguage/Extension:Gadgets#Options|gadget options]] in your gadget definitions file. [https://phabricator.wikimedia.org/T328610] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.16|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-05|en}}. It will be on all wikis from {{#time:j xg|2023-07-06|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:51, 3 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25231546 --> == Tech News: 2023-28 == <section begin="technews-2023-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/28|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Structured Data Across Wikimedia/Section-level Image Suggestions|Section-level Image Suggestions feature]] has been deployed on seven Wikipedias (Portuguese, Russian, Indonesian, Catalan, Hungarian, Finnish and Norwegian Bokmål). The feature recommends images for articles on contributors' watchlists that are a good match for individual sections of those articles. * [[:m:Special:MyLanguage/Global AbuseFilter|Global abuse filters]] have been enabled on all Wikimedia projects, except English and Japanese Wikipedias (who opted out). This change was made following a [[:m:Requests for comment/Make global abuse filters opt-out|global request for comments]]. [https://phabricator.wikimedia.org/T341159] * [[{{#special:BlockedExternalDomains}}]] is a new tool for administrators to help fight spam. It provides a clearer interface for blocking plain domains (and their subdomains), is more easily searchable, and is faster for the software to process for each edit on the wiki. It does not support regex (for complex cases), nor URL path-matching, nor the [[MediaWiki:Spam-whitelist|MediaWiki:Spam-whitelist]], but otherwise it replaces most of the functionalities of the existing [[MediaWiki:Spam-blacklist|MediaWiki:Spam-blacklist]]. There is a Python script to help migrate all simple domains into this tool, and more feature details, within [[mw:Special:MyLanguage/Manual:BlockedExternalDomains|the tool's documentation]]. It is available at all wikis except for Meta-wiki, Commons, and Wikidata. [https://phabricator.wikimedia.org/T337431] * The WikiEditor extension was updated. It includes some of the most frequently used features of wikitext editing. In the past, many of its messages could only be translated by administrators, but now all regular translators on translatewiki can translate them. Please check [https://translatewiki.net/wiki/Special:MessageGroupStats?group=ext-wikieditor&messages=&x=D#sortable:0=asc the state of WikiEditor localization into your language], and if the "Completion" for your language shows anything less than 100%, please complete the translation. See [https://lists.wikimedia.org/hyperkitty/list/wikitech-ambassadors@lists.wikimedia.org/thread/D4YELU2DXMZ75PGELUOKXXMFF3FH45XA/ a more detailed explanation]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.17|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-12|en}}. It will be on all wikis from {{#time:j xg|2023-07-13|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * The default protocol of [[{{#special:LinkSearch}}]] and API counterparts has changed from http to both http and https. [https://phabricator.wikimedia.org/T14810] * [[{{#special:LinkSearch}}]] and its API counterparts will now search for all of the URL provided in the query. It used to be only the first 60 characters. This feature was requested fifteen years ago. [https://phabricator.wikimedia.org/T17218] '''Future changes''' * There is an experiment with a [[:w:en:ChatGPT|ChatGPT]] plugin. This is to show users where the information is coming from when they read information from Wikipedia. It has been tested by Wikimedia Foundation staff and other Wikimedians. Soon all ChatGPT plugin users can use the Wikipedia plugin. This is the same plugin which was mentioned in [[m:Special:MyLanguage/Tech/News/2023/20|Tech News 2023/20]]. [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI] * There is an ongoing discussion on a [[m:Special:MyLanguage/Third-party resources policy|proposed Third-party resources policy]]. The proposal will impact the use of third-party resources in gadgets and userscripts. Based on the ideas received so far, policy includes some of the risks related to user scripts and gadgets loading third-party resources, some best practices and exemption requirements such as code transparency and inspectability. Your feedback and suggestions are warmly welcome until July 17, 2023 on [[m:Talk:Third-party resources policy|on the policy talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:54, 10 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25278797 --> == Wikipedia translation of the week: 2023-29 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Esther Cooper Jackson]]'''<br /> <small>''([[:fr:Esther Cooper Jackson]]) ([[:simple:Esther Cooper Jackson]])''</small> </div> Please be bold and help translate this article! ---- [[File:Esther Cooper Jackson, 1968, Great Barrington.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Esther Victoria Cooper Jackson''' was an American civil rights activist and social worker. She was one of the founding editors of the magazine Freedomways. She also was an organizational and executive secretary at the Southern Negro Youth Congress. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:14, 17 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25266525 --> == Tech News: 2023-29 == <section begin="technews-2023-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/29|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] We are now serving 1% of all global user traffic from [[w:en:Kubernetes|Kubernetes]] (you can [[wikitech:MediaWiki On Kubernetes|read more technical details]]). We are planning to increment this percentage regularly. You can [[phab:T290536|follow the progress of this work]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.18|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-19|en}}. It will be on all wikis from {{#time:j xg|2023-07-20|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki [[mw:Special:MyLanguage/Help:System_message|system messages]] will now look for available local fallbacks, instead of always using the default fallback defined by software. This means wikis no longer need to override each language on the [[mw:Special:MyLanguage/Manual:Language#Fallback_languages|fallback chain]] separately. For example, English Wikipedia doesn't have to create <bdi lang="zxx" dir="ltr"><code>en-ca</code></bdi> and <bdi lang="zxx" dir="ltr"><code>en-gb</code></bdi> subpages with a transclusion of the base pages anymore. This makes it easier to maintain local overrides. [https://phabricator.wikimedia.org/T229992] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The <bdi lang="zxx" dir="ltr"><code>action=growthsetmentorstatus</code></bdi> API will be deprecated with the new MediaWiki version. Bots or scripts calling that API should use the <bdi lang="zxx" dir="ltr"><code>action=growthmanagementorlist</code></bdi> API now. [https://phabricator.wikimedia.org/T321503] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:08, 17 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25289122 --> == Wikipedia translation of the week: 2023-30 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cut of pork]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:American Pork Cuts.svg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''cuts of pork''' are the different parts of the pig which are consumed as food by humans. The terminology and extent of each cut varies from country to country. There are between four and six primal cuts, which are the large parts in which the pig is first cut: the shoulder (blade and picnic), loin, belly (spare ribs and side) and leg <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:21, 24 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25318972 --> == Tech News: 2023-30 == <section begin="technews-2023-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/30|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] On July 18, the Wikimedia Foundation launched a survey about the [[:mw:Technical_decision_making|technical decision making process]] for people who do technical work that relies on software that is maintained by the Foundation or affiliates. If this applies to you, [https://wikimediafoundation.limesurvey.net/885471 please take part in the survey]. The survey will be open for three weeks, until August 7. You can find more information in [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/Q7DUCFA75DXG3G2KHTO7CEWMLCYTSDB2/|the announcement e-mail on wikitech-l]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-26|en}}. It will be on all wikis from {{#time:j xg|2023-07-27|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:20, 25 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25332248 --> == Wikipedia translation of the week: 2023-31 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Gunhild Cross]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Gunhildkorset.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Gunhild Cross''' (Danish: Gunhildkorset), named for its first owner, Gunhild, a daughter of Svend III of Denmark, is a mid-12th-century crucifix carved in walrus tusk and with both Latin and Runic inscriptions. It is now in the collection of the National Museum of Denmark. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:48, 31 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25380210 --> == Tech News: 2023-31 == <section begin="technews-2023-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/31|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Synchronizer|Synchronizer]] tool is now available to keep Lua modules synced across Wikimedia wikis, along with [[mw:Multilingual Templates and Modules|updated documentation]] to develop global Lua modules and templates. * The tag filter on [[{{#special:NewPages}}]] and revision history pages can now be inverted. For example, you can hide edits that were made using an automated tool. [https://phabricator.wikimedia.org/T334337][https://phabricator.wikimedia.org/T334338] * The Wikipedia [[:w:en:ChatGPT|ChatGPT]] plugin experiment can now be used by ChatGPT users who can use plugins. You can participate in a [[:m:Talk:Wikimedia Foundation Annual Plan/2023-2024/Draft/Future Audiences#Announcing monthly Future Audiences open "office hours"|video call]] if you want to talk about this experiment or similar work. [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI] '''Problems''' * It was not possible to generate a PDF for pages with non-Latin characters in the title, for the last two weeks. This has now been fixed. [https://phabricator.wikimedia.org/T342442] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-01|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-02|en}}. It will be on all wikis from {{#time:j xg|2023-08-03|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Tuesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-kawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kaawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kabwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kbdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kbpwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-knwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kshwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kwwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308135] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:54, 31 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25362228 --> == Wikipedia translation of the week: 2023-32 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Polyura athamas]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Close wing mud-puddling position of Charaxes bharata (C.& R. Felder,1867) - Indian Nawab.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''''Polyura athamas''''', the common nawab, is a species of fast-flying canopy butterfly found in tropical Asia. It belongs to the Charaxinae (rajahs and nawabs) in the brush-footed butterfly family (Nymphalidae). <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 03:14, 7 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25410866 --> == Tech News: 2023-32 == <section begin="technews-2023-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/32|Translations]] are available. '''Recent changes''' * Mobile Web editors can now [[mw:Special:MyLanguage/Reading/Web/Advanced_mobile_contributions#August_1,_2023_-_Full-page_editing_added_on_mobile|edit a whole page at once]]. To use this feature, turn on "{{int:Mobile-frontend-mobile-option-amc}}" in your settings and use the "{{int:Minerva-page-actions-editfull}}" button in the "{{int:Minerva-page-actions-overflow}}" menu. [https://phabricator.wikimedia.org/T203151] '''Changes later this week''' * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:21, 7 August 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25420038 --> == Wikipedia translation of the week: 2023-33 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Women's page]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:"Doings in Pittsburg Society" The Pittsburg Press February 1, 1920.png|center|300px]] <div style="text-align:left; padding: .4em;"> The '''women's page''' (sometimes called home page or women's section) of a newspaper was a section devoted to covering news assumed to be of interest to women. Women's pages started out in the 19th century as society pages and eventually morphed into features sections in the 1970s. Although denigrated during much of that period, they had a significant impact on journalism and in their communities. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:51, 14 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-33 == <section begin="technews-2023-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/33|Translations]] are available. '''Recent changes''' * The Content translation system is no longer using Youdao's [[mw:Special:MyLanguage/Help:Content_translation/Translating/Initial_machine_translation|machine translation service]]. The service was in place for several years, but due to no usage, and availability of alternatives, it was deprecated to reduce maintenance overheads. Other services which cover the same languages are still available. [https://phabricator.wikimedia.org/T329137] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-15|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-16|en}}. It will be on all wikis from {{#time:j xg|2023-08-17|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-lawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ladwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lbewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lezwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lfnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-liwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lijwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lmowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ltgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-maiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-map_bmswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mdfwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kywiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308136] <!-- TODO replace wiki codes --> '''Future changes''' * A few gadgets/user scripts which add icons to the Minerva skin need to have their CSS updated. There are more details available including a [[phab:T344067|search for all existing instances and how to update them]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 06:00, 15 August 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25428668 --> == Wikipedia translation of the week: 2023-34 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Insect toxin]]'''<br /> <small>''([[:de:Insektengift]])''</small> </div> Please be bold and help translate this article! ---- [[File:PDB 1lmr EBI.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Insect toxins''' are various protein toxins produced by insect species. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:32, 21 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-34 == <section begin="technews-2023-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/34|Translations]] are available. '''Recent changes''' * The [https://gdrive-to-commons.toolforge.org/ GDrive to Commons Uploader] tool is now available. It enables [[m:Special:MyLanguage/GDrive to Commons Uploader|securely selecting and uploading files]] from your Google Drive directly to Wikimedia Commons. [https://phabricator.wikimedia.org/T267868] * From now on, we will announce new Wikimedia wikis in Tech News, so you can update any tools or pages. ** Since the last edition, two new wikis have been created: *** a Wiktionary in [[d:Q7121294|Pa'O]] ([[wikt:blk:|<code>wikt:blk:</code>]]) [https://phabricator.wikimedia.org/T343540] *** a Wikisource in [[d:Q34002|Sundanese]] ([[s:su:|<code>s:su:</code>]]) [https://phabricator.wikimedia.org/T343539] ** To catch up, the next most recent six wikis are: *** Wikifunctions ([[f:|<code>f:</code>]]) [https://phabricator.wikimedia.org/T275945] *** a Wiktionary in [[d:Q2891049|Mandailing]] ([[wikt:btm:|<code>wikt:btm:</code>]]) [https://phabricator.wikimedia.org/T335216] *** a Wikipedia in [[d:Q5555465|Ghanaian Pidgin]] ([[w:gpe:|<code>w:gpe:</code>]]) [https://phabricator.wikimedia.org/T335969] *** a Wikinews in [[d:Q3111668|Gungbe]] ([[n:guw:|<code>n:guw:</code>]]) [https://phabricator.wikimedia.org/T334394] *** a Wiktionary in [[d:Q33522|Kabardian]] ([[wikt:kbd:|<code>wikt:kbd:</code>]]) [https://phabricator.wikimedia.org/T333266] *** a Wikipedia in [[d:Q35570|Fante]] ([[w:fat:|<code>w:fat:</code>]]) [https://phabricator.wikimedia.org/T335016] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-22|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-23|en}}. It will be on all wikis from {{#time:j xg|2023-08-24|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] There is an existing [[mw:Stable interface policy|stable interface policy]] for MediaWiki backend code. There is a [[mw:User:Jdlrobson/Stable interface policy/frontend|proposed stable interface policy for frontend code]]. This is relevant for anyone who works on gadgets or Wikimedia frontend code. You can read it, discuss it, and let the proposer know if there are any problems. [https://phabricator.wikimedia.org/T344079] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W34"/> 15:25, 21 August 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25497111 --> == Wikipedia translation of the week: 2023-35 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Manchester Blitz]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Air Raid Damage in Britain- Manchester HU49833.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Manchester Blitz''' (also known as the Christmas Blitz) was the heavy bombing of the city of Manchester and its surrounding areas in North West England during the Second World War by the German Luftwaffe. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:16, 28 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-35 == <section begin="technews-2023-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/35|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Community Wishlist Survey 2022/Better diff handling of paragraph splits|better diff handling of paragraph splits]], improved detection of splits is being rolled out. Over the last two weeks, we deployed this support to [[wikitech:Deployments/Train#Groups|group0]] and group1 wikis. This week it will be deployed to group2 wikis. [https://phabricator.wikimedia.org/T341754] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] All [[{{#special:Contributions}}]] pages now show the user's local edit count and the account's creation date. [https://phabricator.wikimedia.org/T324166] * Wikisource users can now use the <bdi lang="zxx" dir="ltr"><code>prpbengalicurrency</code></bdi> label to denote Bengali currency characters as page numbers inside the <bdi lang="zxx" dir="ltr"><code><nowiki><pagelist></nowiki></code></bdi> tag. [https://phabricator.wikimedia.org/T268932] * Two preferences have been relocated. The preference "{{int:visualeditor-preference-visualeditor}}" is now shown on the [[Special:Preferences#mw-prefsection-editing|"{{int:prefs-editing}}" tab]] at all wikis. Previously it was shown on the "{{int:prefs-betafeatures}}" tab at some wikis. The preference "{{int:visualeditor-preference-newwikitexteditor-enable}}" is now also shown on the "{{int:prefs-editing}}" tab at all wikis, instead of the "{{int:prefs-betafeatures}}" tab. [https://phabricator.wikimedia.org/T335056][https://phabricator.wikimedia.org/T344158] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.24|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-29|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-30|en}}. It will be on all wikis from {{#time:j xg|2023-08-31|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] New signups for a Wikimedia developer account will start being pushed towards <bdi lang="en" dir="ltr">[https://idm.wikimedia.org/ idm.wikimedia.org]</bdi>, rather than going via Wikitech. [[wikitech:IDM|Further information about the new system is available]]. * All right-to-left language wikis, plus Korean, Armenian, Ukrainian, Russian, and Bulgarian Wikipedias, will have a link in the sidebar that provides a short URL of that page, using the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]]. This feature will come to more wikis in future weeks. [https://phabricator.wikimedia.org/T267921] '''Future changes''' * The removal of the [[mw:Special:MyLanguage/Extension:DoubleWiki|DoubleWiki extension]] is being discussed. This extension currently allows Wikisource users to view articles from multiple language versions side by side when the <bdi lang="zxx" dir="ltr"><code><=></code></bdi> symbol next to a specific language edition is selected. Comments on this are welcomed at [[phab:T344544|the phabricator task]]. * A proposal has been made to merge the second hidden-categories list (which appears below the wikitext editing form) with the main list of categories (which is further down the page). [[phab:T340606|More information is available on Phabricator]]; feedback is welcome! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:00, 28 August 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25510866 --> == Wikipedia translation of the week: 2023-36 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ghana Independence Act 1957]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> The '''Ghana Independence Act 1957''' is an Act of the Parliament of the United Kingdom that granted the Gold Coast fully responsible government within the British Commonwealth of Nations under the name of Ghana <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:18, 4 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-36 == <section begin="technews-2023-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/36|Translations]] are available. '''Recent changes''' * [[m:Wikisource_EditInSequence|EditInSequence]], a feature that allows users to edit pages faster on Wikisource has been moved to a Beta Feature based on community feedback. To enable it, you can navigate to the [[Special:Preferences#mw-prefsection-betafeatures|beta features tab in Preferences]]. [https://phabricator.wikimedia.org/T308098] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Special:MyLanguage/Community Wishlist Survey 2022/Generate Audio for IPA|Generate Audio for IPA]] and [[m:Community Wishlist Survey 2022/Multimedia and Commons/Audio links that play on click|Audio links that play on click]] wishlist proposals, the [[mw:Special:MyLanguage/Help:Extension:Phonos#Inline_audio_player_mode|inline audio player mode]] of [[mw:Extension:Phonos|Phonos]] has been deployed to all projects. [https://phabricator.wikimedia.org/T336763] * There is a new option for Administrators when they are changing the usergroups for a user, to add the user’s user page to their watchlist. This works both via [[{{#special:UserRights}}]] and via the API. [https://phabricator.wikimedia.org/T272294] * One new wiki has been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q34318|Talysh]] ([[w:tly:|<code>w:tly:</code>]]) [https://phabricator.wikimedia.org/T345166] '''Problems''' * The [[mw:Special:MyLanguage/Extension:LoginNotify|LoginNotify extension]] was not sending notifications since January. It has now been fixed, so going forward, you may see notifications for failed login attempts, and successful login attempts from a new device. [https://phabricator.wikimedia.org/T344785] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-06|en}}. It will be on all wikis from {{#time:j xg|2023-09-07|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-mhrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-miwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-minwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrjwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mtwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mwlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-myvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mznwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nahwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-napwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ndswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nds_nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-novwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nqowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nrmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nsowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ocwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-olowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-omwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-orwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-oswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pagwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-papwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pcdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pdcwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pflwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pihwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pmswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pnbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pntwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pswiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308137][https://phabricator.wikimedia.org/T308138] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:34, 4 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25566983 --> == Wikipedia translation of the week: 2023-37 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Betrayal trauma]]'''<br /> <small>''([[:sv:Svektrauma]]) ([[:ar:صدمة الخيانة]]) ([[:ko:배신 트라우마]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Betrayal trauma''' is defined as a trauma perpetrated by someone with whom the victim is close to and reliant upon for support and survival. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:49, 11 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-37 == <section begin="technews-2023-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/37|Translations]] are available. '''Recent changes''' * [[mw:Special:MyLanguage/ORES|ORES]], the revision evaluation service, is now using a new open-source infrastructure on all wikis except for English Wikipedia and Wikidata. These two will follow this week. If you notice any unusual results from the Recent Changes filters that are related to ORES (for example, "{{int:ores-rcfilters-damaging-title}}" and "{{int:ores-rcfilters-goodfaith-title}}"), please [[mw:Talk:Machine Learning|report them]]. [https://phabricator.wikimedia.org/T342115] * When you are logged in on one Wikimedia wiki and visit a different Wikimedia wiki, the system tries to log you in there automatically. This has been unreliable for a long time. You can now visit the login page to make the system try extra hard. If you feel that made logging in better or worse than it used to be, your feedback is appreciated. [https://phabricator.wikimedia.org/T326281] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-13|en}}. It will be on all wikis from {{#time:j xg|2023-09-14|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Special:MyLanguage/Technical decision making|Technical Decision-Making Forum Retrospective]] team invites anyone involved in the technical field of Wikimedia projects to signup to and join [[mw:Technical decision making/Listening Sessions|one of their listening sessions]] on 13 September. Another date will be scheduled later. The goal is to improve the technical decision-making processes. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Special:MyLanguage/Community Wishlist Survey 2022/Better diff handling of paragraph splits|Better diff handling of paragraph splits]] wishlist proposal, the inline switch widget in diff pages is being rolled out this week to all wikis. The inline switch will allow viewers to toggle between a unified inline or two-column diff wikitext format. [https://phabricator.wikimedia.org/T336716] '''Future changes''' * All wikis will be read-only for a few minutes on 20 September. [[m:Special:MyLanguage/Tech/Server switch|This is planned at 14:00 UTC.]] More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T345263] * The Enterprise API is launching a new feature called "[http://breakingnews-beta.enterprise.wikimedia.com/ breaking news]". Currently in BETA, this attempts to identify likely "newsworthy" topics as they are currently being written about in any Wikipedia. Your help is requested to improve the accuracy of its detection model, especially on smaller language editions, by recommending templates or identifiable editing patterns. See more information at [[mw:Special:MyLanguage/Wikimedia Enterprise/Breaking news|the documentation page]] on MediaWiki or [[m:Special:MyLanguage/Wikimedia Enterprise/FAQ#What is Breaking News|the FAQ]] on Meta. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:08, 11 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25589064 --> == Wikipedia translation of the week: 2023-38 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:es:Genocidio del Putumayo]]'''<br /> <small>''([[:en:Putumayo genocide]]) ([[:ca:Genocidi del Putumayo]])''</small></div> Please be bold and help translate this article! ---- [[File:The Putumayo - the devil's paradise, travels in the Peruvian Amazon Region and an account of the atrocities committed upon the Indians therein (1913) (14782203995).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Putumayo genocide''' is the term which is used in reference to the enslavement, massacres and ethnocide of the indigenous population of the Amazon at the hands of the Peruvian Amazon Company, specifically in the area between the Putumayo River and the Caquetá River during the Amazon rubber boom period from 1879 to 1912. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 03:38, 18 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25599361 --> == Tech News: 2023-38 == <section begin="technews-2023-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/38|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki now has a [[mw:Stable interface policy/frontend|stable interface policy for frontend code]] that more clearly defines how we deprecate MediaWiki code and wiki-based code (e.g. gadgets and user scripts). Thank you to everyone who contributed to the content and discussions. [https://phabricator.wikimedia.org/T346467][https://phabricator.wikimedia.org/T344079] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.27|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-20|en}}. It will be on all wikis from {{#time:j xg|2023-09-21|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * All wikis will be read-only for a few minutes on September 20. [[m:Special:MyLanguage/Tech/Server switch|This is planned at 14:00 UTC.]] [https://phabricator.wikimedia.org/T345263] * All wikis will have a link in the sidebar that provides a short URL of that page, using the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]]. [https://phabricator.wikimedia.org/T267921] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The team investigating the Graph Extension posted [[mw:Extension:Graph/Plans#Proposal|a proposal for reenabling it]] and they need your input. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:20, 18 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25623533 --> == Tech News: 2023-39 == <section begin="technews-2023-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/39|Translations]] are available. '''Recent changes''' * The Vector 2022 skin will now remember the pinned/unpinned status for the Table of Contents for all logged-out users. [https://phabricator.wikimedia.org/T316060] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.28|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-26|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-27|en}}. It will be on all wikis from {{#time:j xg|2023-09-28|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui</nowiki></code></bdi> modules are now deprecated as part of the move to Vue.js and Codex. There is a [[mw:Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. More [[phab:T346468|details are available in the task]] and your questions are welcome there. * Gadget definitions will have a [[mw:Special:MyLanguage/Extension:Gadgets#Options|new "namespaces" option]]. The option takes a list of namespace IDs. Gadgets that use this option will only load on pages in the given namespaces. '''Future changes''' * New variables will be added to [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]]: <code><bdi lang="zxx" dir="ltr">global_account_groups</bdi></code> and <code><bdi lang="zxx" dir="ltr">global_account_editcount</bdi></code>. They are available only when an account is being created. You can use them to prevent blocking automatic creation of accounts when users with many edits elsewhere visit your wiki for the first time. [https://phabricator.wikimedia.org/T345632][https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:AbuseFilter/Rules_format] '''Meetings''' * You can join the next meeting with the Wikipedia mobile apps teams. During the meeting, we will discuss the current features and future roadmap. The meeting will be on [https://zonestamp.toolforge.org/1698426015 27 October at 17:00 (UTC)]. See [[mw:Special:MyLanguage/Wikimedia_Apps/Office_Hours#October_2023|details and how to join]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, 26 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25655264 --> == Tech News: 2023-40 == <section begin="technews-2023-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/40|Translations]] are available. '''Recent changes''' * There is a new [[Special:Preferences#mw-prefsection-rendering-advancedrendering|user preference]] for "{{int:tog-forcesafemode}}". This setting will make pages load without including any on-wiki JavaScript or on-wiki stylesheet pages. It can be useful for debugging broken JavaScript gadgets. [https://phabricator.wikimedia.org/T342347] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadget definitions now have a [[mw:Special:MyLanguage/Extension:Gadgets#Options|new "<var>contentModels</var>" option]]. The option takes a list of page content models, like <code><bdi lang="zxx" dir="ltr">wikitext</bdi></code> or <code><bdi lang="zxx" dir="ltr">css</bdi></code>. Gadgets that use this option will only load on pages with the given content models. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.29|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-03|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-04|en}}. It will be on all wikis from {{#time:j xg|2023-10-05|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Vector 2022 skin will no longer use the custom styles and scripts of Vector legacy (2010). The change will be made later this year or in early 2024. See [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Loading Vector 2010 scripts|how to adjust the CSS and JS pages on your wiki]]. [https://phabricator.wikimedia.org/T331679] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:27, 3 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25686930 --> == Tech News: 2023-41 == <section begin="technews-2023-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/41|Translations]] are available. '''Recent changes''' * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q33291|Fon]] ([[w:fon:|<code>w:fon:</code>]]) [https://phabricator.wikimedia.org/T347935] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.30|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-10|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-11|en}}. It will be on all wikis from {{#time:j xg|2023-10-12|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-wawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-warwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-wowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xalwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xhwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xmfwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-yiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-yowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zeawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zh_min_nanwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zuwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308139] * At some wikis, newcomers are suggested images from Commons to add to articles without any images. Starting on Tuesday, newcomers at these wikis will be able to add images to unillustrated article sections. The specific wikis are listed under "Images recommendations" [[mw:Special:MyLanguage/Growth/Deployment table|at the Growth team deployment table]]. You can [[mw:Special:MyLanguage/Help:Growth/Tools/Add an image|learn more about this feature.]] [https://phabricator.wikimedia.org/T345940] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] In the mobile web skin (Minerva) the CSS ID <bdi lang="zxx" dir="ltr"><code><nowiki>#page-actions</nowiki></code></bdi> will be replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>#p-views</nowiki></code></bdi>. This change is to make it consistent with other skins and to improve support for gadgets and extensions in the mobile skin. A few gadgets may need to be updated; there are [https://phabricator.wikimedia.org/T348267 details and search-links in the task]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:39, 9 October 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25712895 --> == Wikipedia translation of the week: 2023-42 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Athyma nefte]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:VB 019 Color Sergeant UP.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''''Athyma nefte''''', the colour sergeant, is a species of brush-footed butterfly found in tropical South and Southeast Asia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:58, 16 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25693965 --> == Tech News: 2023-42 == <section begin="technews-2023-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/42|Translations]] are available. '''Recent changes''' * The [[m:Special:MyLanguage/Help:Unified login|Unified login]] system's edge login should now be fixed for some browsers (Chrome, Edge, Opera). This means that if you visit a new sister project wiki, you should be logged in automatically without the need to click "Log in" or reload the page. Feedback on whether it's working for you is welcome. [https://phabricator.wikimedia.org/T347889] * [[mw:Special:MyLanguage/Manual:Interface/Edit_notice|Edit notices]] are now available within the MobileFrontend/Minerva skin. This feature was inspired by [[w:en:Wikipedia:EditNoticesOnMobile|the gadget on English Wikipedia]]. See more details in [[phab:T316178|T316178]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-17|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-18|en}}. It will be on all wikis from {{#time:j xg|2023-10-19|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * In 3 weeks, in the Vector 2022 skin, code related to <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>#p-namespaces</nowiki></code></bdi> that was deprecated one year ago will be removed. If you notice tools that should appear next to the "Discussion" tab are then missing, please tell the gadget's maintainers to see [[phab:T347907|instructions in the Phabricator task]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:47, 16 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25745824 --> == Wikipedia translation of the week: 2023-43 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Typhoon Rusa]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Rusa 2002-08-27 0350Z.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Typhoon Rusa''' was the most powerful typhoon to strike South Korea in 43 years. It was the 21st JTWC tropical depression, the 15th named storm, and the 10th typhoon of the 2002 Pacific typhoon season. It developed on August 22 from the monsoon trough in the northwestern Pacific Ocean, well to the southeast of Japan. For several days, Rusa moved to the northwest, eventually intensifying into a powerful typhoon. On August 26, the storm moved across the Amami Islands of Japan, where Rusa left 20,000 people without power and caused two fatalities. Across Japan, the typhoon dropped torrential rainfall peaking at 902 mm (35.5 in) in Tokushima Prefecture. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:50, 23 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25693965 --> == Tech News: 2023-43 == <section begin="technews-2023-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/43|Translations]] are available. '''Recent changes''' * There is a new [[mw:Special:MyLanguage/Wikimedia Language engineering/Newsletter/2023/October|Language and internationalization newsletter]], written quarterly. It contains updates on new feature development, improvements in various language-related technical projects, and related support work. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Source map support has been enabled on all wikis. When you open the debugger in your browser's developer tools, you should be able to see the unminified JavaScript source code. [https://phabricator.wikimedia.org/T47514] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-24|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-25|en}}. It will be on all wikis from {{#time:j xg|2023-10-26|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:17, 23 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25782286 --> == Wikipedia translation of the week: 2023-44 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hein Eersel]]'''<br /> <small>''([[:nl:Hein Eersel]]) ([[:it:Hein Eersel]])''</small> </div> Please be bold and help translate this article! ---- [[File:HeinEersel.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Christiaan Hendrik "Hein" Eersel''' was a Surinamese linguist and cultural researcher. He served as Minister of Education and Population Development in the cabinet of acting Prime Minister Arthur Johan May. He was also the first chancellor of the University of Suriname. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:09, 30 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-44 == <section begin="technews-2023-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/44|Translations]] are available. '''Recent changes''' * The Structured Content team, as part of its project of [[:commons:Commons:WMF support for Commons/Upload Wizard Improvements|improving UploadWizard on Commons]], made some UX improvements to the upload step of choosing own vs not own work ([[phab:T347590|T347590]]), as well as to the licensing step for own work ([[phab:T347756|T347756]]). * The Design Systems team has released version 1.0.0 of [[wmdoc:codex/latest/|Codex]], the new design system for Wikimedia. See the [[mw:Special:MyLanguage/Design_Systems_Team/Announcing_Codex_1.0|full announcement about the release of Codex 1.0.0]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-31|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-01|en}}. It will be on all wikis from {{#time:j xg|2023-11-02|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). * Listings on category pages are sorted on each wiki for that language using a [[:w:en:International Components for Unicode|library]]. For a brief period on 2 November, changes to categories will not be sorted correctly for many languages. This is because the developers are upgrading to a new version of the library. They will then use a script to fix the existing categories. This will take a few hours or a few days depending on how big the wiki is. You can [[mw:Special:MyLanguage/Wikimedia Technical Operations/ICU announcement|read more]]. [https://phabricator.wikimedia.org/T345561][https://phabricator.wikimedia.org/T267145] * Starting November 1, the impact module (Special:Impact) will be upgraded by the Growth team. The new impact module shows newcomers more data regarding their impact on the wiki. It was tested by a few wikis during the last few months. [https://phabricator.wikimedia.org/T336203] '''Future changes''' * There is [[mw:Special:MyLanguage/Extension:Graph/Plans#Roadmap|a proposed plan]] for re-enabling the Graph Extension. You can help by reviewing this proposal and [[mw:Extension_talk:Graph/Plans#c-PPelberg_(WMF)-20231020221600-Update:_20_October|sharing what you think about it]]. * The WMF is working on making it possible for administrators to [[mw:Special:MyLanguage/Community_configuration_2.0|edit MediaWiki configuration directly]]. This is similar to previous work on Special:EditGrowthConfig. [[phab:T349757|A technical RfC is running until November 08, where you can provide feedback.]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:21, 30 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25801989 --> == Tech News: 2023-45 == <section begin="technews-2023-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/45|Translations]] are available. '''Recent changes''' * In the Vector 2022 skin, the default font-size of a number of navigational elements (tagline, tools menu, navigational links, and more) has been increased slightly to match the font size used in page content. [https://phabricator.wikimedia.org/T346062] '''Problems''' * Last week, there was a problem displaying some recent edits on [https://noc.wikimedia.org/conf/highlight.php?file=dblists/s5.dblist a few wikis], for 1-6 hours. The edits were saved but not immediately shown. This was due to a database problem. [https://phabricator.wikimedia.org/T350443] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-08|en}}. It will be on all wikis from {{#time:j xg|2023-11-09|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). * The Growth team will reassign newcomers from former mentors to [[mw:Special:MyLanguage/Growth/Structured mentor list|the currently active mentors]]. They have also changed the notification language to be more user-friendly. [https://phabricator.wikimedia.org/T330071][https://phabricator.wikimedia.org/T327493] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:06, 6 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25838105 --> == Wikipedia translation of the week: 2023-45 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Reclaim the Night]]'''<br /> <small>''([[:de:Reclaim the Night]])''</small> </div> Please be bold and help translate this article! ---- [[File:Reclaim the Night 2014.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Reclaim the Night''' is a movement started in Leeds in 1977 as part of the Women's Liberation Movement. Marches demanding that women be able to move throughout public spaces at night took place across England until the 1990s. Later, the organisation was revived and sponsors annual and national marches against rape and violence against women. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:40, 8 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Wikipedia translation of the week: 2023-46 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ishe Komborera Africa]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Ishe Komborera Africa.mp3|center|300px|]] <div style="text-align:left; padding: .4em;"> "'''Ishe Komborera Africa'''" (Shona for: God Bless Africa), also called "Ishe Komborera Zimbabwe" (Shona for: God Bless Zimbabwe), was the Zimbabwean national anthem from 1980 to 1994. It was the country's first national anthem after gaining independence in 1980. It is a translation of 19th-century South African schoolteacher Enoch Sontonga's popular African hymn "Nkosi Sikelel' iAfrika" into Zimbabwe's native Shona and Ndebele languages. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:38, 13 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-46 == <section begin="technews-2023-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/46|Translations]] are available. '''Recent changes''' * Four new wikis have been created: ** a Wikipedia in [[d:Q7598268|Moroccan Amazigh]] ([[w:zgh:|<code>w:zgh:</code>]]) [https://phabricator.wikimedia.org/T350216] ** a Wikipedia in [[d:Q35159|Dagaare]] ([[w:dga:|<code>w:dga:</code>]]) [https://phabricator.wikimedia.org/T350218] ** a Wikipedia in [[d:Q33017|Toba Batak]] ([[w:bbc:|<code>w:bbc:</code>]]) [https://phabricator.wikimedia.org/T350320] ** a Wikiquote in [[d:Q33151|Banjar]] ([[q:bjn:|<code>q:bjn:</code>]]) [https://phabricator.wikimedia.org/T350217] '''Problems''' * Last week, users who previously visited Meta-Wiki or Wikimedia Commons and then became logged out on those wikis could not log in again. The problem is now resolved. [https://phabricator.wikimedia.org/T350695] * Last week, some pop-up dialogs and menus were shown with the wrong font size. The problem is now resolved. [https://phabricator.wikimedia.org/T350544] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-15|en}}. It will be on all wikis from {{#time:j xg|2023-11-16|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). '''Future changes''' * Reference Previews are coming to many wikis as a default feature. They are popups for references, similar to the [[mw:Special:MyLanguage/Page Previews|PagePreviews feature]]. [[m:WMDE Technical Wishes/ReferencePreviews#Opt-out feature|You can opt out]] of seeing them. If you are [[Special:Preferences#mw-prefsection-gadgets|using the gadgets]] Reference Tooltips or Navigation Popups, you won’t see Reference Previews. [[phab:T282999|Deployment]] is planned for November 22, 2023. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Canary (also known as heartbeat) events will be produced into [https://stream.wikimedia.org/?doc#/streams Wikimedia event streams] from December 11. Streams users are advised to filter out these events, by discarding all events where <bdi lang="zxx" dir="ltr"><code><nowiki>meta.domain == "canary"</nowiki></code></bdi>. Updates to [[mw:Special:MyLanguage/Manual:Pywikibot|Pywikibot]] or [https://github.com/ChlodAlejandro/wikimedia-streams wikimedia-streams] will discard these events by default. [https://phabricator.wikimedia.org/T266798] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:52, 13 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25859263 --> == Wikipedia translation of the week: 2023-47 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Bhagavata Mela]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Bhagavata Mela''' is a classical Indian dance that is performed in Tamil Nadu, particularly the Thanjavur area. It is choreographed as an annual Vaishnavism tradition in Melattur and nearby regions, and celebrated as a dance-drama performance art. The dance art has roots in a historic migration of practitioners of Kuchipudi, another Indian classical dance art, from Andhra Pradesh to the kingdom of Tanjavur. The term Bhagavata, state Brandon and Banham, refers to the Hindu text Bhagavata Purana. Mela is a Sanskrit word that means "gathering, meeting of a group" and connotes a folk festival. The traditional Bhagavata Mela performance acts out the legends of Hinduism, set to the Carnatic style music. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:38, 04:07, 20 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-47 == <section begin="technews-2023-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/47|Translations]] are available. '''Changes later this week''' * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-quwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rmywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-roa_rupwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-roa_tarawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ruewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rwwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sahwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-satwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-shwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-siwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-skwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-slwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-smwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sqwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-srwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-srnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-stwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-stqwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-suwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-szlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tcywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tetwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-thwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-towiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tpiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ttwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-twwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tyvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-udmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ugwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-uzwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vecwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vepwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vlswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vowiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308141][https://phabricator.wikimedia.org/T308142][https://phabricator.wikimedia.org/T308143] * The Vector 2022 skin will have some minor visual changes to drop-down menus, column widths, and more. These changes were added to four Wikipedias last week. If no issues are found, these changes will proceed to all wikis this week. These changes will make it possible to add new menus for readability and dark mode. [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Updates#November_2023:_Visual_changes,_more_deployments,_and_shifting_focus|Learn more]]. [https://phabricator.wikimedia.org/T347711] '''Future changes''' * There is [[mw:Extension talk:Graph/Plans#Update: 15 November|an update on re-enabling the Graph Extension]]. To speed up the process, Vega 2 will not be supported and only [https://phabricator.wikimedia.org/T335325 some protocols] will be available at launch. You can help by sharing what you think about the plan. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:55, 21 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25884616 --> == Wikipedia translation of the week: 2023-48 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Zanskari]]'''<br /> <small>''([[:en:Zaniskari]])''</small> </div> Please be bold and help translate this article! ---- [[File:Zaniskari Horse in Ladakh, India.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Zaniskari''' or '''Zanskari''' is a breed of small mountain horse or pony from Ladakh, in northern India. It is named for the Zanskar valley or region in Kargil district. It is similar to the Spiti breed of Himachal Pradesh, but is better adapted to work at high altitude. Like the Spiti, it shows similarities to the Tibetan breeds of neighbouring Tibet. It is of medium size, and is often grey in colour. The breed is considered endangered, as there are only a few hundred alive today, and a conservation programme has been started at Padum, Zanskar, in the Kargil district of Ladakh. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:44, 27 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-48 == <section begin="technews-2023-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/48|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-29|en}}. It will be on all wikis from {{#time:j xg|2023-11-30|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). There is no new MediaWiki version next week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki's JavaScript system will now allow <bdi lang="zxx" dir="ltr"><code>async</code>/<code>await</code></bdi> syntax in gadgets and user scripts. Gadget authors should remember that users' browsers may not support it, so it should be used appropriately. [https://phabricator.wikimedia.org/T343499] * The deployment of "[[mw:Special:MyLanguage/Help:Growth/Tools/Add_a_link|Add a link]]" announced [[m:Special:MyLanguage/Tech/News/2023/47|last week]] was postponed. It will resume this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:09, 27 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25906379 --> == Wikipedia translation of the week: 2023-49 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sheikh Hussein]]'''<br /> <small>''([[:fr:Sheikh Hussein]]) ([[:it:Scec Hussèn]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sheikh Hussein.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Sheikh Hussein''' is a town in south-eastern Ethiopia. The site has been recorded in the tentative list for UNESCO World Heritage List since 2011 as a religious, cultural and historical site. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:34, 4 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25921616 --> == Tech News: 2023-49 == <section begin="technews-2023-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/49|Translations]] are available. '''Recent changes''' * The spacing between paragraphs on Vector 2022 has been changed from 7px to 14px to match the size of the text. This will make it easier to distinguish paragraphs from sentences. [https://phabricator.wikimedia.org/T351754] * The "{{int:Visualeditor-dialog-meta-categories-defaultsort-label}}" feature in VisualEditor is working again. You no longer need to switch to source editing to edit <bdi lang="zxx" dir="ltr"><code><nowiki>{{DEFAULTSORT:...}}</nowiki></code></bdi> keywords. [https://phabricator.wikimedia.org/T337398] '''Changes later this week''' * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * On 6 December, people who have the enabled the preference for "{{int:Discussiontools-preference-visualenhancements}}" will notice the [[mw:Special:MyLanguage/Talk pages project/Usability|talk page usability improvements]] appear on pages that include the <bdi lang="zxx" dir="ltr"><code><nowiki>__NEWSECTIONLINK__</nowiki></code></bdi> magic word. If you notice any issues, please [[phab:T352232|share them with the team on Phabricator]]. '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Toolforge [[wikitech:News/Toolforge Grid Engine deprecation|Grid Engine shutdown process]] will start on December 14. Maintainers of [[toolforge:grid-deprecation|tools that still use this old system]] should plan to migrate to Kubernetes, or tell the team your plans on Phabricator in the task about your tool, before that date. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/VIWWQKMSQO2ED3TVUR7KPPWRTOBYBVOA/] * Communities using [[mw:Special:MyLanguage/Structured_Discussions|Structured Discussions]] are being contacted regarding [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|the upcoming deprecation of Structured Discussions]]. You can read more about this project, and share your comments, [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|on the project's page]]. '''Events''' * Registration & Scholarship applications are now open for the [[mw:Special:MyLanguage/Wikimedia Hackathon 2024|Wikimedia Hackathon 2024]] that will take place from 3–5 May in Tallinn, Estonia. Scholarship applications are open until 5 January 2024. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:50, 4 December 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25914435 --> == Wikipedia translation of the week: 2023-50 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Applaudissements aux fenêtres pendant la pandémie de Covid-19]]'''<br /> <small>''([[:es:Aplauso por los trabajadores de la salud]]) ([[:gl:Aplauso ao persoal sanitario]])''</small> </div> Please be bold and help translate this article! ---- [[File:Koronabirus konfinamendua Lasarten 2020-03-29.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> During the COVID-19 pandemic, applauding daily at a scheduled hour was a gesture of acclamation, recognition and gratitude towards health professionals in tribute to their work at the time. This habit emerged in January 2020 in Wuhan, where the pandemic originated, and then spread to several cities around the world during the quarantines and sanitary cordons ordered as preventive measures, Italy being the first one. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:26, 11 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25925561 --> == Tech News: 2023-50 == <section begin="technews-2023-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/50|Translations]] are available. '''Recent changes''' * On Wikimedia Commons, there are some minor user-interface improvements for the "choosing own vs not own work" step in the UploadWizard. This is part of the Structured Content team's project of [[:commons:Commons:WMF support for Commons/Upload Wizard Improvements|improving UploadWizard on Commons]]. [https://phabricator.wikimedia.org/T352707][https://phabricator.wikimedia.org/T352709] '''Problems''' * There was a problem showing the [[mw:Special:MyLanguage/Growth/Personalized first day/Newcomer homepage|Newcomer homepage]] feature with the "impact module" and their page-view graphs, for a few days in early December. This has now been fixed. [https://phabricator.wikimedia.org/T352352][https://phabricator.wikimedia.org/T352349] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-12-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-12-13|en}}. It will be on all wikis from {{#time:j xg|2023-12-14|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * [[File:Octicons-tools.svg|15px|link=]] The [https://wikimediafoundation.limesurvey.net/796964 2023 Developer Satisfaction Survey] is seeking the opinions of the Wikimedia developer community. Please take the survey if you have any role in developing software for the Wikimedia ecosystem. The survey is open until 5 January 2024, and has an associated [[foundation:Legal:December_2023_Developer_Satisfaction_Survey|privacy statement]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:13, 12 December 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25945501 --> == Wikipedia translation of the week: 2023-51 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Jamaica Bay Wildlife Refuge]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Aerial view of Subway Island, July 2019.JPG|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Jamaica Bay Wildlife Refuge''' is a wildlife refuge in New York City managed by the National Park Service as part of Gateway National Recreation Area. It is composed of the open water and intertidal salt marshes of Jamaica Bay. It lies entirely within the boundaries of New York City, divided between the boroughs of Brooklyn to the west and Queens to the east. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:05, 18 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25951007 --> == Tech News: 2023-51 == <section begin="technews-2023-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/51|Translations]] are available. '''Tech News''' * The next issue of Tech News will be sent out on 8 January 2024 because of [[w:en:Christmas and holiday season|the holidays]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-12-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-12-20|en}}. It will be on all wikis from {{#time:j xg|2023-12-21|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). There is no new MediaWiki version next week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting December 18, it won't be possible to activate Structured Discussions on a user's own talk page using the Beta feature. The Beta feature option remains available for users who want to deactivate Structured Discussions. This is part of [[mw:Structured Discussions/Deprecation|Structured Discussions' deprecation work]]. [https://phabricator.wikimedia.org/T248309] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] There will be full support for redirects in the Module namespace. The "Move Page" feature will leave an appropriate redirect behind, and such redirects will be appropriately recognized by the software (e.g. hidden from [[{{#special:UnconnectedPages}}]]). There will also be support for [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Renaming or moving modules|manual redirects]]. [https://phabricator.wikimedia.org/T120794] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The MediaWiki JavaScript documentation is moving to a new format. During the move, you can read the old docs using [https://doc.wikimedia.org/mediawiki-core/REL1_41/js/ version 1.41]. Feedback about [https://doc.wikimedia.org/mediawiki-core/master/js/ the new site] is welcome on the [[mw:Talk:JSDoc_WMF_theme|project talk page]]. * The Wishathon is a new initiative that encourages collaboration across the Wikimedia community to develop solutions for wishes collected through the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]]. The first community Wishathon will take place from 15–17 March. If you are interested in a project proposal as a user, developer, designer, or product lead, you can [[m:Special:MyLanguage/Event:WishathonMarch2024|register for the event and read more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:18, 18 December 2023 (UTC) <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25959059 --> == Wikipedia translation of the week: 2023-52 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Plant blindness]]'''<br /> <small>''([[:fr:Cécité botanique]]) ([[:de:Pflanzenblindheit]])''</small> </div> Please be bold and help translate this article! ---- [[File:Plant blindness 0323.png|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Plant blindness''' is an informally-proposed form of cognitive bias, which in its broadest meaning, is a human tendency to ignore plant species. This includes such phenomena as not noticing plants in the surrounding environment, not recognizing the importance of plant life to the whole biosphere and to human affairs, a philosophical view of plants as an inferior form of life to animals and/or the inability to appreciate the unique features or aesthetics of plants. Related terms include plant‐neglect, zoo-centrism, and zoo‐chauvinism. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:58, 25 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25971304 --> == Wikipedia translation of the week: 2024-02 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pax airship disaster]]'''<br /> <small>''([[:pt:Catástrofe do dirigível Pax]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sim new-mcclures-magazine 1902-09 19 5 (page 75 crop).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''''Pax''''' '''airship disaster''' was the explosion of the ''Pax'' airship on May 12, 1902, in Paris, which killed the Brazilian inventor Augusto Severo and the French mechanic Georges Saché. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 12:14, 8 January 2024 (UTC)'' </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26033876 --> == Tech News: 2024-02 == <section begin="technews-2024-W02"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/02|Translations]] are available. '''Recent changes''' * [https://mediawiki2latex.wmflabs.org/ mediawiki2latex] is a tool that converts wiki content into the formats of LaTeX, PDF, ODT, and EPUB. The code now runs many times faster due to recent improvements. There is also an optional Docker container you can [[b:de:Benutzer:Dirk_Hünniger/wb2pdf/install#Using_Docker|install]] on your local machine. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The way that Random pages are selected has been updated. This will slowly reduce the problem of some pages having a lower chance of appearing. [https://phabricator.wikimedia.org/T309477] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.13|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-10|en}}. It will be on all wikis from {{#time:j xg|2024-01-11|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/02|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W02"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:20, 9 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26026251 --> == Wikipedia translation of the week: 2024-03 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Conversion to Islam]]'''<br /> <small>''([[:fr:Conversion à l'islam]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sahadah-Topkapi-Palace.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Conversion to Islam''' is accepting Islam as a religion or faith and rejecting any other religion or irreligion. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:11, 15 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26044632 --> == Tech News: 2024-03 == <section begin="technews-2024-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/03|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Pages that use the JSON [[mw:Special:MyLanguage/Manual:ContentHandler|contentmodel]] will now use tabs instead of spaces for auto-indentation. This will significantly reduce the page size. [https://phabricator.wikimedia.org/T326065] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] and personal user scripts may now use JavaScript syntax introduced in ES6 (also known as "ES2015") and ES7 ("ES2016"). MediaWiki validates the source code to protect other site functionality from syntax errors, and to ensure scripts are valid in all [[mw:Special:MyLanguage/Compatibility#Browsers|supported browsers]]. Previously, Gadgets could use the <bdi lang="zxx" dir="ltr"><code><nowiki>requiresES6</nowiki></code></bdi> option. This option is no longer needed and will be removed in the future. [https://phabricator.wikimedia.org/T75714] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Manual:Bot passwords|Bot passwords]] and [[mw:Special:MyLanguage/OAuth/Owner-only consumers|owner-only OAuth consumers]] can now be restricted to allow editing only specific pages. [https://phabricator.wikimedia.org/T349957] * You can now [[mw:Special:MyLanguage/Extension:Thanks|thank]] edits made by bots. [https://phabricator.wikimedia.org/T341388] * An update on the status of the Community Wishlist Survey for 2024 [[m:Special:MyLanguage/Community Wishlist Survey/Future Of The Wishlist/January 4, 2024 Update|has been published]]. Please read and give your feedback. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.14|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-17|en}}. It will be on all wikis from {{#time:j xg|2024-01-18|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting on January 17, it will not be possible to login to Wikimedia wikis from some specific old versions of the Chrome browser (versions 51–66, released between 2016 and 2018). Additionally, users of iOS 12, or Safari on Mac OS 10.14, may need to login to each wiki separately. [https://phabricator.wikimedia.org/T344791] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> module was deprecated and replaced with the <bdi lang="zxx" dir="ltr"><code>mediawiki.cookie</code></bdi> module last year. A script has now been run to replace any remaining uses, and this week the temporary alias will be removed. [https://phabricator.wikimedia.org/T354966] '''Future changes''' * Wikimedia Deutschland is working to [[m:WMDE Technical Wishes/Reusing references|make reusing references easier]]. They are looking for people who are interested in participating in [https://wikimedia.sslsurvey.de/User-research-into-Reusing-References-Sign-up-Form-2024/en/ individual video calls for user research in January and February]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:13, 16 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26074460 --> == Wikipedia translation of the week: 2024-04 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kinder der Landstrasse]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Kinderdlandstrasse plakat.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Kinder der Landstrasse''' (literally: Children of the Country Road) was a project implemented by the Swiss foundation Pro Juventute from 1926 to 1973. The project aimed to assimilate the itinerant Yenish people in Switzerland by forcibly removing their children from their parents and placing them in orphanages or foster homes. Approximately 590 children were affected by this program. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:02, 22 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26044632 --> == Tech News: 2024-04 == <section begin="technews-2024-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/04|Translations]] are available. '''Problems''' * A bug in UploadWizard prevented linking to the userpage of the uploader when uploading. It has now been fixed. [https://phabricator.wikimedia.org/T354529] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.15|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-24|en}}. It will be on all wikis from {{#time:j xg|2024-01-25|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:04, 23 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26096197 --> == Wikipedia translation of the week: 2024-05 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Qurm Nature Reserve]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Al-Qurm Wetlands.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Qurm Nature Reserve''' is a national nature reserve in Muscat Governorate, Oman. Located on the Gulf of Oman coast, the reserve protects a mangrove forest and the surrounding wetland in a small estuary within the urban area of Qurm. Established in 1975, the reserve has been designated as an Important Bird Area since 1994, and as a protected Ramsar site since 2013. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:03, 29 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26149847 --> == Tech News: 2024-05 == <section begin="technews-2024-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/05|Translations]] are available. '''Recent changes''' * Starting Monday January 29, all talk pages messages' timestamps will become a link. This link is a permanent link to the comment. It allows users to find the comment they are looking for, even if this comment was moved elsewhere. This will affect all wikis except for the English Wikipedia. You can read more about this change [https://diff.wikimedia.org/2024/01/29/talk-page-permalinks-dont-lose-your-threads/ on Diff] or [[mw:Special:MyLanguage/Help:DiscussionTools#Talk_pages_permalinking|on Mediawiki.org]].<!-- The Diff post will be published on Monday morning UTC--> [https://phabricator.wikimedia.org/T302011] * There are some improvements to the CAPTCHA to make it harder for spam bots and scripts to bypass it. If you have feedback on this change, please comment on [[phab:T141490|the task]]. Staff are monitoring metrics related to the CAPTCHA, as well as secondary metrics such as account creations and edit counts. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.16|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-31|en}}. It will be on all wikis from {{#time:j xg|2024-02-01|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] On February 1, a link will be added to the "Tools" menu to download a [[w:en:QR code|QR code]] that links to the page you are viewing. There will also be a new [[{{#special:QrCode}}]] page to create QR codes for any Wikimedia URL. This addresses the [[m:Community Wishlist Survey 2023/Mobile and apps/Add ability to share QR code for a page in any Wikimedia project|#19 most-voted wish]] from the [[m:Community Wishlist Survey 2023/Results|2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T329973] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] which only work in some skins have sometimes used the <bdi lang="zxx" dir="ltr"><code>targets</code></bdi> option to limit where you can use them. This will stop working this week. You should use the <bdi lang="zxx" dir="ltr"><code>skins</code></bdi> option instead. [https://phabricator.wikimedia.org/T328497] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:31, 29 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26137870 --> == Wikipedia translation of the week: 2024-06 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Timurid architecture]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Gur-e-Amir Mausolueum - Samarkand - Uzbekistan (7488414078).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Timurid architecture''' was an important stage in the architectural history of Iran and Central Asia during the late 14th and 15th centuries. The Timurid Empire (1370–1507), founded by Timur (d. 1405) and conquering most of this region, oversaw a cultural renaissance. In architecture, the Timurid dynasty patronized the construction of palaces, mausoleums, and religious monuments across the region. Their architecture is distinguished by its grand scale, luxurious decoration in tilework, and sophisticated geometric vaulting. This architectural style, along with other aspects of Timurid art, spread across the empire and subsequently influenced the architecture of other empires from the Middle East to the Indian subcontinent. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 5 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26169542 --> == Tech News: 2024-06 == <section begin="technews-2024-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/06|Translations]] are available. '''Recent changes''' *The mobile site history pages now use the same HTML as the desktop history pages. If you hear of any problems relating to mobile history usage please point them to [[phab:T353388|the phabricator task]]. *On most wikis, admins can now block users from making specific actions. These actions are: uploading files, creating new pages, moving (renaming) pages, and sending thanks. The goal of this feature is to allow admins to apply blocks that are adequate to the blocked users' activity. [[m:Special:MyLanguage/Community health initiative/Partial blocks#action-blocks|Learn more about "action blocks"]]. [https://phabricator.wikimedia.org/T242541][https://phabricator.wikimedia.org/T280531] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.17|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-06|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-07|en}}. It will be on all wikis from {{#time:j xg|2024-02-08|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Talk pages permalinks that included diacritics and non-Latin script were malfunctioning. This issue is fixed. [https://phabricator.wikimedia.org/T356199] '''Future changes''' * [[m:WMDE Technical Wishes/ReferencePreviews#24WPs|24 Wikipedias]] with [[mw:Special:MyLanguage/Reference_Tooltips|Reference Tooltips]] as a default gadget are encouraged to remove that default flag. This would make [[mw:Special:MyLanguage/Help:Reference_Previews|Reference Previews]] the new default for reference popups, leading to a more consistent experience across wikis. For [[m:WMDE Technical Wishes/ReferencePreviews#46WPs|46 Wikipedias]] with less than 4 interface admins, the change is already scheduled for mid-February, [[m:Talk:WMDE Technical Wishes/ReferencePreviews#Reference Previews to become the default for previewing references on more wikis.|unless there are concerns]]. The older Reference Tooltips gadget will still remain usable and will override this feature, if it is available on your wiki and you have enabled it in your settings. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/ReferencePreviews#Reference_Previews_to_become_the_default_for_previewing_references_on_more_wikis][https://phabricator.wikimedia.org/T355312] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:22, 5 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26180971 --> == Wikipedia translation of the week: 2024-07 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Adoration of the Magi (Fra Angelico and Filippo Lippi)]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Fra Angelico, Fra Filippo Lippi, The Adoration of the Magi.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''''Adoration of the Magi''''' is a tondo, or circular painting, of the Adoration of the Magi assumed to be that recorded in 1492 in the Palazzo Medici Riccardi in Florence as by Fra Angelico. It dates from the mid-15th century and is now in the National Gallery of Art in Washington D.C. Most art historians think that Filippo Lippi painted more of the original work, and that it was added to some years after by other artists, as well as including work by assistants in the workshops of both the original masters. It has been known as the Washington Tondo and Cook Tondo after Herbert Cook, and this latter name in particular continues to be used over 50 years after the painting left the Cook collection. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 07:00, 12 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26187446 --> == Tech News: 2024-07 == <section begin="technews-2024-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/07|Translations]] are available. '''Recent changes''' * The [[d:Wikidata:SPARQL query service/WDQS graph split|WDQS Graph Split experiment]] is working and loaded onto 3 test servers. The team in charge is testing the split's impact and requires feedback from WDQS users through the UI or programmatically in different channels. [https://www.wikidata.org/wiki/Wikidata_talk:SPARQL_query_service/WDQS_graph_split][https://phabricator.wikimedia.org/T356773][https://www.wikidata.org/wiki/User:Sannita_(WMF)] Users' feedback will validate the impact of various use cases and workflows around the Wikidata Query service. [https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/WDQS_backend_update/October_2023_scaling_update][https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual#Federation] '''Problems''' *There was a bug that affected the appearance of visited links when using mobile device to access wiki sites. It made the links appear black; [[phab:T356928|this issue]] is fixed. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.18|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-13|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-14|en}}. It will be on all wikis from {{#time:j xg|2024-02-15|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] As work continues on the grid engine deprecation,[https://wikitech.wikimedia.org/wiki/News/Toolforge_Grid_Engine_deprecation] tools on the grid engine will be stopped starting on February 14th, 2024. If you have tools actively migrating you can ask for an extension so they are not stopped. [https://wikitech.wikimedia.org/wiki/Portal:Toolforge/About_Toolforge#Communication_and_support] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 05:49, 13 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26223994 --> == Wikipedia translation of the week: 2024-08 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:nl:Graf met de handjes]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Weg langs het kerkhof tegenover 1, Roermond.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The monument '''Van Gorkum-Van Aefferden''', more well known as the "'''grave with the little hands'''" is a monumental Tombstone in the Dutch city of Roermond. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:24, 19 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26260848 --> == Tech News: 2024-08 == <section begin="technews-2024-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/08|Translations]] are available. '''Recent changes''' * If you have the "{{int:Tog-enotifwatchlistpages}}" option enabled, edits by bot accounts no longer trigger notification emails. Previously, only minor edits would not trigger the notification emails. [https://phabricator.wikimedia.org/T356984] * There are changes to how user and site scripts load for [[mw:Special:MyLanguage/Skin:Vector/2022| Vector 2022]] on specific wikis. The changes impacted the following Wikis: all projects with [[mw:Special:MyLanguage/Skin:Vector|Vector legacy]] as the default skin, Wikivoyage, and Wikibooks. Other wikis will be affected over the course of the next three months. Gadgets are not impacted. If you have been affected or want to minimize the impact on your project, see [[Phab:T357580| this ticket]]. Please coordinate and take action proactively. *Newly auto-created accounts (the accounts you get when you visit a new wiki) now have the same local notification preferences as users who freshly register on that wiki. It is effected in four notification types listed in the [[phab:T353225|task's description]]. *The maximum file size when using [[c:Special:MyLanguage/Commons:Upload_Wizard|Upload Wizard]] is now 5 GiB. [https://phabricator.wikimedia.org/T191804] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-20|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-21|en}}. It will be on all wikis from {{#time:j xg|2024-02-22|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Selected tools on the grid engine have been [[wikitech:News/Toolforge_Grid_Engine_deprecation|stopped]] as we prepare to shut down the grid on March 14th, 2024. The tool's code and data have not been deleted. If you are a maintainer and you want your tool re-enabled reach out to the [[wikitech:Portal:Toolforge/About_Toolforge#Communication_and_support|team]]. Only tools that have asked for extension are still running on the grid. * The CSS <bdi lang="zxx" dir="ltr"><code>[https://developer.mozilla.org/en-US/docs/Web/CSS/filter filter]</code></bdi> property can now be used in HTML <bdi lang="zxx" dir="ltr"><code>style</code></bdi> attributes in wikitext. [https://phabricator.wikimedia.org/T308160] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:37, 19 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26254282 --> == Wikipedia translation of the week: 2024-09 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Doorway effect]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> The '''doorway effect''' is a known psychological event where a person's short-term memory declines when passing through a doorway moving from one location to another when it would not if they had remained in the same place. People experience this effect by forgetting what they were going to do, thinking about, or planning upon entering a different room. This is thought to be due to the change in one's physical environment, which is used to distinguish boundaries between remembered events: memories of events encountered in the present environment are more accessible than those beyond it. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:30, 26 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26260848 --> == Tech News: 2024-09 == <section begin="technews-2024-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/09|Translations]] are available. '''Recent changes''' * The [[mw:Special:MyLanguage/VisualEditor_on_mobile|mobile visual editor]] is now the default editor for users who never edited before, at a small group of wikis. [[mw:Special:MyLanguage/VisualEditor_on_mobile/VE_mobile_default#A/B_test_results| Research ]] shows that users using this editor are slightly more successful publishing the edits they started, and slightly less successful publishing non-reverted edits. Users who defined the wikitext editor as their default on desktop will get the wikitext editor on mobile for their first edit on mobile as well. [https://phabricator.wikimedia.org/T352127] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Special:MyLanguage/ResourceLoader/Core modules#mw.config|mw.config]] value <code>wgGlobalGroups</code> now only contains groups that are active in the wiki. Scripts no longer have to check whether the group is active on the wiki via an API request. A code example of the above is: <bdi lang="zxx" dir="ltr"><code>if (/globalgroupname/.test(mw.config.get("wgGlobalGroups")))</code></bdi>. [https://phabricator.wikimedia.org/T356008] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-27|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-28|en}}. It will be on all wikis from {{#time:j xg|2024-02-29|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * The right to change [[mw:Special:MyLanguage/Manual:Tags|edit tags]] (<bdi lang="zxx" dir="ltr"><code>changetags</code></bdi>) will be removed from users in Wikimedia sites, keeping it by default for admins and bots only. Your community can ask to retain the old configuration on your wiki before this change happens. Please indicate in [[phab:T355639|this ticket]] to keep it for your community before the end of March 2024. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:23, 26 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26294125 --> == Wikipedia translation of the week: 2024-10 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sissieretta Jones]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:1899 poster of Mme. M. Sissieretta Jones.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Matilda Sissieretta Joyner Jones''' (January 5, 1868, or 1869 – June 24, 1933) was an American soprano. She sometimes was called "The Black Patti" in reference to Italian opera singer Adelina Patti. Jones' repertoire included grand opera, light opera, and popular music <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 4 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26313143 --> == Tech News: 2024-10 == <section begin="technews-2024-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/10|Translations]] are available. '''Recent changes''' * The <bdi lang="zxx" dir="ltr"><code>Special:Book</code></bdi> page (as well as the associated "Create a book" functionality) provided by the old [[mw:Special:MyLanguage/Extension:Collection|Collection extension]] has been removed from all Wikisource wikis, as it was broken. This does not affect the ability to download normal books, which is provided by the [[mw:Special:MyLanguage/Extension:Wikisource|Wikisource extension]]. [https://phabricator.wikimedia.org/T358437] * [[m:Wikitech|Wikitech]] now uses the next-generation [[mw:Special:MyLanguage/Parsoid|Parsoid]] wikitext parser by default to generate all pages in the Talk namespace. Report any problems on the [[mw:Talk:Parsoid/Parser_Unification/Known_Issues|Known Issues discussion page]]. You can use the [[mw:Special:MyLanguage/Extension:ParserMigration|ParserMigration]] extension to control the use of Parsoid; see the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|ParserMigration help documentation]] for more details. * Maintenance on [https://etherpad.wikimedia.org etherpad] is completed. If you encounter any issues, please indicate in [[phab:T316421|this ticket]]. * [[File:Octicons-tools.svg|12px|link=|alt=| Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] allow interface admins to create custom features with CSS and JavaScript. The <bdi lang="zxx" dir="ltr"><code>Gadget</code></bdi> and <bdi lang="zxx" dir="ltr"><code>Gadget_definition</code></bdi> namespaces and <bdi lang="zxx" dir="ltr"><code>gadgets-definition-edit</code></bdi> user right were reserved for an experiment in 2015, but were never used. These were visible on Special:Search and Special:ListGroupRights. The unused namespaces and user rights are now removed. No pages are moved, and no changes need to be made. [https://phabricator.wikimedia.org/T31272] * A usability improvement to the "Add a citation" in Wikipedia workflow has been made, the insert button was moved to the popup header. [https://phabricator.wikimedia.org/T354847] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.21|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-06|en}}. It will be on all wikis from {{#time:j xg|2024-03-07|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * All wikis will be read-only for a few minutes on March 20. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T358233] * The HTML markup of headings and section edit links will be changed later this year to improve accessibility. See [[mw:Special:MyLanguage/Heading_HTML_changes|Heading HTML changes]] for details. The new markup will be the same as in the new Parsoid wikitext parser. You can test your gadget or stylesheet with the new markup if you add <bdi lang="zxx" dir="ltr"><code>?useparsoid=1</code></bdi> to your URL ([[mw:Special:MyLanguage/Help:Extension:ParserMigration#Selecting_a_parser_using_a_URL_query_string|more info]]) or turn on Parsoid read views in your user options ([[mw:Special:MyLanguage/Help:Extension:ParserMigration#Enabling_via_user_preference|more info]]). * '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:47, 4 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26329807 --> == Wikipedia translation of the week: 2024-11 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Preventative Coup of November 11]]'''<br /> <small>''([[:es:Golpe de Estado en Brasil de 1955]])''</small> </div> Please be bold and help translate this article! ---- [[File:Exército na casa de Café Filho.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Preventative Coup of November 11''' sometimes called the '''1955 Brazilian coup d'état''' or referred to as an "anti-coup" or a "counter-coup" (Portuguese: ''Novembrada, Movimento de 11 de Novembro, Contragolpe, Golpe Preventivo do Marechal Lott'') was a series of military and political events led by Henrique Teixeira Lott that resulted in Nereu Ramos assuming the presidency of Brazil until being peacefully succeeded by Juscelino Kubitschek a few months later. The bloodless coup removed Carlos Luz from the presidency because he was suspected of plotting to prevent Kubitschek from taking office. As a result of the tensions, Brazil had three presidents in the span of a single week. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 11 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26366849 --> == Tech News: 2024-11 == <section begin="technews-2024-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/11|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-13|en}}. It will be on all wikis from {{#time:j xg|2024-03-14|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * After consulting with various communities, the line height of the text on the [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva skin]] will be increased to its previous value of 1.65. Different options for typography can also be set using the options in the menu, as needed. [https://phabricator.wikimedia.org/T358498] *The active link color in [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva]] will be changed to provide more consistency with our other platforms and best practices. [https://phabricator.wikimedia.org/T358516] * [[c:Special:MyLanguage/Commons:Structured data|Structured data on Commons]] will no longer ask whether you want to leave the page without saving. This will prevent the “information you’ve entered may not be saved” popups from appearing when no information have been entered. It will also make file pages on Commons load faster in certain cases. However, the popups will be hidden even if information has indeed been entered. If you accidentally close the page before saving the structured data you entered, that data will be lost. [https://phabricator.wikimedia.org/T312315] '''Future changes''' * All wikis will be read-only for a few minutes on March 20. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T358233][https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:04, 11 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26374013 --> == Wikipedia translation of the week: 2024-12 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hojang Taret]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Hojang Taret''' is a classical Meitei language play based on Euripides's ancient Greek tragedy The Phoenician Women. It is directed by Oasis Sougaijam and produced by The Umbilical Theatre in Imphal, Kangleipak. It depicts the moral ambiguities of conflict between brothers resulting to the ruination of the ancient city of Thebes. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:52, 18 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26366849 --> == Tech News: 2024-12 == <section begin="technews-2024-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/12|Translations]] are available. '''Recent changes''' * The notice "Language links are at the top of the page" that appears in the [[mw:Special:MyLanguage/Skin:Vector/2022|Vector 2022 skin]] main menu has been removed now that users have learned the new location of the Language switcher. [https://phabricator.wikimedia.org/T353619] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[m:Special:MyLanguage/IP_Editing:_Privacy_Enhancement_and_Abuse_Mitigation/IP_Info_feature|IP info feature]] displays data from Spur, an IP addresses database. Previously, the only data source for this feature was MaxMind. Now, IP info is more useful for patrollers. [https://phabricator.wikimedia.org/T341395] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Toolforge Grid Engine services have been shut down after the final migration process from Grid Engine to Kubernetes. [https://wikitech.wikimedia.org/wiki/Obsolete:Toolforge/Grid][https://wikitech.wikimedia.org/wiki/News/Toolforge_Grid_Engine_deprecation][https://techblog.wikimedia.org/2022/03/14/toolforge-and-grid-engine/] * Communities can now customize the default reasons for undeleting a page by creating [[MediaWiki:Undelete-comment-dropdown]]. [https://phabricator.wikimedia.org/T326746] '''Problems''' * [[m:Special:MyLanguage/WMDE_Technical_Wishes/RevisionSlider|RevisionSlider]] is an interface to interactively browse a page's history. Users in [[mw:Special:MyLanguage/Extension:RevisionSlider/Developing_a_RTL-accessible_feature_in_MediaWiki_-_what_we%27ve_learned_while_creating_the_RevisionSlider|right-to-left]] languages reported RevisionSlider reacting wrong to mouse clicks. This should be fixed now. [https://phabricator.wikimedia.org/T352169] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-20|en}}. It will be on all wikis from {{#time:j xg|2024-03-21|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * All wikis will be read-only for a few minutes on March 20. This is planned at [https://zonestamp.toolforge.org/1710943200 14:00 UTC]. [https://phabricator.wikimedia.org/T358233][https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:40, 18 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26410165 --> == Wikipedia translation of the week: 2024-13 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Magna Lykseth-Skogman]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Magna Lykseth in Tristan och Isolde at Kungliga Operan 1909 - SMV - GL164.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Magna Elvine Lykseth-Skogman''' (6 February 1874 – 13 November 1949), also known as Magna Lykseth-Schjerven, was a Norwegian-born Swedish operatic soprano. After making her début at the Royal Swedish Opera in 1901 as Santuzza in Cavalleria rusticana, she was engaged there until 1918 becoming the company's prima donna. She performed leading roles in a wide range of operas but is remembered in particular for her Wagnerian interpretations, creating Brünnhilde in the Swedish premières of Siegfried and Götterdämmerung, and Isolde in 1909. Considered to be one of the most outstanding Swedish opera singers of her generation, she was awarded the Litteris et Artibus medal in 1907 and became a member of the Royal Swedish Academy of Music in 1912 <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:00, 25 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26447450 --> == Tech News: 2024-13 == <section begin="technews-2024-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/13|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] An update was made on March 18th 2024 to how various projects load site, user JavaScript and CSS in [[mw:Special:MyLanguage/Skin:Vector/2022|Vector 2022 skin]]. A [[phab:T360384|checklist]] is provided for site admins to follow. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.24|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-26|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-27|en}}. It will be on all wikis from {{#time:j xg|2024-03-28|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:57, 25 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26446209 --> == Wikipedia translation of the week: 2024-14 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lidder Valley]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Pahalgam Valley.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Lidder Valley''' or Liddar Valley is a Himalayan sub-valley that forms the southeastern corner of Anantnag district in Indian-administered Kashmir. The Lidder River flows down the valley. The entrance to the valley lies 7 km northeast from Anantnag town and 62 km southeast from Srinagar, the summer capital of Jammu and Kashmir. It is a 40-km-long gorge valley with an average width of 3 km. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:15, 1 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26509189 --> == Tech News: 2024-14 == <section begin="technews-2024-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/14|Translations]] are available. '''Recent changes''' * Users of the [[mw:Special:MyLanguage/Reading/Web/Accessibility_for_reading|reading accessibility]] beta feature will notice that the default line height for the standard and large text options has changed. [https://phabricator.wikimedia.org/T359030] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-02|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-03|en}}. It will be on all wikis from {{#time:j xg|2024-04-04|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * The Wikimedia Foundation has an annual plan. The annual plan decides what the Wikimedia Foundation will work on. You can now read [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2024-2025/Product & Technology OKRs#Draft Key Results|the draft key results]] for the Product and Technology department. They are suggestions for what results the Foundation wants from big technical changes from July 2024 to June 2025. You can [[m:Talk:Wikimedia Foundation Annual Plan/2024-2025/Product & Technology OKRs|comment on the talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:36, 2 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26462933 --> == Wikipedia translation of the week: 2024-15 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Operation Kraai]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Overzicht van het vliegveld te Djokja vanuit de 'Control Tower', Bestanddeelnr 5128.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Operation Kraai''' (Operation Crow) was a Dutch military offensive against the de facto Republic of Indonesia in December 1948 after negotiations failed. With the advantage of surprise the Dutch managed to capture the Indonesian Republic's temporary capital, Yogyakarta, and seized Indonesian leaders such as de facto Republican President Sukarno. This apparent military success was however followed by guerrilla warfare, while the violation of the Renville Agreement ceasefire diplomatically isolated the Dutch, leading to the Dutch–Indonesian Round Table Conference and recognition of the United States of Indonesia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:47, 8 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26550154 --> == Tech News: 2024-15 == <section begin="technews-2024-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/15|Translations]] are available. '''Recent changes''' * Web browsers can use tools called [[:w:en:Browser extension|extensions]]. There is now a Chrome extension called [[m:Future Audiences/Experiment:Citation Needed|Citation Needed]] which you can use to see if an online statement is supported by a Wikipedia article. This is a small experiment to see if Wikipedia can be used this way. Because it is a small experiment, it can only be used in Chrome in English. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] A new [[mw:Special:MyLanguage/Help:Edit Recovery|Edit Recovery]] feature has been added to all wikis, available as a [[Special:Preferences#mw-prefsection-editing|user preference]]. Once you enable it, your in-progress edits will be stored in your web browser, and if you accidentally close an editing window or your browser or computer crashes, you will be prompted to recover the unpublished text. Please leave any feedback on the [[m:Special:MyLanguage/Talk:Community Wishlist Survey 2023/Edit-recovery feature|project talk page]]. This was the #8 wish in the 2023 Community Wishlist Survey. * Initial results of [[mw:Special:MyLanguage/Edit check|Edit check]] experiments [[mw:Special:MyLanguage/Edit_check#4_April_2024|have been published]]. Edit Check is now deployed as a default feature at [[phab:T342930#9538364|the wikis that tested it]]. [[mw:Talk:Edit check|Let us know]] if you want your wiki to be part of the next deployment of Edit check. [https://phabricator.wikimedia.org/T342930][https://phabricator.wikimedia.org/T361727] * Readers using the [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva skin]] on mobile will notice there has been an improvement in the line height across all typography settings. [https://phabricator.wikimedia.org/T359029] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-10|en}}. It will be on all wikis from {{#time:j xg|2024-04-11|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * New accounts and logged-out users will get the [[mw:Special:MyLanguage/VisualEditor|visual editor]] as their default editor on mobile. This deployment is made at all wikis except for the English Wikipedia. [https://phabricator.wikimedia.org/T361134] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:38, 8 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26564838 --> == Wikipedia translation of the week: 2024-16 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ru:Павильон Росси]]'''<br /> <small>''([[:en:Rossi Pavilion]])&#32;([[:fr:Pavillon Rossi]])''</small> </div> Please be bold and help translate this article! ---- [[File:Rossi's Pavilion in Mikhailovsky Garden. Saint-Petersburg. 1825..jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Rossi Pavilion''' (Russian: Павильон Росси) is a pavilion on the bank of the Moyka River in the Mikhailovsky Garden in Saint Petersburg. It was designed by architect Carlo Rossi in the early 1820s and built in 1825 during his redevelopment of the garden. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:53, 15 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26565118 --> == Tech News: 2024-16 == <section begin="technews-2024-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/16|Translations]] are available. '''Problems''' * Between 2 April and 8 April, on wikis using [[mw:Special:MyLanguage/Extension:FlaggedRevs|Flagged Revisions]], the "{{Int:tag-mw-reverted}}" tag was not applied to undone edits. In addition, page moves, protections and imports were not autoreviewed. This problem is now fixed. [https://phabricator.wikimedia.org/T361918][https://phabricator.wikimedia.org/T361940] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-17|en}}. It will be on all wikis from {{#time:j xg|2024-04-18|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[mw:Special:MyLanguage/Help:Magic words#DEFAULTSORT|Default category sort keys]] will now affect categories added by templates placed in [[mw:Special:MyLanguage/Help:Cite|footnotes]]. Previously footnotes used the page title as the default sort key even if a different default sort key was specified (category-specific sort keys already worked). [https://phabricator.wikimedia.org/T40435] * A new variable <bdi lang="zxx" dir="ltr"><code>page_last_edit_age</code></bdi> will be added to [[Special:AbuseFilter|abuse filters]]. It tells how many seconds ago the last edit to a page was made. [https://phabricator.wikimedia.org/T269769] '''Future changes''' * Volunteer developers are kindly asked to update the code of their tools and features to handle [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]]. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers/2024-04 CTA|Learn more]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Four database fields will be removed from database replicas (including [[quarry:|Quarry]]). This affects only the <bdi lang="zxx" dir="ltr"><code>abuse_filter</code></bdi> and <bdi lang="zxx" dir="ltr"><code>abuse_filter_history</code></bdi> tables. Some queries might need to be updated. [https://phabricator.wikimedia.org/T361996] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:29, 15 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26564838 --> == Wikipedia translation of the week: 2024-17 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Devorà Ascarelli]]'''<br /> <small>''([[:it:Debora Ascarelli]])&#32;([[:es:Devorà Ascarelli]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Devorà Ascarelli''' was a 16th-century Italian poet living in Rome, Italy. Ascarelli may have been the first Jewish woman to have a book of her own work published. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:35, 22 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-17 == <section begin="technews-2024-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/17|Translations]] are available. '''Recent changes''' * Starting this week, newcomers editing Wikipedia [[mw:Special:MyLanguage/Growth/Positive reinforcement#Leveling up 3|will be encouraged]] to try structured tasks. [[mw:Special:MyLanguage/Growth/Feature summary#Newcomer tasks|Structured tasks]] have been shown to [[mw:Special:MyLanguage/Growth/Personalized first day/Structured tasks/Add a link/Experiment analysis, December 2021|improve newcomer activation and retention]]. [https://phabricator.wikimedia.org/T348086] * You can [[m:Special:MyLanguage/Coolest Tool Award|nominate your favorite tools]] for the fifth edition of the Coolest Tool Award. Nominations will be open until May 10. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-24|en}}. It will be on all wikis from {{#time:j xg|2024-04-25|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * This is the last warning that by the end of May 2024 the Vector 2022 skin will no longer share site and user scripts/styles with old Vector. For user-scripts that you want to keep using on Vector 2022, copy the contents of [[{{#special:MyPage}}/vector.js]] to [[{{#special:MyPage}}/vector-2022.js]]. There are [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Loading Vector 2010 scripts|more technical details]] available. Interface administrators who foresee this leading to lots of technical support questions may wish to send a mass message to your community, as was done on French Wikipedia. [https://phabricator.wikimedia.org/T362701] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:28, 22 April 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26647188 --> == Wikipedia translation of the week: 2024-18 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:1989 Serbian general election]]'''<br /> <small>''([[:sr:Председнички избори у Србији 1989.]])&#32;([[:vi:Tổng tuyển cử Serbia 1989]])''</small></div> Please be bold and help translate this article! ---- [[File:Parliament of SR Serbia (1989–1991).svg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''General elections were held in Serbia''', a constituent federal unit of SFR Yugoslavia, on 12 November 1989 to elect the president of the presidency of the Socialist Republic of Serbia and delegates of the Assembly of SR Serbia. Voting for delegates also took place on 10 and 30 November 1989. In addition to the general elections, local elections were held simultaneously. These were the first direct elections conducted after the adoption of the 1974 Yugoslav Constitution and the delegate electoral system, and the last elections conducted under a one-party system. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:32, 29 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-18 == <section begin="technews-2024-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/18|Translations]] are available. '''Recent changes''' [[File:Talk_pages_default_look_(April_2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages changed for the following wikis: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-thwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ukwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-viwiki/en}}. These wikis participated to a test, where 50% of users got the new design, for one year. As this test [[Mw:Special:MyLanguage/Talk pages project/Usability/Analysis|gave positive results]], the new design is deployed on these wikis as the default design. It is possible to opt-out these changes [[Special:Preferences#mw-prefsection-editing|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). The deployment will happen at all wikis in the coming weeks. [https://phabricator.wikimedia.org/T341491] * Seven new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q33014|Betawi]] ([[w:bew:|<code>w:bew:</code>]]) [https://phabricator.wikimedia.org/T357866] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35708|Kusaal]] ([[w:kus:|<code>w:kus:</code>]]) [https://phabricator.wikimedia.org/T359757] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35513|Igala]] ([[w:igl:|<code>w:igl:</code>]]) [https://phabricator.wikimedia.org/T361644] ** a {{int:project-localized-name-group-wiktionary}} in [[d:Q33541|Karakalpak]] ([[wikt:kaa:|<code>wikt:kaa:</code>]]) [https://phabricator.wikimedia.org/T362135] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q9228|Burmese]] ([[s:my:|<code>s:my:</code>]]) [https://phabricator.wikimedia.org/T361085] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q9237|Malay]] ([[s:ms:|<code>s:ms:</code>]]) [https://phabricator.wikimedia.org/T363039] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q8108|Georgian]] ([[s:ka:|<code>s:ka:</code>]]) [https://phabricator.wikimedia.org/T363085] * You can now [https://translatewiki.net/wiki/Support#Early_access:_Watch_Message_Groups_on_Translatewiki.net watch message groups/projects] on [[m:Special:MyLanguage/translatewiki.net|Translatewiki.net]]. Initially, this feature will notify you of added or deleted messages in these groups. [https://phabricator.wikimedia.org/T348501] * Dark mode is now available on all wikis, on mobile web for logged-in users who opt into the [[Special:MobileOptions|advanced mode]]. This is the early release of the feature. Technical editors are invited to [https://night-mode-checker.wmcloud.org/ check for accessibility issues on wikis]. See [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|more detailed guidelines]]. '''Problems''' * [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]] maps can use an alternative visual style without labels, by using <bdi lang="zxx" dir="ltr"><code><nowiki>mapstyle="osm"</nowiki></code></bdi>. This wasn't working in previews, creating the wrong impression that it wasn't supported. This has now been fixed. [https://phabricator.wikimedia.org/T362531] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-01|en}}. It will be on all wikis from {{#time:j xg|2024-05-02|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:34, 30 April 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26689057 --> == Wikipedia translation of the week: 2024-19 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Heinrich Bünting]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Heinrich Bünting''' (1545 – 1606) was a Protestant pastor and theologian. He is best known for his book of woodcut maps titled Itinerarium Sacrae Scripturae (Travel book through Holy Scripture) first published in 1581. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:27, 6 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-19 == <section begin="technews-2024-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/19|Translations]] are available. '''Recent changes''' [[File:Talk_pages_default_look_(April_2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages changed for all wikis, except for Commons, Wikidata and most Wikipedias ([[m:Special:MyLanguage/Tech/News/2024/18|a few]] have already received this design change). You can read the detail of the changes [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. It is possible to opt-out these changes [[Special:Preferences#mw-prefsection-editing|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). The deployment will happen at remaining wikis in the coming weeks. [https://phabricator.wikimedia.org/T352087][https://phabricator.wikimedia.org/T319146] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Interface admins now have greater control over the styling of article components on mobile with the introduction of the <code>SiteAdminHelper</code>. More information on how styles can be disabled can be found [[mw:Special:MyLanguage/Extension:WikimediaMessages#Site_admin_helper|at the extension's page]]. [https://phabricator.wikimedia.org/T363932] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has added article body sections in JSON format and a curated short description field to the existing parsed Infobox. This expansion to the API is also available via Wikimedia Cloud Services. [https://enterprise.wikimedia.com/blog/article-sections-and-description/] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-08|en}}. It will be on all wikis from {{#time:j xg|2024-05-09|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * When you look at the Special:Log page, the first view is labelled "All public logs", but it only shows some logs. This label will now say "Main public logs". [https://phabricator.wikimedia.org/T237729] '''Future changes''' * A new service will be built to replace [[mw:Special:MyLanguage/Extension:Graph|Extension:Graph]]. Details can be found in [[mw:Special:MyLanguage/Extension:Graph/Plans|the latest update]] regarding this extension. * Starting May 21, English Wikipedia and German Wikipedia will get the possibility to activate "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]". This is part of the [[phab:T304110|progressive deployment of this tool to all Wikipedias]]. These communities can [[mw:Special:MyLanguage/Growth/Community configuration|activate and configure the feature locally]]. [https://phabricator.wikimedia.org/T308144] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:45, 6 May 2024 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26729363 --> == Wikipedia translation of the week: 2024-20 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:var(--background-color-backdrop-dark, #DDDDDD); border:1px solid #BBBBBB; color:var(--color-inverted, #000000); padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ruyan (district)]]'''<br /> <small>''([[:fa:رویان (طبرستان)]])''</small> </div> Please be bold and help translate this article! ---- [[File:Northern Iran and its surroundings during the Iranian intermezzo.svg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Ruyan''' (Persian: رویان), later known as Rustamdar (رستمدار), was the name of a mountainous district that encompassed the western part of Tabaristan/Mazandaran, a region on the Caspian coast of northern Iran. In Iranian mythology, Ruyan appears as one of the places that the legendary archer Arash shot his arrow from, reaching the edge of Khorasan to mark the border between Iran and Turan. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:39, 13 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26755244 --> == Tech News: 2024-20 == <section begin="technews-2024-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/20|Translations]] are available. '''Recent changes''' * On Wikisource there is a special page listing pages of works without corresponding scan images. Now you can use the new magic word <bdi lang="zxx" dir="ltr"><code>__EXPECTWITHOUTSCANS__</code></bdi> to exclude certain pages (list of editions or translations of works) from that list. [https://phabricator.wikimedia.org/T344214] * If you use the [[Special:Preferences#mw-prefsection-editing|user-preference]] "{{int:tog-uselivepreview}}", then the template-page feature "{{int:Templatesandbox-editform-legend}}" will now also work without reloading the page. [https://phabricator.wikimedia.org/T136907] * [[mw:Special:Mylanguage/Extension:Kartographer|Kartographer]] maps can now specify an alternative text via the <bdi lang="zxx" dir="ltr"><code><nowiki>alt=</nowiki></code></bdi> attribute. This is identical in usage to the <bdi lang="zxx" dir="ltr"><code><nowiki>alt=</nowiki></code></bdi> attribute in the [[mw:Special:MyLanguage/Help:Images#Syntax|image and gallery syntax]]. An exception for this feature is wikis like Wikivoyage where the miniature maps are interactive. [https://phabricator.wikimedia.org/T328137] * The old [[mw:Special:MyLanguage/Extension:GuidedTour|Guided Tour]] for the "[[mw:Special:MyLanguage/Edit Review Improvements/New filters for edit review|New Filters for Edit Review]]" feature has been removed. It was created in 2017 to show people with older accounts how the interface had changed, and has now been seen by most of the intended people. [https://phabricator.wikimedia.org/T217451] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-15|en}}. It will be on all wikis from {{#time:j xg|2024-05-16|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[{{#special:search}}]] results page will now use CSS flex attributes, for better accessibility, instead of a table. If you have a gadget or script that adjusts search results, you should update your script to the new HTML structure. [https://phabricator.wikimedia.org/T320295] '''Future changes''' * In the Vector 2022 skin, main pages will be displayed at full width (like special pages). The goal is to keep the number of characters per line large enough. This is related to the coming changes to typography in Vector 2022. [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates|Learn more]]. [https://phabricator.wikimedia.org/T357706] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Two columns of the <bdi lang="zxx" dir="ltr"><code>[[mw:Special:MyLanguage/Manual:pagelinks table|pagelinks]]</code></bdi> database table (<bdi lang="zxx" dir="ltr"><code>pl_namespace</code></bdi> and <bdi lang="zxx" dir="ltr"><code>pl_title</code></bdi>) are being dropped soon. Users must use two columns of the new <bdi lang="zxx" dir="ltr"><code>[[mw:special:MyLanguage/Manual:linktarget table|linktarget]]</code></bdi> table instead (<bdi lang="zxx" dir="ltr"><code>lt_namespace</code></bdi> and <bdi lang="zxx" dir="ltr"><code>lt_title</code></bdi>). In your existing SQL queries: *# Replace <bdi lang="zxx" dir="ltr"><code>JOIN pagelinks</code></bdi> with <bdi lang="zxx" dir="ltr"><code>JOIN linktarget</code></bdi> and <bdi lang="zxx" dir="ltr"><code>pl_</code></bdi> with <bdi lang="zxx" dir="ltr"><code>lt_</code></bdi> in the <bdi lang="zxx" dir="ltr"><code>ON</code></bdi> statement *# Below that add <bdi lang="zxx" dir="ltr"><code>JOIN pagelinks ON lt_id = pl_target_id</code></bdi> ** See <bdi lang="en" dir="ltr">[[phab:T222224]]</bdi> for technical reasoning. [https://phabricator.wikimedia.org/T222224][https://phabricator.wikimedia.org/T299947] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:59, 13 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26762074 --> == Wikipedia translation of the week: 2024-21 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Turlough (lake)]]'''<br /> <small>''([[:de:Turlough]])&#32;([[:no:Turlough]])''</small> </div> Please be bold and help translate this article! ---- [[File:Carran Turlough.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''turlough''' is a seasonal or periodic water body found mostly in limestone karst areas of Ireland, west of the River Shannon. [...] The water bodies fill and empty with the changes in the level of the water table, usually being very low or empty during summer and autumn and full in the winter. As groundwater levels drop the water drains away underground through cracks in the karstic limestone. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:31, 20 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26789673 --> == Tech News: 2024-21 == <section begin="technews-2024-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/21|Translations]] are available. '''Recent changes''' * The [[mw:Special:MyLanguage/Extension:Nuke|Nuke]] feature, which enables administrators to mass delete pages, will now correctly delete pages which were moved to another title. [https://phabricator.wikimedia.org/T43351] * New changes have been made to the UploadWizard in Wikimedia Commons: the overall layout has been improved, by following new styling and spacing for the form and its fields; the headers and helper text for each of the fields was changed; the Caption field is now a required field, and there is an option for users to copy their caption into the media description. [https://commons.wikimedia.org/wiki/Commons:WMF_support_for_Commons/Upload_Wizard_Improvements#Changes_to_%22Describe%22_workflow][https://phabricator.wikimedia.org/T361049] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.6|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-22|en}}. It will be on all wikis from {{#time:j xg|2024-05-23|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML used to render all headings [[mw:Heading_HTML_changes|is being changed to improve accessibility]]. It will change on 22 May in some skins (Timeless, Modern, CologneBlue, Nostalgia, and Monobook). Please test gadgets on your wiki on these skins and [[phab:T13555|report any related problems]] so that they can be resolved before this change is made in all other skins. The developers are also considering the introduction of a [[phab:T337286|Gadget API for adding buttons to section titles]] if that would be helpful to tool creators, and would appreciate any input you have on that. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:04, 20 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26786311 --> == Wikipedia translation of the week: 2024-22 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Geiranger Church]]'''<br /> <small>''([[:no:Geiranger kirke]])''</small> </div> Please be bold and help translate this article! ---- [[File:Iglesia parroquial, Geiranger, Noruega, 2019-09-07, DD 84-97 PAN.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Geiranger Church''' (Norwegian: Geiranger kyrkje) is a parish church of the Church of Norway in Stranda Municipality in Møre og Romsdal county, Norway. It is located in the village of Geiranger, and the end of the famous Geirangerfjorden. It is the church for the Geiranger parish which is part of the Nordre Sunnmøre prosti (deanery) in the Diocese of Møre. The white, wooden church was built in an octagonal design in 1842 using plans drawn up by the architect Hans Klipe. The church seats about 165 people. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:48, 27 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26828106 --> == Tech News: 2024-22 == <section begin="technews-2024-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/22|Translations]] are available. '''Recent changes''' * Several bugs related to the latest updates to the UploadWizard on Wikimedia Commons have been fixed. For more information, see [[:phab:T365107|T365107]] and [[:phab:T365119|T365119]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] In March 2024 a new [[mw:ResourceLoader/Core_modules#addPortlet|addPortlet]] API was added to allow gadgets to create new portlets (menus) in the skin. In certain skins this can be used to create dropdowns. Gadget developers are invited to try it and [[phab:T361661|give feedback]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Some CSS in the Minerva skin has been removed to enable easier community configuration. Interface editors should check the rendering on mobile devices for aspects related to the classes: <bdi lang="zxx" dir="ltr"><code>.collapsible</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.multicol</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.reflist</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.coordinates</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.topicon</code></bdi>. [[phab:T361659|Further details are available on replacement CSS]] if it is needed. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-29|en}}. It will be on all wikis from {{#time:j xg|2024-05-30|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * When you visit a wiki where you don't yet have a local account, local rules such as edit filters can sometimes prevent your account from being created. Starting this week, MediaWiki takes your global rights into account when evaluating whether you can override such local rules. [https://phabricator.wikimedia.org/T316303] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:15, 28 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26832205 --> == Wikipedia translation of the week: 2024-23 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Guillermo Larrazábal]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Guillermo Larrazábal Arzubide''' (10 February 1907 – 1983) was a Spanish stained glass artist who was active in Ecuador. He is considered Ecuador's most important stained glass artist. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:14, 3 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26828106 --> == Tech News: 2024-23 == <section begin="technews-2024-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/23|Translations]] are available. '''Recent changes''' * It is now possible for local administrators to add new links to the bottom of the site Tools menu without JavaScript. [[mw:Manual:Interface/Sidebar#Add or remove toolbox sections|Documentation is available]]. [https://phabricator.wikimedia.org/T6086] * The message name for the definition of the tracking category of WikiHiero has changed from "<bdi lang="zxx" dir="ltr"><code>MediaWiki:Wikhiero-usage-tracking-category</code></bdi>" to "<bdi lang="zxx" dir="ltr"><code>MediaWiki:Wikihiero-usage-tracking-category</code></bdi>". [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/wikihiero/+/1035855] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q5317225|Kadazandusun]] ([[w:dtp:|<code>w:dtp:</code>]]) [https://phabricator.wikimedia.org/T365220] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.8|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-05|en}}. It will be on all wikis from {{#time:j xg|2024-06-06|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * Next week, on wikis with the Vector 2022 skin as the default, logged-out desktop users will be able to choose between different font sizes. The default font size will also be increased for them. This is to make Wikimedia projects easier to read. [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-06 deployments|Learn more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:35, 3 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26844397 --> == Tech News: 2024-24 == <section begin="technews-2024-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/24|Translations]] are available. '''Recent changes''' * The software used to render SVG files has been updated to a new version, fixing many longstanding bugs in SVG rendering. [https://phabricator.wikimedia.org/T265549] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML used to render all headings [[mw:Heading HTML changes|is being changed to improve accessibility]]. It was changed last week in some skins (Vector legacy and Minerva). Please test gadgets on your wiki on these skins and [[phab:T13555|report any related problems]] so that they can be resolved before this change is made in Vector-2022. The developers are still considering the introduction of a [[phab:T337286|Gadget API for adding buttons to section titles]] if that would be helpful to tool creators, and would appreciate any input you have on that. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML markup used for citations by [[mw:Special:MyLanguage/Parsoid|Parsoid]] changed last week. In places where Parsoid previously added the <bdi lang="zxx" dir="ltr"><code>mw-reference-text</code></bdi> class, Parsoid now also adds the <bdi lang="zxx" dir="ltr"><code>reference-text</code></bdi> class for better compatibility with the legacy parser. [[mw:Specs/HTML/2.8.0/Extensions/Cite/Announcement|More details are available]]. [https://gerrit.wikimedia.org/r/1036705] '''Problems''' * There was a bug with the Content Translation interface that caused the tools menus to appear in the wrong location. This has now been fixed. [https://phabricator.wikimedia.org/T366374] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-12|en}}. It will be on all wikis from {{#time:j xg|2024-06-13|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The new version of MediaWiki includes another change to the HTML markup used for citations: [[mw:Special:MyLanguage/Parsoid|Parsoid]] will now generate a <bdi lang="zxx" dir="ltr"><code><nowiki><span class="mw-cite-backlink"></nowiki></code></bdi> wrapper for both named and unnamed references for better compatibility with the legacy parser. Interface administrators should verify that gadgets that interact with citations are compatible with the new markup. [[mw:Specs/HTML/2.8.0/Extensions/Cite/Announcement|More details are available]]. [https://gerrit.wikimedia.org/r/1035809] * On multilingual wikis that use the <bdi lang="zxx" dir="ltr"><code><nowiki><translate></nowiki></code></bdi> system, there is a feature that shows potentially-outdated translations with a pink background until they are updated or confirmed. From this week, confirming translations will be logged, and there is a new user-right that can be required for confirming translations if the community [[m:Special:MyLanguage/Requesting wiki configuration changes|requests it]]. [https://phabricator.wikimedia.org/T49177] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:20, 10 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26893898 --> == Wikipedia translation of the week: 2024-25 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:de:Magdalena Zeger]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Magdalena Zeger''' ([mak.da.ˈleː.na ˈt͡seː.gɐ], * 1491; † 16. January 1568 in Kolding) was a calendar maker, astronomer and astrologist. Her Hamburg almanacs and forecasts from 1561 and 1563 have been preserved. Zeger's calendars are the first independent publications by a woman in the field of astronomy. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:29, 17 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26940351 --> == Tech News: 2024-25 == <section begin="technews-2024-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/25|Translations]] are available. '''Recent changes''' * People who attempt to add an external link in the visual editor will now receive immediate feedback if they attempt to link to a domain that a project has decided to block. Please see [[mw:Special:MyLanguage/Edit_check#11_June_2024|Edit check]] for more details. [https://phabricator.wikimedia.org/T366751] * The new [[mw:Special:MyLanguage/Extension:CommunityConfiguration|Community Configuration extension]] is available [[testwiki:Special:CommunityConfiguration|on Test Wikipedia]]. This extension allows communities to customize specific features to meet their local needs. Currently only Growth features are configurable, but the extension will support other [[mw:Special:MyLanguage/Community_configuration#Use_cases|Community Configuration use cases]] in the future. [https://phabricator.wikimedia.org/T323811][https://phabricator.wikimedia.org/T360954] * The dark mode [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] is now available on category and help pages, as well as more special pages. There may be contrast issues. Please report bugs on the [[mw:Talk:Reading/Web/Accessibility_for_reading|project talk page]]. [https://phabricator.wikimedia.org/T366370] '''Problems''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Cloud Services tools were not available for 25 minutes last week. This was caused by a faulty hardware cable in the data center. [https://wikitech.wikimedia.org/wiki/Incidents/2024-06-11_WMCS_Ceph] * Last week, styling updates were made to the Vector 2022 skin. This caused unforeseen issues with templates, hatnotes, and images. Changes to templates and hatnotes were reverted. Most issues with images were fixed. If you still see any, [[phab:T367463|report them here]]. [https://phabricator.wikimedia.org/T367480] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-19|en}}. It will be on all wikis from {{#time:j xg|2024-06-20|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting June 18, the [[mw:Special:MyLanguage/Help:Edit check#ref|Reference Edit Check]] will be deployed to [[phab:T361843|a new set of Wikipedias]]. This feature is intended to help newcomers and to assist edit-patrollers by inviting people who are adding new content to a Wikipedia article to add a citation when they do not do so themselves. During [[mw:Special:MyLanguage/Edit_check#Reference_Check_A/B_Test|a test at 11 wikis]], the number of citations added [https://diff.wikimedia.org/?p=127553 more than doubled] when Reference Check was shown to people. Reference Check is [[mw:Special:MyLanguage/Edit check/Configuration|community configurable]]. [https://phabricator.wikimedia.org/T361843]<!-- NOTE: THE DIFF BLOG WILL BE PUBLISHED ON MONDAY --> * [[m:Special:MyLanguage/Mailing_lists|Mailing lists]] will be unavailable for roughly two hours on Tuesday 10:00–12:00 UTC. This is to enable migration to a new server and upgrade its software. [https://phabricator.wikimedia.org/T367521] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:49, 17 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26911987 --> == Wikipedia translation of the week: 2024-26 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Koreans in Micronesia]]'''<br /> <small>''([[:zh:朝鮮裔密克羅尼西亞人]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Koreans in Micronesia''' used to form a significant population before World War II, when most of the region was ruled as the South Seas Mandate of the Empire of Japan; for example, they formed 7.3% of the population of Palau in 1943. However, after the area came under the control of the United States as the Trust Territory of the Pacific Islands, most Koreans returned to their homeland. As of 2013, about seven thousand South Korean expatriates & immigrants and Korean Americans reside in the Marianas (Guam and the Commonwealth of the Northern Mariana Islands), which have remained under U.S. control, while only around two hundred South Korean expatriates reside in the independent countries of Micronesia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 04:03, 24 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26940351 --> == Tech News: 2024-26 == <section begin="technews-2024-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/26|Translations]] are available. '''Recent changes''' * Editors will notice that there have been some changes to the background color of text in the diff view, and the color of the byte-change numbers, last week. These changes are intended to make text more readable in both light mode and dark mode, and are part of a larger effort to increase accessibility. You can share your comments or questions [[mw:Talk:Reading/Web/Accessibility for reading|on the project talkpage]]. [https://phabricator.wikimedia.org/T361717] * The text colors that are used for visited-links, hovered-links, and active-links, were also slightly changed last week to improve their accessibility in both light mode and dark mode. [https://phabricator.wikimedia.org/T366515] '''Problems''' * You can [[mw:Special:MyLanguage/Help:DiscussionTools#Talk pages permalinking|copy permanent links to talk page comments]] by clicking on a comment's timestamp. [[mw:Talk pages project/Permalinks|This feature]] did not always work when the topic title was very long and the link was used as a wikitext link. This has been fixed. Thanks to Lofhi for submitting the bug. [https://phabricator.wikimedia.org/T356196] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.11|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-26|en}}. It will be on all wikis from {{#time:j xg|2024-06-27|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting 26 June, all talk pages messages' timestamps will become a link at English Wikipedia, making this feature available for you to use at all wikis. This link is a permanent link to the comment. It allows users to find the comment they were linked to, even if this comment has since been moved elsewhere. You can read more about this feature [[DiffBlog:/2024/01/29/talk-page-permalinks-dont-lose-your-threads/|on Diff]] or [[mw:Special:MyLanguage/Help:DiscussionTools#Talk pages permalinking|on Mediawiki.org]]. [https://phabricator.wikimedia.org/T365974] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:33, 24 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26989424 --> == Wikipedia translation of the week: 2024-27 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Roller printing on textiles]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Silverstudio.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Roller printing''' on fabrics is a textile printing process patented by Thomas Bell of Scotland in 1783 in an attempt to reduce the cost of the earlier copperplate printing. This method was used in Lancashire fabric mills to produce cotton dress fabrics from the 1790s, most often reproducing small monochrome patterns characterized by striped motifs and tiny dotted patterns called "machine grounds". Improvements in the technology resulted in more elaborate roller prints in bright, rich colours from the 1820s; Turkey red and chrome yellow were particularly popular. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:44, 1 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-27 == <section begin="technews-2024-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/27|Translations]] are available. '''Recent changes''' * Over the next three weeks, dark mode will become available for all users, both logged-in and logged-out, starting with the mobile web version. This fulfils one of the [[m:Special:MyLanguage/Community_Wishlist_Survey_2023/Reading/Dark_mode|top-requested community wishes]], and improves low-contrast reading and usage in low-light settings. As part of these changes, dark mode will also work on User-pages and Portals. There is more information in [[mw:Special:MyLanguage/Reading/Web/Accessibility_for_reading/Updates#June_2024:_Typography_and_dark_mode_deployments,_new_global_preferences|the latest Web team update]]. [https://phabricator.wikimedia.org/T366364] * Logged-in users can now set [[m:Special:GlobalPreferences#mw-prefsection-rendering-skin-skin-prefs|global preferences for the text-size and dark-mode]], thanks to a combined effort across Foundation teams. This allows Wikimedians using multiple wikis to set up a consistent reading experience easily, for example by switching between light and dark mode only once for all wikis. [https://phabricator.wikimedia.org/T341278] * If you use a very old web browser some features might not work on the Wikimedia wikis. This affects Internet Explorer 11 and versions of Chrome, Firefox and Safari older than 2016. This change makes it possible to use new [[d:Q46441|CSS]] features and to send less code to all readers. [https://phabricator.wikimedia.org/T288287][https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:How_to_make_a_MediaWiki_skin#Using_CSS_variables_for_supporting_different_themes_e.g._dark_mode] * Wikipedia Admins can customize local wiki configuration options easily using [[mw:Special:MyLanguage/Community Configuration|Community Configuration]]. Community Configuration was created to allow communities to customize how some features work, because each language wiki has unique needs. At the moment, admins can configure [[mw:Special:MyLanguage/Growth/Feature_summary|Growth features]] on their home wikis, in order to better recruit and retain new editors. More options will be provided in the coming months. [https://phabricator.wikimedia.org/T366458] * Editors interested in language issues that are related to [[w:en:Unicode|Unicode standards]], can now discuss those topics at [[mw:Talk:WMF membership with Unicode Consortium|a new conversation space in MediaWiki.org]]. The Wikimedia Foundation is now a [[mw:Special:MyLanguage/WMF membership with Unicode Consortium|member of the Unicode Consortium]], and the coordination group can collaboratively review the issues discussed and, where appropriate, bring them to the attention of the Unicode Consortium. * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q2891049|Mandailing]] ([[w:btm:|<code>w:btm:</code>]]) [https://phabricator.wikimedia.org/T368038] '''Problems''' * Editors can once again click on links within the visual editor's citation-preview, thanks to a bug fix by the Editing Team. [https://phabricator.wikimedia.org/T368119] '''Future changes''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 2 weeks. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:59, 1 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27038456 --> == Wikipedia translation of the week: 2024-28 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:simple:India naming dispute]]'''<br /> <small>''([[:ur:انڈیا نام کا تنازعہ]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''India naming dispute''' in 1947 refers to the argument over the use of the name India during and after the partition of British Raj, between the countries of Pakistan and the Republic of India. This dispute involved key figures such as Lord Mountbatten, the last Viceroy of British Raj, and Muhammad Ali Jinnah, the leader of the Muslim League and a founder of Pakistan. By 1947, the British Raj was going to be divided into two new nation states – Hindustan and Pakistan. Jinnah was initially convinced that Hindustan would not use the term India, since it lacked indigenous pedigree, etymologically and historically India meant the Indus Valley (modern-Pakistan). He also opposed the use of the name India as it would cause confusion regarding history. The disagreement had significant implications for national identity and international recognition. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 8 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-28 == <section begin="technews-2024-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/28|Translations]] are available. '''Recent changes''' * At the Wikimedia Foundation a new task force was formed to replace the disabled Graph with [[mw:Special:MyLanguage/Extension:Chart/Project|more secure, easy to use, and extensible Chart]]. You can [[mw:Special:MyLanguage/Newsletter:Chart Project|subscribe to the newsletter]] to get notified about new project updates and other news about Chart. * The [[m:Special:MyLanguage/CampaignEvents|CampaignEvents]] extension is now available on Meta-wiki, Igbo Wikipedia, and Swahili Wikipedia, and can be requested on your wiki. This extension helps in managing and making events more visible, giving Event organizers the ability to use tools like the Event registration tool. To learn more about the deployment status and how to request this extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment_status|CampaignEvents page on Meta-wiki]]. * Editors using the iOS Wikipedia app who have more than 50 edits can now use the [[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits#Add an image|Add an Image]] feature. This feature presents opportunities for small but useful contributions to Wikipedia. * Thank you to [[mw:MediaWiki Product Insights/Contributor retention and growth/Celebration|all of the authors]] who have contributed to MediaWiki Core. As a result of these contributions, the [[mw:MediaWiki Product Insights/Contributor retention and growth|percentage of authors contributing more than 5 patches has increased by 25% since last year]], which helps ensure the sustainability of the platform for the Wikimedia projects. '''Problems''' * A problem with the color of the talkpage tabs always showing as blue, even for non-existent pages which should have been red, affecting the Vector 2022 skin, [[phab:T367982|has been fixed]]. '''Future changes''' * The Trust and Safety Product team wants to introduce [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] with as little disruption to tools and workflows as possible. Volunteer developers, including gadget and user-script maintainers, are kindly asked to update the code of their tools and features to handle temporary accounts. The team has [[mw:Trust and Safety Product/Temporary Accounts/For developers|created documentation]] explaining how to do the update. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers/2024-04 CTA|Learn more]]. '''Tech News survey''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 1 more week. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:32, 8 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27080357 --> == Wikipedia translation of the week: 2024-29 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Adumu]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Maasai 2012 05 31 2782 (7522645058).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Adumu''', is a type of dance that the Maasai people of Kenya and Tanzania practice. Young Maasai warriors generally perform the energetic and acrobatic dance at ceremonial occasions including weddings, religious rites, and other significant cultural events. The Adumu dance is characterized by a sequence of jumps performed by the dancers, who stand in a circle and alternately jump while keeping their bodies as straight and upright as possible. In addition to wearing vividly colored shúkàs (clothes) and beaded jewelry, the dancers are typically clad in traditional Maasai costume. Traditional Maasai songs and chants are also performed during the dance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:15, 15 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-29 == <section begin="technews-2024-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/29|Translations]] are available. '''Tech News survey''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 3 more days. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia developers can now officially continue to use both [[mw:Special:MyLanguage/Gerrit|Gerrit]] and [[mw:Special:MyLanguage/GitLab|GitLab]], due to a June 24 decision by the Wikimedia Foundation to support software development on both platforms. Gerrit and GitLab are both code repositories used by developers to write, review, and deploy the software code that supports the MediaWiki software that the wiki projects are built on, as well as the tools used by editors to create and improve content. This decision will safeguard the productivity of our developers and prevent problems in code review from affecting our users. More details are available in the [[mw:GitLab/Migration status|Migration status]] page. * The Wikimedia Foundation seeks applicants for the [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal|Product and Technology Advisory Council]] (PTAC). This group will bring technical contributors and Wikimedia Foundation together to co-define a more resilient, future-proof technological platform. Council members will evaluate and consult on the movement's product and technical activities, so that we develop multi-generational projects. We are looking for a range of technical contributors across the globe, from a variety of Wikimedia projects. [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal#Joining the PTAC as a technical volunteer|Please apply here by August 10]]. * Editors with rollback user-rights who use the Wikipedia App for Android can use the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Anti Vandalism|Edit Patrol]] features. These features include a new feed of Recent Changes, related links such as Undo and Rollback, and the ability to create and save a personal library of user talk messages to use while patrolling. If your wiki wants to make these features available to users who do not have rollback rights but have reached a certain edit threshold, [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android#Contact us|you can contact the team]]. You can [[diffblog:2024/07/10/ِaddressing-vandalism-with-a-tap-the-journey-of-introducing-the-patrolling-feature-in-the-mobile-app/|read more about this project on Diff blog]]. * Editors who have access to [[m:Special:MyLanguage/The_Wikipedia_Library|The Wikipedia Library]] can once again use non-open access content in SpringerLinks, after the Foundation [[phab:T368865|contacted]] them to restore access. You can read more about [[m:Tech/News/Recently_resolved_community_tasks|this and 21 other community-submitted tasks that were completed last week]]. '''Changes later this week''' * This week, [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-07 deployments|dark mode will be available on a number of Wikipedias]], both desktop and mobile, for logged-in and logged-out users. Interface admins and user script maintainers are encouraged to check gadgets and user scripts in the dark mode, to find any hard-coded colors and fix them. There are some [[mw:Special:MyLanguage/Recommendations for night mode compatibility on Wikimedia wikis|recommendations for dark mode compatibility]] to help. '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Next week, functionaries, volunteers maintaining tools, and software development teams are invited to test the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] feature on testwiki. Temporary accounts is a feature that will help improve privacy on the wikis. No further temporary account deployments are scheduled yet. Please [[mw:Talk:Trust and Safety Product/Temporary Accounts|share your opinions and questions on the project talk page]]. [https://phabricator.wikimedia.org/T348895] * Editors who upload files cross-wiki, or teach other people how to do so, may wish to join a Wikimedia Commons discussion. The Commons community is discussing limiting who can upload files through the cross-wiki upload/Upload dialog feature to users auto-confirmed on Wikimedia Commons. This is due to the large amount of copyright violations uploaded this way. There is a short summary at [[c:Special:MyLanguage/Commons:Cross-wiki upload|Commons:Cross-wiki upload]] and [[c:Commons:Village pump/Proposals#Deactivate cross-wiki uploads for new users|discussion at Commons:Village Pump]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' You can also get other news from the [[m:Special:MyLanguage/Wikimedia Foundation Bulletin|Wikimedia Foundation Bulletin]]. </div><section end="technews-2024-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:31, 16 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27124561 --> == Wikipedia translation of the week: 2024-30 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Rathaus-Glockenspiel]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:2019-11-16, Glockenspiel, Neues Münchner Rathaus, IMG 7463 edit Christoph Braun.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Rathaus-Glockenspiel''' is a large mechanical clock located in Marienplatz Square, in the heart of Munich, Germany. Famous for its life-size characters, the clock twice daily re-enacts scenes from Munich's history. First is the story of the marriage of Duke Wilhelm V to Renata of Lorraine in 1568, followed by the story of the Schäfflerstanz, also known as the coopers' dance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 22 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-30 == <section begin="technews-2024-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/30|Translations]] are available. '''Feature News''' * Stewards can now [[:m:Special:MyLanguage/Global_blocks|globally block]] accounts. Before [[phab:T17294|the change]] only IP addresses and IP ranges could be blocked globally. Global account blocks are useful when the blocked user should not be logged out. [[:m:Special:MyLanguage/Global_locks|Global locks]] (a similar tool logging the user out of their account) are unaffected by this change. The new global account block feature is related to the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] project, which is a new type of user account that replaces IP addresses of unregistered editors that are no longer made public. * Later this week, Wikimedia site users will notice that the Interface of [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs]] (also known as "Pending Changes") is improved and consistent with the rest of the MediaWiki interface and [[mw:Special:MyLanguage/Codex|Wikimedia's design system]]. The FlaggedRevs interface experience on mobile and [[mw:Special:MyLanguage/Skin:MinervaNeue|Minerva skin]] was inconsistent before it was fixed and ported to [[mw:Special:MyLanguage/Codex|Codex]] by the WMF Growth team and some volunteers. [https://phabricator.wikimedia.org/T191156] * Wikimedia site users can now submit account vanishing requests via [[m:Special:GlobalVanishRequest|GlobalVanishRequest]]. This feature is used when a contributor wishes to stop editing forever. It helps you hide your past association and edit to protect your privacy. Once processed, the account will be locked and renamed. [https://phabricator.wikimedia.org/T367329] * Have you tried monitoring and addressing vandalism in Wikipedia using your phone? [https://diff.wikimedia.org/2024/07/10/%d9%90addressing-vandalism-with-a-tap-the-journey-of-introducing-the-patrolling-feature-in-the-mobile-app/ A Diff blog post on Patrolling features in the Mobile App] highlights some of the new capabilities of the feature, including swiping through a feed of recent changes and a personal library of user talk messages for use when patrolling from your phone. * Wikimedia contributors and GLAM (galleries, libraries, archives, and museums) organisations can now learn and measure the impact Wikimedia Commons is having towards creating quality encyclopedic content using the [https://doc.wikimedia.org/generated-data-platform/aqs/analytics-api/reference/commons.html Commons Impact Metrics] analytics dashboard. The dashboard offers organizations analytics on things like monthly edits in a category, the most viewed files, and which Wikimedia articles are using Commons images. As a result of these new data dumps, GLAM organisation can more reliably measure their return on investment for programs bringing content into the digital Commons. [https://diff.wikimedia.org/2024/07/19/commons-impact-metrics-now-available-via-data-dumps-and-api/] '''Project Updates''' * Come share your ideas for improving the wikis on the newly reopened [[m:Special:MyLanguage/Community Wishlist|Community Wishlist]]. The Community Wishlist is Wikimedia’s forum for volunteers to share ideas (called wishes) to improve how the wikis work. The new version of the wishlist is always open, works with both wikitext and Visual Editor, and allows wishes in any language. '''Learn more''' * Have you ever wondered how Wikimedia software works across over 300 languages? This is 253 languages more than the Google Chrome interface, and it's no accident. The Language and Product Localization Team at the Wikimedia Foundation supports your work by adapting all the tools and interfaces in the MediaWiki software so that contributors in our movement who translate pages and strings can translate them and have the sites in all languages. Read more about the team and their upcoming work on [https://diff.wikimedia.org/2024/07/17/building-towards-a-robust-multilingual-knowledge-ecosystem-for-the-wikimedia-movement/ Diff]. * How can Wikimedia build innovative and experimental products while maintaining such heavily used websites? A recent [https://diff.wikimedia.org/2024/07/09/on-the-value-of-experimentation/ blog post] by WMF staff Johan Jönsson highlights the work of the [[m:Future Audiences#Objectives and Key Results|WMF Future Audience initiative]], where the goal is not to build polished products but test out new ideas, such as a [[m:Future_Audiences/Experiments: conversational/generative AI|ChatGPT plugin]] and [[m:Future_Audiences/Experiment:Add a Fact|Add a Fact]], to help take Wikimedia into the future. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' You can also get other news from the [[m:Special:MyLanguage/Wikimedia Foundation Bulletin|Wikimedia Foundation Bulletin]]. </div><section end="technews-2024-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:05, 23 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27142915 --> == Wikipedia translation of the week: 2024-31 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Nederlandsche Cocaïnefabriek]]'''<br /> <small>''([[:es:Nederlandsche Cocaïnefabriek]])&#32;([[:nl:Nederlandsche Cocaïnefabriek]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Nederlandsche Cocainefabriek Schinkelstraat Amsterdam architect HH Baanders 1902.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Nederlandsche Cocaïnefabriek''' (Dutch pronunciation: [ˈneːdərlɑntsə koːkaːˈinəfaːˌbrik]; English: Dutch Cocaine Factory) or NCF was an Amsterdam-based company producing cocaine for medical purposes in the 20th century. It imported its raw materials mainly from the Dutch East Indies and sold its products across Europe, making good profits especially in the early years of World War I. The NCF produced morphine, heroin and ephedrine as well. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:44, 29 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27150339 --> == Tech News: 2024-31 == <section begin="technews-2024-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/31|Translations]] are available. '''Feature news''' * Editors using the Visual Editor in languages that use non-Latin characters for numbers, such as Hindi, Manipuri and Eastern Arabic, may notice some changes in the formatting of reference numbers. This is a side effect of preparing a new sub-referencing feature, and will also allow fixing some general numbering issues in Visual Editor. If you notice any related problems on your wiki, please share details at the [[m:Talk:WMDE Technical Wishes/Sub-referencing|project talkpage]]. '''Bugs status''' * Some logged-in editors were briefly unable to edit or load pages last week. [[phab:T370304|These errors]] were mainly due to the addition of new [[mw:Special:MyLanguage/Help:Extension:Linter|linter]] rules which led to caching problems. Fixes have been applied and investigations are continuing. * Editors can use the [[mw:Special:MyLanguage/Trust and Safety Product/IP Info|IP Information tool]] to get information about IP addresses. This tool is available as a Beta Feature in your preferences. The tool was not available for a few days last week, but is now working again. Thank you to Shizhao for filing the bug report. You can read about that, and [[m:Tech/News/Recently resolved community tasks#2024-07-25|28 other community-submitted tasks]] that were resolved last week. '''Project updates''' * There are new features and improvements to Phabricator from the Release Engineering and Collaboration Services teams, and some volunteers, including: the search systems, the new task creation system, the login systems, the translation setup which has resulted in support for more languages (thanks to Pppery), and fixes for many edge-case errors. You can [[phab:phame/post/view/316/iterative_improvements/|read details about these and other improvements in this summary]]. * There is an [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|update on the Charts project]]. The team has decided which visualization library to use, which chart types to start focusing on, and where to store chart definitions. * One new wiki has been created: a {{int:project-localized-name-group-wikivoyage}} in [[d:Q9056|Czech]] ([[voy:cs:|<code>voy:cs:</code>]]) [https://phabricator.wikimedia.org/T370905] '''Learn more''' * There is a [[diffblog:2024/07/26/the-journey-to-open-our-first-data-center-in-south-america/|new Wikimedia Foundation data center]] in São Paulo, Brazil which helps to reduce load times. * There is new [[diffblog:2024/07/22/the-perplexing-process-of-uploading-images-to-wikipedia/|user research]] on problems with the process of uploading images. * Commons Impact Metrics are [[diffblog:2024/07/19/commons-impact-metrics-now-available-via-data-dumps-and-api/|now available]] via data dumps and API. * The latest quarterly [[mw:Technical Community Newsletter/2024/July|Technical Community Newsletter]] is now available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:11, 29 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27164109 --> == Wikipedia translation of the week: 2024-32 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Suffrage drama]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pamphlet from NAWSA for women's suffrage plays, page 1.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Suffrage drama''' (also known as suffrage plays or suffrage theatre) is a form of dramatic literature that emerged during the British women's suffrage movement in the early twentieth century. Suffrage performances lasted approximately from 1907-1914. Many suffrage plays called for a predominant or all female cast. Suffrage plays served to reveal issues behind the suffrage movement. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 5 August 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27150339 --> == Tech News: 2024-32 == <section begin="technews-2024-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/32|Translations]] are available. '''Feature news''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Two new parser functions will be available this week: <code><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic_words#dir|#dir]]<nowiki>}}</nowiki></code> and <code><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic_words#bcp47|#bcp47]]<nowiki>}}</nowiki></code>. These will reduce the need for <code>Template:Dir</code> and <code>Template:BCP47</code> on Commons and allow us to [[phab:T343131|drop 100 million rows]] from the "what links here" database. Editors at any wiki that use these templates, can help by replacing the templates with these new functions. The templates at Commons will be updated during the Hackathon at Wikimania. [https://phabricator.wikimedia.org/T359761][https://phabricator.wikimedia.org/T366623] * Communities can request the activation of the visual editor on entire namespaces where discussions sometimes happen (for instance ''Wikipedia:'' or ''Wikisource:'' namespaces) if they understand the [[mw:Special:MyLanguage/Help:VisualEditor/FAQ#WPNS|known limitations]]. For discussions, users can already use [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]] in these namespaces. * The tracking category "Pages using Timeline" has been renamed to "Pages using the EasyTimeline extension" [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3ATimeline-tracking-category&namespace=8 in TranslateWiki]. Wikis that have created the category locally should rename their local creation to match. '''Project updates''' * Editors who help to organize WikiProjects and similar on-wiki collaborations, are invited to share ideas and examples of successful collaborations with the Campaigns and Programs teams. You can fill out [[m:Special:MyLanguage/Campaigns/WikiProjects|a brief survey]] or share your thoughts [[m:Talk:Campaigns/WikiProjects|on the talkpage]]. The teams are particularly looking for details about successful collaborations on non-English wikis. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The new parser is being rolled out on {{int:project-localized-name-group-wikivoyage}} wikis over the next few months. The {{int:project-localized-name-enwikivoyage}} and {{int:project-localized-name-hewikivoyage}} were [[phab:T365367|switched]] to Parsoid last week. For more information, see [[mw:Parsoid/Parser_Unification|Parsoid/Parser Unification]]. '''Learn more''' * There will be more than 200 sessions at Wikimania this week. Here is a summary of some of the [[diffblog:2024/08/05/interested-in-product-and-tech-here-are-some-wikimania-sessions-you-dont-want-to-miss/|key sessions related to the product and technology area]]. * The latest [[m:Special:MyLanguage/Wikimedia Foundation Bulletin/2024/07-02|Wikimedia Foundation Bulletin]] is available. * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2024/July|Language and Internationalization newsletter]] is available. It includes: New design previews for Translatable pages; Updates about MinT for Wiki Readers; the release of Translation dumps; and more. * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/31|Growth newsletter]] is available. * The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/July 2024|MediaWiki Product Insights newsletter]] is available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 5 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27233905 --> == Wikipedia translation of the week: 2024-33 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Karatgurk]]'''<br /> <small>''([[:it:Karatgurk]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In the Australian Aboriginal mythology of the Aboriginal people of south-eastern Australian state of Victoria, the '''Karatgurk''' were seven sisters who represented the constellation known in western astronomy as the Pleiades. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 12 August 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27264174 --> == Tech News: 2024-33 == <section begin="technews-2024-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/33|Translations]] are available. '''Feature news''' * [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] editors and maintainers can now [[mw:Special:MyLanguage/Extension:AbuseFilter/Actions#Show a CAPTCHA|make a CAPTCHA show if a filter matches an edit]]. This allows communities to quickly respond to spamming by automated bots. [https://phabricator.wikimedia.org/T20110] * [[m:Special:MyLanguage/Stewards|Stewards]] can now specify if global blocks should prevent account creation. Before [[phab:T17273|this change]] by the [[mw:Special:MyLanguage/Trust and Safety Product|Trust and Safety Product]] Team, all global blocks would prevent account creation. This will allow stewards to reduce the unintended side-effects of global blocks on IP addresses. '''Project updates''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#August_2024_committee_nominations|Nominations are open on Wikitech]] for new members to refresh the [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]]. The committee oversees the Toolforge [[wikitech:Help:Toolforge/Right to fork policy|Right to fork policy]] and [[wikitech:Help:Toolforge/Abandoned tool policy|Abandoned tool policy]] among other duties. Nominations will remain open until at least 2024-08-26. * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q2880037|West Coast Bajau]] ([[w:bdr:|<code>w:bdr:</code>]]) [https://phabricator.wikimedia.org/T371757] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:22, 12 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27253654 --> == Wikipedia translation of the week: 2024-34 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:B1 (classification)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''B1''' is a medical-based Paralympic classification for blind sport. Athletes in this classification are totally or almost totally blind. It is used by a number of blind sports including blind tennis, para-alpine skiing, para-Nordic skiing, blind cricket, blind golf, five-a-side football, goalball and judo. Some other sports, including adaptive rowing, athletics and swimming, have equivalents to this class. The B1 classification was first created by the IBSA in the 1970s, and has largely remained unchanged since despite an effort by the International Paralympic Committee (IPC) to move towards a more functional and evidence-based classification system. Classification is often handled on the international level by the International Blind Sports Federation (IBSA) but it sometimes handled by national sport federations. There are exceptions for sports like athletics and cycling, where classification is handled by their own governing bodies. Equipment utilized by competitors in this class may differ from sport to sport, and may include sighted guides, guide rails, beeping balls and clapsticks. There may be some modifications related to equipment and rules to specifically address needs of competitors in this class to allow them to compete in specific sports. Some sports specifically do not allow a guide, whereas cycling and skiing require one. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 19 August 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27278917 --> == Tech News: 2024-34 == <section begin="technews-2024-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/34|Translations]] are available. '''Feature news''' * Editors who want to re-use references but with different details such as page numbers, will be able to do so by the end of 2024, using a new [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Sub-referencing in a nutshell|sub-referencing]] feature. You can read more [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|about the project]] and [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Test|how to test the prototype]]. * Editors using tracking categories to identify which pages use specific extensions may notice that six of the categories have been renamed to make them more easily understood and consistent. These categories are automatically added to pages that use specialized MediaWiki extensions. The affected names are for: [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Aintersection-category&namespace=8 DynamicPageList], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Akartographer-tracking-category&namespace=8 Kartographer], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Aphonos-tracking-category&namespace=8 Phonos], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Arss-tracking-category&namespace=8 RSS], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Ascore-use-category&namespace=8 Score], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Awikihiero-usage-tracking-category&namespace=8 WikiHiero]. Wikis that have created the category locally should rename their local creation to match. Thanks to Pppery for these improvements. [https://phabricator.wikimedia.org/T347324] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Technical volunteers who edit modules and want to get a list of the categories used on a page, can now do so using the <code><bdi lang="zxx" dir="ltr">categories</bdi></code> property of <code><bdi lang="zxx" dir="ltr">[[mediawikiwiki:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Title objects|mw.title objects]]</bdi></code>. This enables wikis to configure workflows such as category-specific edit notices. Thanks to SD001 for these improvements. [https://phabricator.wikimedia.org/T50175][https://phabricator.wikimedia.org/T85372] '''Bugs status''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Your help is needed to check if any pages need to be moved or deleted. A maintenance script was run to clean up unreachable pages (due to Unicode issues or introduction of new namespaces/namespace aliases). The script tried to find appropriate names for the pages (e.g. by following the Unicode changes or by moving pages whose titles on Wikipedia start with <code>Talk:WP:</code> so that their titles start with <code>Wikipedia talk:</code>), but it may have failed for some pages, and moved them to <bdi lang="zxx" dir="ltr">[[Special:PrefixIndex/T195546/]]</bdi> instead. Your community should check if any pages are listed there, and move them to the correct titles, or delete them if they are no longer needed. A full log (including pages for which appropriate names could be found) is available in [[phab:P67388]]. * Editors who volunteer as [[mw:Special:MyLanguage/Help:Growth/Mentorship|mentors]] to newcomers on their wiki are once again able to access lists of potential mentees who they can connect with to offer help and guidance. This functionality was restored thanks to [[phab:T372164|a bug fix]]. Thank you to Mbch331 for filing the bug report. You can read about that, and 18 other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Project updates''' * The application deadline for the [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal|Product & Technology Advisory Council]] (PTAC) has been extended to September 16. Members will help by providing advice to Foundation Product and Technology leadership on short and long term plans, on complex strategic problems, and help to get feedback from more contributors and technical communities. Selected members should expect to spend roughly 5 hours per month for the Council, during the one year pilot. Please consider applying, and spread the word to volunteers you think would make a positive contribution to the committee. '''Learn more''' * The [[m:Special:MyLanguage/Coolest Tool Award#2024 Winners|2024 Coolest Tool Awards]] were awarded at Wikimania, in seven categories. For example, one award went to the ISA Tool, used for adding structured data to files on Commons, which was recently improved during the [[m:Event:Wiki Mentor Africa ISA Hackathon 2024|Wiki Mentor Africa Hackathon]]. You can see video demonstrations of each tool at the awards page. Congratulations to this year's recipients, and thank you to all tool creators and maintainers. * The latest [[m:Special:MyLanguage/Wikimedia Foundation Bulletin/2024/08-01|Wikimedia Foundation Bulletin]] is available, and includes some highlights from Wikimania, an upcoming Language community meeting, and other news from the movement. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:54, 20 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27307284 --> == Wikipedia translation of the week: 2024-35 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Erzi (village)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Caucasus, Ingushetia, Ингушские боевые и смотровые башни, горы Кавказа.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Erzi''' (Russian: Эрзи; Ingush: Аьрзи, romanized: Ärzi, lit. 'Eagle') is a medieval village (aul) in the Dzheyrakhsky District of Ingushetia. It is part of the rural settlement (administrative center) of Olgeti. The entire territory of the settlement is included in the Dzheyrakh-Assa State Historical-Architectural and Natural Museum-Reserve and is under state protection. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:19, 26 August 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27345183 --> == Tech News: 2024-35 == <section begin="technews-2024-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/35|Translations]] are available. '''Feature news''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Administrators can now test the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] feature on test2wiki. This was done to allow cross-wiki testing of temporary accounts, for when temporary accounts switch between projects. The feature was enabled on testwiki a few weeks ago. No further temporary account deployments are scheduled yet. Temporary Accounts is a project to create a new type of user account that replaces IP addresses of unregistered editors which are no longer made public. Please [[mw:Talk:Trust and Safety Product/Temporary Accounts|share your opinions and questions on the project talk page]]. * Later this week, editors at wikis that use [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs]] (also known as "Pending Changes") may notice that the indicators at the top of articles have changed. This change makes the system more consistent with the rest of the MediaWiki interface. [https://phabricator.wikimedia.org/T191156] '''Bugs status''' * Editors who use the 2010 wikitext editor, and use the Character Insert buttons, will [[phab:T361465|no longer]] experience problems with the buttons adding content into the edit-summary instead of the edit-window. You can read more about that, and 26 other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Project updates''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Please review and vote on [[m:Special:MyLanguage/Community Wishlist/Focus areas|Focus Areas]], which are groups of wishes that share a problem. Focus Areas were created for the newly reopened Community Wishlist, which is now open year-round for submissions. The first batch of focus areas are specific to moderator workflows, around welcoming newcomers, minimizing repetitive tasks, and prioritizing tasks. Once volunteers have reviewed and voted on focus areas, the Foundation will then review and select focus areas for prioritization. * Do you have a project and are willing to provide a three (3) month mentorship for an intern? [[mw:Special:MyLanguage/Outreachy|Outreachy]] is a twice a year program for people to participate in a paid internship that will start in December 2024 and end in early March 2025, and they need mentors and projects to work on. Projects can be focused on coding or non-coding (design, documentation, translation, research). See the Outreachy page for more details, and a list of past projects since 2013. '''Learn more''' * If you're curious about the product and technology improvements made by the Wikimedia Foundation last year, read [[diffblog:2024/08/21/wikimedia-foundation-product-technology-improving-the-user-experience/|this recent highlights summary on Diff]]. * To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Ohrid - Day 2 - Community Configuration - Shaping On-Wiki Functionality Together.webm|Community Configuration - Shaping On-Wiki Functionality Together]] (55 mins) - about the [[mw:Special:MyLanguage/Community Configuration|Community Configuration]] project. ** [[c:File:Wikimania 2024 - Belgrade - Day 1 - Future of MediaWiki. A sustainable platform to support a collaborative user base and billions of page views.webm|Future of MediaWiki. A sustainable platform to support a collaborative user base and billions of page views]] (30 mins) - an overview for both technical and non technical audiences, covering some of the challenges and open questions, related to the [[mw:MediaWiki Product Insights|platform evolution, stewardship and developer experiences]] research. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:34, 26 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27341211 --> == Tech News: 2024-36 == <section begin="technews-2024-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/36|Translations]] are available. '''Weekly highlight''' * Editors and volunteer developers interested in data visualisation can now test the new software for charts. Its early version is available on beta Commons and beta Wikipedia. This is an important milestone before making charts available on regular wikis. You can [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|read more about this project update]] and help to test the charts. '''Feature news''' * Editors who use the [[{{#special:Unusedtemplates}}]] page can now filter out pages which are expected to be there permanently, such as sandboxes, test-cases, and templates that are always substituted. Editors can add the new magic word [[mw:Special:MyLanguage/Help:Magic words#EXPECTUNUSEDTEMPLATE|<code dir="ltr"><nowiki>__EXPECTUNUSEDTEMPLATE__</nowiki></code>]] to a template page to hide it from the listing. Thanks to Sophivorus and DannyS712 for these improvements. [https://phabricator.wikimedia.org/T184633] * Editors who use the New Topic tool on discussion pages, will [[phab:T334163|now be reminded]] to add a section header, which should help reduce the quantity of newcomers who add sections without a header. You can read more about that, and {{formatnum:28}} other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. * Last week, some Toolforge tools had occasional connection problems. The cause is still being investigated, but the problems have been resolved for now. [https://phabricator.wikimedia.org/T373243] * Translation administrators at multilingual wikis, when editing multiple translation units, can now easily mark which changes require updates to the translation. This is possible with the [[phab:T298852#10087288|new dropdown menu]]. '''Project updates''' * A new draft text of a policy discussing the use of Wikimedia's APIs [[m:Special:MyLanguage/API Policy Update 2024|has been published on Meta-Wiki]]. The draft text does not reflect a change in policy around the APIs; instead, it is an attempt to codify existing API rules. Comments, questions, and suggestions are welcome on [[m:Talk:API Policy Update 2024|the proposed update’s talk page]] until September 13 or until those discussions have concluded. '''Learn more''' * To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Ohrid - Day 2 - Charts, the successor of Graphs - A secure and extensible tool for data visualization.webm|Charts, the successor of Graphs - A secure and extensible tool for data visualization]] (25 mins) – about the above-mentioned Charts project. ** [[c:File:Wikimania 2024 - Ohrid - Day 3 - State of Language Technology and Onboarding at Wikimedia.webm|State of Language Technology and Onboarding at Wikimedia]] (90 mins) – about some of the language tools that support Wikimedia sites, such as [[mw:Special:MyLanguage/Content translation|Content]]/[[mw:Special:MyLanguage/Content translation/Section translation|Section Translation]], [[mw:Special:MyLanguage/MinT|MinT]], and LanguageConverter; also the current state and future of languages onboarding. [https://phabricator.wikimedia.org/T368772] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:08, 3 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27390268 --> == Wikipedia translation of the week: 2024-37 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cappadocian calendar]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Cappadocian calendar''' was a solar calendar that was derived from the Persian Zoroastrian calendar. It is named after the historic region Cappadocia in present-day Turkey, where it was used. The calendar, which had 12 months of 30 days each and five epagomenal days, originated between 550 and 330 BC, when Cappadocia was part of the Persian Achaemenid Empire. The Cappadocian calendar was identical to the Zoroastrian calendar; this can be seen in its structure, in the Avestan names and in the order of the months. The Cappadocian calendar reflects the Iranian cultural influence in the region. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:42, 9 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27357319 --> == Tech News: 2024-37 == <section begin="technews-2024-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/37|Translations]] are available. '''Feature news''' * Starting this week, the standard [[mw:Special:MyLanguage/Extension:CodeMirror|syntax highlighter]] will receive new colors that make them compatible in dark mode. This is the first of many changes to come as part of a major upgrade to syntax highlighting. You can learn more about what's to come on the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|help page]]. [https://phabricator.wikimedia.org/T365311][https://phabricator.wikimedia.org/T259059] * Editors of wikis using Wikidata will now be notified of only relevant Wikidata changes in their watchlist. This is because the Lua functions <bdi lang="zxx" dir="ltr"><code>entity:getSitelink()</code></bdi> and <bdi lang="zxx" dir="ltr"><code>mw.wikibase.getSitelink(qid)</code></bdi> will have their logic unified for tracking different aspects of sitelinks to reduce junk notifications from [[m:Wikidata For Wikimedia Projects/Projects/Watchlist Wikidata Sitelinks Tracking|inconsistent sitelinks tracking]]. [https://phabricator.wikimedia.org/T295356] '''Project updates''' * Users of all Wikis will have access to Wikimedia sites as read-only for a few minutes on September 25, starting at 15:00 UTC. This is a planned datacenter switchover for maintenance purposes. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T370962] * Contributors of [[phab:T363538#10123348|11 Wikipedias]], including English will have a new <bdi lang="zxx" dir="ltr"><code>MOS</code></bdi> namespace added to their Wikipedias. This improvement ensures that links beginning with <bdi lang="zxx" dir="ltr"><code>MOS:</code></bdi> (usually shortcuts to the [[w:en:Wikipedia:Manual of Style|Manual of Style]]) are not broken by [[w:en:Mooré|Mooré]] Wikipedia (language code <bdi lang="zxx" dir="ltr"><code>mos</code></bdi>). [https://phabricator.wikimedia.org/T363538] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 9 September 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27424457 --> == Tech News: 2024-38 == <section begin="technews-2024-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/38|Translations]] are available. '''Improvements and Maintenance''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Editors interested in templates can help by reading the latest Wishlist focus area, [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template recall and discovery]], and share your feedback on the talkpage. This input helps the Community Tech team to decide the right technical approach to build. Everyone is also encouraged to continue adding [[m:Special:MyLanguage/Community Wishlist|new wishes]]. * The new automated [[{{#special:NamespaceInfo}}]] page helps editors understand which [[mw:Special:MyLanguage/Help:Namespaces|namespaces]] exist on each wiki, and some details about how they are configured. Thanks to DannyS712 for these improvements. [https://phabricator.wikimedia.org/T263513] * [[mw:Special:MyLanguage/Help:Edit check#Reference check|References Check]] is a feature that encourages editors to add a citation when they add a new paragraph to a Wikipedia article. For a short time, the corresponding tag "Edit Check (references) activated" was erroneously being applied to some edits outside of the main namespace. This has been fixed. [https://phabricator.wikimedia.org/T373692] * It is now possible for a wiki community to change the order in which a page’s categories are displayed on their wiki. By default, categories are displayed in the order they appear in the wikitext. Now, wikis with a consensus to do so can [[m:Special:MyLanguage/Requesting wiki configuration changes|request]] a configuration change to display them in alphabetical order. [https://phabricator.wikimedia.org/T373480] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Tool authors can now access ToolsDB's [[wikitech:Portal:Data Services#ToolsDB|public databases]] from both [[m:Special:MyLanguage/Research:Quarry|Quarry]] and [[wikitech:Superset|Superset]]. Those databases have always been accessible to every [[wikitech:Portal:Toolforge|Toolforge]] user, but they are now more broadly accessible, as Quarry can be accessed by anyone with a Wikimedia account. In addition, Quarry's internal database can now be [[m:Special:MyLanguage/Research:Quarry#Querying Quarry's own database|queried from Quarry itself]]. This database contains information about all queries that are being run and starred by users in Quarry. This information was already public through the web interface, but you can now query it using SQL. You can read more about that, and {{formatnum:20}} other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. * Any pages or tools that still use the very old CSS classes <bdi lang="zxx" dir="ltr"><code>mw-message-box</code></bdi> need to be updated. These old classes will be removed next week or soon afterwards. Editors can use a [https://global-search.toolforge.org/?q=mw-message-box&regex=1&namespaces=&title= global-search] to determine what needs to be changed. It is possible to use the newer <bdi lang="zxx" dir="ltr"><code>cdx-message</code></bdi> group of classes as a replacement (see [https://doc.wikimedia.org/codex/latest/components/demos/message.html#css-only-version the relevant Codex documentation], and [https://meta.wikimedia.org/w/index.php?title=Tech/Header&diff=prev&oldid=27449042 an example update]), but using locally defined onwiki classes would be best. [https://phabricator.wikimedia.org/T374499] '''Technical project updates''' * Next week, all Wikimedia wikis will be read-only for a few minutes. This will start on September 25 at [https://zonestamp.toolforge.org/1727276400 15:00 UTC]. This is a planned datacenter switchover for maintenance purposes. [[m:Special:MyLanguage/Tech/Server switch|This maintenance process also targets other services.]] The previous switchover took 3 minutes, and the Site Reliability Engineering teams use many tools to make sure that this essential maintenance work happens as quickly as possible. [https://phabricator.wikimedia.org/T370962] '''Tech in depth''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/August 2024|MediaWiki Product Insights newsletter]] is available. This edition includes details about: research about [[mw:Special:MyLanguage/Manual:Hooks|hook]] handlers to help simplify development, research about performance improvements, work to improve the REST API for end-users, and more. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Auditorium Kyiv - Day 4 - Hackathon Showcase.webm|Hackathon Showcase]] (45 mins) - 19 short presentations by some of the Hackathon participants, describing some of the projects they worked on, such as automated testing of maintenance scripts, a video-cutting command line tool, and interface improvements for various tools. There are [[phab:T369234|more details and links available]] in the Phabricator task. ** [[c:File:Co-Creating a Sustainable Future for the Toolforge Ecosystem.webm|Co-Creating a Sustainable Future for the Toolforge Ecosystem]] (40 mins) - a roundtable discussion for tool-maintainers, users, and supporters of Toolforge about how to make the platform sustainable and how to evaluate the tools available there. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:03, 17 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27460876 --> == Wikipedia translation of the week: 2024-39 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Independence Day (Albania)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Independence Day''' (Albanian: Dita e Pavarësisë) is a public holiday in Albania observed on 28 November. It commemorates the Albanian Declaration of Independence (from the Ottoman Empire), which was ratified by the All-Albanian Congress on 28 November 1912, establishing the state of Albania. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:29, 23 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27456350 --> == Tech News: 2024-39 == <section begin="technews-2024-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/39|Translations]] are available. '''Weekly highlight''' * All wikis will be [[m:Special:MyLanguage/Tech/Server switch|read-only]] for a few minutes on Wednesday September 25 at [https://zonestamp.toolforge.org/1727276400 15:00 UTC]. Reading the wikis will not be interrupted, but editing will be paused. These twice-yearly processes allow WMF's site reliability engineering teams to remain prepared to keep the wikis functioning even in the event of a major interruption to one of our data centers. '''Updates for editors''' [[File:Add alt text from a halfsheet, with the article behind.png|thumb|A screenshot of the interface for the Alt Text suggested-edit feature]] * Editors who use the iOS Wikipedia app in Spanish, Portuguese, French, or Chinese, may see the [[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits project/Alt Text Experiment|Alt Text suggested-edit experiment]] after editing an article, or completing a suggested edit using "[[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits project#Hypothesis 2 Add an Image Suggested Edit|Add an image]]". Alt-text helps people with visual impairments to read Wikipedia articles. The team aims to learn if adding alt-text to images is a task that editors can be successful with. Please share any feedback on [[mw:Talk:Wikimedia Apps/iOS Suggested edits project/Alt Text Experiment|the discussion page]]. * The Codex color palette has been updated with new and revised colors for the MediaWiki user interfaces. The [[mw:Special:MyLanguage/Design System Team/Color/Design documentation#Updates|most noticeable changes]] for editors include updates for: dark mode colors for Links and for quiet Buttons (progressive and destructive), visited Link colors for both light and dark modes, and background colors for system-messages in both light and dark modes. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] It is now possible to include clickable wikilinks and external links inside code blocks. This includes links that are used within <code><nowiki><syntaxhighlight></nowiki></code> tags and on code pages (JavaScript, CSS, Scribunto and Sanitized CSS). Uses of template syntax <code><nowiki>{{…}}</nowiki></code> are also linked to the template page. Thanks to SD0001 for these improvements. [https://phabricator.wikimedia.org/T368166] * Two bugs were fixed in the [[m:Special:MyLanguage/Account vanishing|GlobalVanishRequest]] system by improving the logging and by removing an incorrect placeholder message. [https://phabricator.wikimedia.org/T370595][https://phabricator.wikimedia.org/T372223] * View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] From [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]]: ** The API now enables 5,000 on-demand API requests per month and twice-monthly HTML snapshots freely (gratis and libre). More information on the updates and also improvements to the software development kits (SDK) are explained on [https://enterprise.wikimedia.com/blog/enhanced-free-api/ the project's blog post]. While Wikimedia Enterprise APIs are designed for high-volume commercial reusers, this change enables many more community use-cases to be built on the service too. ** The Snapshot API (html dumps) have added beta Structured Contents endpoints ([https://enterprise.wikimedia.com/blog/structured-contents-snapshot-api/ blog post on that]) as well as released two beta datasets (English and French Wikipedia) from that endpoint to Hugging Face for public use and feedback ([https://enterprise.wikimedia.com/blog/hugging-face-dataset/ blog post on that]). These pre-parsed data sets enable new options for researchers, developers, and data scientists to use and study the content. '''In depth''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The Wikidata Query Service (WDQS) is used to get answers to questions using the Wikidata data set. As Wikidata grows, we had to make a major architectural change so that WDQS could remain performant. As part of the [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS graph split|WDQS Graph Split project]], we have new SPARQL endpoints available for serving the "[https://query-scholarly.wikidata.org scholarly]" and "[https://query-main.wikidata.org main]" subgraphs of Wikidata. The [http://query.wikidata.org query.wikidata.org endpoint] will continue to serve the full Wikidata graph until March 2025. After this date, it will only serve the main graph. For more information, please see [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/September 2024 scaling update|the announcement on Wikidata]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:37, 23 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27493779 --> == Wikipedia translation of the week: 2024-40 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Wildlife of Bahrain]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Birds in Al-Areen Wildlife Park.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The wildlife of the archipelago of Bahrain, is more varied than might be expected of this small group of islands in the Persian Gulf. Apart from a strip of the north and west of the main island, where crops are grown with irrigation, the land is arid. With a very hot dry summer, a mild winter, and brackish groundwater, the plants need adaptations in order to survive. Nevertheless, 196 species of higher plant have been recorded here, as well as about seventeen species of terrestrial mammals, many birds and reptiles, and many migratory birds visit the islands in autumn and spring. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 30 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27456350 --> == Tech News: 2024-40 == <section begin="technews-2024-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/40|Translations]] are available. '''Updates for editors''' * Readers of [[phab:T375401|42 more wikis]] can now use Dark Mode. If the option is not yet available for logged-out users of your wiki, this is likely because many templates do not yet display well in Dark Mode. Please use the [https://night-mode-checker.wmcloud.org/ night-mode-checker tool] if you are interested in helping to reduce the number of issues. The [[mw:Special:MyLanguage/Recommendations for night mode compatibility on Wikimedia wikis|recommendations page]] provides guidance on this. Dark Mode is enabled on additional wikis once per month. * Editors using the 2010 wikitext editor as their default can access features from the 2017 wikitext editor by adding <code dir=ltr>?veaction=editsource</code> to the URL. If you would like to enable the 2017 wikitext editor as your default, it can be set in [[Special:Preferences#mw-input-wpvisualeditor-newwikitext|your preferences]]. [https://phabricator.wikimedia.org/T239796] * For logged-out readers using the Vector 2022 skin, the "donate" link has been moved from a collapsible menu next to the content area into a more prominent top menu, next to "Create an account". This restores the link to the level of prominence it had in the Vector 2010 skin. [[mw:Readers/2024 Reader and Donor Experiences#Donor Experiences (Key Result WE 3.2 and the related hypotheses)|Learn more]] about the changes related to donor experiences. [https://phabricator.wikimedia.org/T373585] * The CampaignEvents extension provides tools for organizers to more easily manage events, communicate with participants, and promote their events on the wikis. The extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|enabled]] on Arabic Wikipedia, Igbo Wikipedia, Swahili Wikipedia, and Meta-Wiki. [[w:zh:Wikipedia:互助客栈/其他#引進CampaignEvents擴充功能|Chinese Wikipedia has decided]] to enable the extension, and discussions on the extension are in progress [[w:es:Wikipedia:Votaciones/2024/Sobre la política de Organizadores de Eventos|on Spanish Wikipedia]] and [[d:Wikidata:Project chat#Enabling the CampaignEvents Extention on Wikidata|on Wikidata]]. To learn how to enable the extension on your wiki, you can visit [[m:Special:MyLanguage/CampaignEvents|the CampaignEvents page on Meta-Wiki]]. * View all {{formatnum:22}} community-submitted {{PLURAL:22|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers with an account on Wikitech-wiki should [[wikitech:Wikitech/SUL-migration|check if any action is required]] for their accounts. The wiki is being changed to use the single-user-login (SUL) system, and other configuration changes. This change will help reduce the overall complexity for the weekly software updates across all our wikis. '''In depth''' * The [[m:Special:MyLanguage/Tech/Server switch|server switch]] was completed successfully last week with a read-only time of [[wikitech:Switch Datacenter#Past Switches|only 2 minutes 46 seconds]]. This periodic process makes sure that engineers can switch data centers and keep all of the wikis available for readers, even if there are major technical issues. It also gives engineers a chance to do maintenance and upgrades on systems that normally run 24 hours a day, and often helps to reveal weaknesses in the infrastructure. The process involves dozens of software services and hundreds of hardware servers, and requires multiple teams working together. Work over the past few years has reduced the time from 17 minutes down to 2–3 minutes. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/66ZW7B2MG63AESQVTXDIFQBDBS766JGW/] '''Meetings and events''' * October 4–6: [[m:Special:MyLanguage/WikiIndaba conference 2024|WikiIndaba Conference's Hackathon]] in Johannesburg, South Africa * November 4–6: [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2024|MediaWiki Users and Developers Conference Fall 2024]] in Vienna, Austria '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:21, 30 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27530062 --> == Tech News: 2024-41 == <section begin="technews-2024-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/41|Translations]] are available. '''Weekly highlight''' * Communities can now request installation of [[mw:Special:MyLanguage/Moderator Tools/Automoderator|Automoderator]] on their wiki. Automoderator is an automated anti-vandalism tool that reverts bad edits based on scores from the new "Revert Risk" machine learning model. You can [[mw:Special:MyLanguage/Extension:AutoModerator/Deploying|read details about the necessary steps]] for installation and configuration. [https://phabricator.wikimedia.org/T336934] '''Updates for editors''' * Translators in wikis where [[mw:Special:MyLanguage/Content translation/Section translation#Try the tool|the mobile experience of Content Translation is available]], can now customize their articles suggestion list from 41 filtering options when using the tool. This topic-based article suggestion feature makes it easy for translators to self-discover relevant articles based on their area of interest and translate them. You can [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions try it with your mobile device]. [https://phabricator.wikimedia.org/T368422] * View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * It is now possible for <bdi lang="zxx" dir="ltr"><code><nowiki><syntaxhighlight></nowiki></code></bdi> code blocks to offer readers a "Copy" button if the <bdi lang="zxx" dir="ltr"><code><nowiki>copy=1</nowiki></code></bdi> attribute is [[mw:Special:MyLanguage/Extension:SyntaxHighlight#copy|set on the tag]]. Thanks to SD0001 for these improvements. [https://phabricator.wikimedia.org/T40932] * Customized copyright footer messages on all wikis will be updated. The new versions will use wikitext markup instead of requiring editing raw HTML. [https://phabricator.wikimedia.org/T375789] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this month, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] will be rolled out on several pilot wikis. The final list of the wikis will be published in the second half of the month. If you maintain any tools, bots, or gadgets on [[phab:T376499|these 11 wikis]], and your software is using data about IP addresses or is available for logged-out users, please check if it needs to be updated to work with temporary accounts. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|Guidance on how to update the code is available]]. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Rate limiting has been enabled for the code review tools [[Wikitech:Gerrit|Gerrit]] and [[Wikitech:GitLab|GitLab]] to address ongoing issues caused by malicious traffic and scraping. Clients that open too many concurrent connections will be restricted for a few minutes. This rate limiting is managed through [[Wikitech:nftables|nftables]] firewall rules. For more details, see Wikitech's pages on [[Wikitech:Firewall#Throttling with nftables|Firewall]], [[Wikitech:GitLab/Abuse and rate limiting|GitLab limits]] and [[Wikitech:Gerrit/Operations#Throttling IPs|Gerrit operations]]. * Five new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q49224|Komering]] ([[w:kge:|<code>w:kge:</code>]]) [https://phabricator.wikimedia.org/T374813] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36096|Mooré]] ([[m:mos:|<code>m:mos:</code>]]) [https://phabricator.wikimedia.org/T374641] ** a {{int:project-localized-name-group-wiktionary}} in [[d:Q36213|Madurese]] ([[wikt:mad:|<code>wikt:mad:</code>]]) [https://phabricator.wikimedia.org/T374968] ** a {{int:project-localized-name-group-wikiquote}} in [[d:Q2501174|Gorontalo]] ([[q:gor:|<code>q:gor:</code>]]) [https://phabricator.wikimedia.org/T375088] ** a {{int:project-localized-name-group-wikinews}} in [[d:Q56482|Shan]] ([[n:shn:|<code>n:shn:</code>]]) [https://phabricator.wikimedia.org/T375430] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:43, 7 October 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27557422 --> == Wikipedia translation of the week: 2024-42 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Little Danes experiment]]'''<br /> <small>''([[:fa:آزمایش دانمارکی‌های کوچک]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Children play at a Danish Red Cross-run orphanage in Greenland.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''little Danes experiment''' was a 1951 Danish operation where 22 Greenlandic Inuit children were sent to Danish foster families in an attempt to re-educate them as "little Danes". While the children were all supposed to be orphans, most were not. Six children were adopted while in Denmark, and sixteen returned to Greenland, only to be placed in Danish-speaking orphanages and never live with their families again. Half of the children experienced mental health disturbances, and half of them died in young adulthood. The government of Denmark officially apologised in 2020, after several years of demands from Greenlandic officials. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:16, 14 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27572997 --> == Tech News: 2024-42 == <section begin="technews-2024-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/42|Translations]] are available. '''Updates for editors''' * The Structured Discussion extension (also known as Flow) is starting to be removed. This extension is unmaintained and causes issues. It will be replaced by [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]], which is used on any regular talk page. [[mw:Special:MyLanguage/Structured Discussions/Deprecation#Deprecation timeline|A first set of wikis]] are being contacted. These wikis are invited to stop using Flow, and to move all Flow boards to sub-pages, as archives. At these wikis, a script will move all Flow pages that aren't a sub-page to a sub-page automatically, starting on 22 October 2024. On 28 October 2024, all Flow boards at these wikis will be set in read-only mode. [https://www.mediawiki.org/wiki/Structured_Discussions/Deprecation][https://phabricator.wikimedia.org/T370722] * WMF's Search Platform team is working on making it easier for readers to perform text searches in their language. A [[phab:T332342|change last week]] on over 30 languages makes it easier to find words with accents and other diacritics. This applies to both full-text search and to types of advanced search such as the <bdi lang="en" dir="ltr">''hastemplate''</bdi> and <bdi lang="en" dir="ltr">''incategory''</bdi> keywords. More technical details (including a few other minor search upgrades) are available. [https://www.mediawiki.org/wiki/User:TJones_%28WMF%29/Notes/Language_Analyzer_Harmonization_Notes#ASCII-folding/ICU-folding_%28T332342%29] * View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[mw:Special:MyLanguage/Help:Edit check|EditCheck]] was installed at Russian Wikipedia, and fixes were made for some missing user interface styles. '''Updates for technical contributors''' * Editors who use the Toolforge tool [[toolforge:copyvios|Earwig's Copyright Violation Detector]] will now be required to log in with their Wikimedia account before running checks using the "search engine" option. This change is needed to help prevent external bots from misusing the system. Thanks to Chlod for these improvements. [https://en.wikipedia.org/wiki/Wikipedia_talk:New_pages_patrol/Reviewers#Authentication_is_now_required_for_search_engine_checks_on_Earwig's_Copyvio_Tool] * [[m:Special:MyLanguage/Phabricator|Phabricator]] users can create tickets and add comments on existing tickets via Email again. [[mw:Special:MyLanguage/Phabricator/Help#Using email|Sending email to Phabricator]] has been fixed. [https://phabricator.wikimedia.org/T356077] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Some HTML elements in the interface are now wrapped with a <code><nowiki><bdi></nowiki></code> element, to make our HTML output more aligned with Web standards. More changes like this will be coming in future weeks. This change might break some tools that rely on the previous HTML structure of the interface. Note that relying on the HTML structure of the interface is [[mw:Special:MyLanguage/Stable interface policy/Frontend#What is not stable?|not recommended]] and might break at any time. [https://phabricator.wikimedia.org/T375975] '''In depth''' * The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/September 2024|MediaWiki Product Insights newsletter]] is available. This edition includes: updates on Wikimedia's authentication system, research to simplify feature development in the MediaWiki platform, updates on Parser Unification and MathML rollout, and more. * The latest quarterly [[mw:Technical Community Newsletter/2024/October|Technical Community Newsletter]] is now available. This edition include: research about improving topic suggestions related to countries, improvements to PHPUnit tests, and more. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:22, 14 October 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27597254 --> == Wikipedia translation of the week: 2024-43 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kharayeb]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Muharram 1Oth-Ashouraa 2007 in Kharayeb - panoramio.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Kharayeb''' (Arabic: الخرايب) is a historic town in the Sidon District in the South Governorate, Lebanon. The town is 77 km (48 mi) south of Beirut, and stands at an average altitude of 190 m (620 ft) above sea level. The town boasts a rich historical legacy, with archaeological excavations revealing a complex settlement history spanning from Prehistory to the Ottoman period. Notably, Kharayeb's origins can be traced back to the Persian period (539–330 BC), when it played a pivotal role in the region's agricultural and economic landscape, culminating in the construction of its Phoenician temple around the 6th century BC. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:38, 21 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27572997 --> == Tech News: 2024-43 == <section begin="technews-2024-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/43|Translations]] are available. '''Weekly highlight''' * The Mobile Apps team has released an [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Navigation Refresh#Phase 1: Creating a user Profile Menu (T373714)|update]] to the iOS app's navigation, and it is now available in the latest App store version. The team added a new Profile menu that allows for easy access to editor features like Notifications and Watchlist from the Article view, and brings the "Donate" button into a more accessible place for users who are reading an article. This is the first phase of a larger planned [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Navigation Refresh|navigation refresh]] to help the iOS app transition from a primarily reader-focused app, to an app that fully supports reading and editing. The Wikimedia Foundation has added more editing features and support for on-wiki communication based on volunteer requests in recent years. [[File:IOS App Navigation refresh first phase 05.png|thumb|iOS Wikipedia App's profile menu and contents]] '''Updates for editors''' * Wikipedia readers can now download a browser extension to experiment with some early ideas on potential features that recommend articles for further reading, automatically summarize articles, and improve search functionality. For more details and to stay updated, check out the Web team's [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments|Content Discovery Experiments page]] and [[mw:Special:MyLanguage/Newsletter:Web team's projects|subscribe to their newsletter]]. * Later this month, logged-out editors of [[phab:T376499|these 12 wikis]] will start to have [[mw:Special:Mylanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] created. The list may slightly change - some wikis may be removed but none will be added. Temporary account is a new [[mw:Special:MyLanguage/User account types|type of user account]]. It enhances the logged-out editors' privacy and makes it easier for community members to communicate with them. If you maintain any tools, bots, or gadgets on these 12 wikis, and your software is using data about IP addresses or is available for logged-out users, please check if it needs to be updated to work with temporary accounts. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|Guidance on how to update the code is available]]. Read more about the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|deployment plan across all wikis]]. * View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[w:nr:Main Page|South Ndebele]], [[w:rsk:Главни бок|Pannonian Rusyn]], [[w:ann:Uwu|Obolo]], [[w:iba:Lambar Keterubah|Iban]] and [[w:tdd:ᥞᥨᥝᥴ ᥘᥣᥲ ᥖᥥᥰ|Tai Nüa]] Wikipedia languages were created last week. [https://www.wikidata.org/wiki/Q36785][https://www.wikidata.org/wiki/Q35660][https://www.wikidata.org/wiki/Q36614][https://www.wikidata.org/wiki/Q33424][https://www.wikidata.org/wiki/Q36556] * It is now possible to create functions on Wikifunctions using Wikidata lexemes, through the new [[f:Z6005|Wikidata lexeme type]] launched last week. When you go to one of these functions, the user interface provides a lexeme selector that helps you pick a lexeme from Wikidata that matches the word you type. After hitting run, your selected lexeme is retrieved from Wikidata, transformed into a Wikidata lexeme type, and passed into the selected function. Read more about this in [[f:Special:MyLanguage/Wikifunctions:Status updates/2024-10-17#Function of the Week: select representation from lexeme|the latest Wikifunctions newsletter]]. '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Users of the Wikimedia sites can now format dates more easily in different languages with the new <code dir="ltr">{{[[mw:Special:MyLanguage/Help:Extension:ParserFunctions##timef|#timef]]:…}}</code> parser function. For example, <code dir="ltr"><nowiki>{{#timef:now|date|en}}</nowiki></code> will show as "<bdi lang="en" dir="ltr">{{#timef:now|date|en}}</bdi>". Previously, <code dir="ltr"><nowiki>{{#time:…}}</nowiki></code> could be used to format dates, but this required knowledge of the order of the time and date components and their intervening punctuation. <code dir="ltr">#timef</code> (or <code dir="ltr">#timefl</code> for local time) provides access to the standard date formats that MediaWiki uses in its user interface. This may help to simplify some templates on multi-lingual wikis like Commons and Meta. [https://phabricator.wikimedia.org/T223772][https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:ParserFunctions##timef] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Commons and Meta users can now efficiently [[mw:Special:MyLanguage/Help:Magic words#Localization|retrieve the user's language]] using <code dir="ltr"><nowiki>{{USERLANGUAGE}}</nowiki></code> instead of using <code dir="ltr"><nowiki>{{int:lang}}</nowiki></code>. [https://phabricator.wikimedia.org/T4085] * The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Tech Advisory Council]] (PTAC) now has its pilot members with representation across Africa, Asia, Europe, North America and South America. They will work to address the [[Special:MyLanguage/Movement Strategy/Initiatives/Technology Council|Movement Strategy's Technology Council]] initiative of having a co-defined and more resilient technological platform. [https://meta.wikimedia.org/wiki/Movement_Strategy/Initiatives/Technology_Council] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/32|Growth newsletter]] is available. It includes: an upcoming Newcomer Homepage Community Updates module, new Community Configuration options, and details on new projects. * The Wikimedia Foundation is [[mw:Special:MyLanguage/Wikimedia Security Team#CNA Partnership|now an official partner of the CVE program]], which is an international effort to catalog publicly disclosed cybersecurity vulnerabilities. This partnership will allow the Security Team to instantly publish [[w:en:Common Vulnerabilities and Exposures|common vulnerabilities and exposures]] (CVE) records that are affecting MediaWiki core, extensions, and skins, along with any other code the Foundation is a steward of. * The [[m:Special:MyLanguage/Community Wishlist|Community Wishlist]] is now [[m:Community Wishlist/Updates#October 16, 2024: Conversations Made Easier: Machine-Translated Wishes Are Here!|testing machine translations]] for Wishlist content. Volunteers can now read machine-translated versions of wishes and dive into discussions even before translators arrive to translate content. '''Meetings and events''' * 24 October - Wiki Education Speaker Series Webinar - [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/N4XTB4G55BUY3M3PNGUAKQWJ7A4UOPAK/ Open Source Tech: Building the Wiki Education Dashboard], featuring Wikimedia interns and a Web developer in the panel. * 20–22 December 2024 - [[m:Special:MyLanguage/Indic Wikimedia Hackathon Bhubaneswar 2024|Indic Wikimedia Hackathon Bhubaneswar 2024]] in Odisha, India. A hackathon for community members, including developers, designers and content editors, to build technical solutions that improve contributors' experiences. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:53, 21 October 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27634672 --> == Wikipedia translation of the week: 2024-44 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Christmas horror]]'''<br /> <small>''([[:es:Terror navideño]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Christmascarol1843 -- 169.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Christmas horror''' is a fiction genre and film genre that incorporates horror elements into a seasonal setting. It is popular in multiple countries. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 28 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27647428 --> == Tech News: 2024-44 == <section begin="technews-2024-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/44|Translations]] are available. '''Updates for editors''' * Later in November, the Charts extension will be deployed to the test wikis in order to help identify and fix any issue. A security review is underway to then enable deployment to pilot wikis for broader testing. You can read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates#October 2024: Working towards production deployment|the October project update]] and see the [https://en.wikipedia.beta.wmflabs.org/wiki/Charts latest documentation and examples on Beta Wikipedia]. * View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[w:en:PediaPress|Pediapress.com]], an external service that creates books from Wikipedia, can now use [[mw:Special:MyLanguage/Wikimedia Maps|Wikimedia Maps]] to include existing pre-rendered infobox map images in their printed books on Wikipedia. [https://phabricator.wikimedia.org/T375761] '''Updates for technical contributors''' * Wikis can use [[:mw:Special:MyLanguage/Extension:GuidedTour|the Guided Tour extension]] to help newcomers understand how to edit. The Guided Tours extension now works with [[mw:Special:MyLanguage/Manual:Dark mode|dark mode]]. Guided Tour maintainers can check their tours to see that nothing looks odd. They can also set <code>emitTransitionOnStep</code> to <code>true</code> to fix an old bug. They can use the new flag <code>allowAutomaticBack</code> to avoid back-buttons they don't want. [https://phabricator.wikimedia.org/T73927#10241528] * Administrators in the Wikimedia projects who use the [[mw:Special:MyLanguage/Help:Extension:Nuke|Nuke Extension]] will notice that mass deletions done with this tool have the "Nuke" tag. This change will make reviewing and analyzing deletions performed with the tool easier. [https://phabricator.wikimedia.org/T366068] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:57, 28 October 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27668811 --> == Wikipedia translation of the week: 2024-45 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Placenta cake]]'''<br /> <small>''([[:simple:Placenta cake]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Bucharest, Greek pie-maker, 1880.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Placenta cake''' is a dish from ancient Greece and Rome consisting of many dough layers interspersed with a mixture of cheese and honey and flavored with bay leaves, baked and then covered in honey. The dessert is mentioned in classical texts such as the Greek poems of Archestratos and Antiphanes, as well as the De agri cultura of Cato the Elder. It is often seen as the predecessor of baklava and börek. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:16, 4 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27647428 --> == Tech News: 2024-45 == <section begin="technews-2024-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/45|Translations]] are available. '''Updates for editors''' * Stewards can now make [[m:Special:MyLanguage/Global blocks|global account blocks]] cause global [[mw:Special:MyLanguage/Autoblock|autoblocks]]. This will assist stewards in preventing abuse from users who have been globally blocked. This includes preventing globally blocked temporary accounts from exiting their session or switching browsers to make subsequent edits for 24 hours. Previously, temporary accounts could exit their current session or switch browsers to continue editing. This is an anti-abuse tool improvement for the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] project. You can read more about the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|progress on key features for temporary accounts]]. [https://phabricator.wikimedia.org/T368949] * Wikis that have the [[m:Special:MyLanguage/CampaignEvents/Deployment status|CampaignEvents extension enabled]] can now use the [[m:Special:MyLanguage/Campaigns/Foundation Product Team/Event list#October 29, 2024: Collaboration List launched|Collaboration List]] feature. This list provides a new, easy way for contributors to learn about WikiProjects on their wikis. Thanks to the Campaign team for this work that is part of [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2024-2025/Product %26 Technology OKRs#WE KRs|the 2024/25 annual plan]]. If you are interested in bringing the CampaignEvents extension to your wiki, you can [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|follow these steps]] or you can reach out to User:Udehb-WMF for help. * The text color for red links will be slightly changed later this week to improve their contrast in light mode. [https://phabricator.wikimedia.org/T370446] * View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, on multilingual wikis, users [[phab:T216368|can now]] hide translations from the WhatLinksHere special page. '''Updates for technical contributors''' * XML [[m:Special:MyLanguage/Data dumps|data dumps]] have been temporarily paused whilst a bug is investigated. [https://lists.wikimedia.org/hyperkitty/list/xmldatadumps-l@lists.wikimedia.org/message/BXWJDPO5QI2QMBCY7HO36ELDCRO6HRM4/] '''In depth''' * Temporary Accounts have been deployed to six wikis; thanks to the Trust and Safety Product team for [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|this work]], you can read about [[phab:T340001|the deployment plans]]. Beginning next week, Temporary Accounts will also be enabled on [[phab:T378336|seven other projects]]. If you are active on these wikis and need help migrating your tools, please reach out to [[m:User:Udehb-WMF|User:Udehb-WMF]] for assistance. * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2024/October|Language and Internationalization newsletter]] is available. It includes: New languages supported in translatewiki or in MediaWiki; New keyboard input methods for some languages; details about recent and upcoming meetings, and more. '''Meetings and events''' * [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2024|MediaWiki Users and Developers Conference Fall 2024]] is happening in Vienna, Austria and online from 4 to 6 November 2024. The conference will feature discussions around the usage of MediaWiki software by and within companies in different industries and will inspire and onboard new users. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:51, 4 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27693917 --> == Wikipedia translation of the week: 2024-46 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Trisomy 16]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Chromosome 16.svg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Trisomy 16''' is a chromosomal abnormality in which there are 3 copies of chromosome 16 rather than two. It is the most common trisomy leading to miscarriage and the second most common chromosomal cause of it, closely following X-chromosome monosomy. About 6% of miscarriages have trisomy 16. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:09, 11 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27708700 --> ddjyt878eda3ss0wpwzhobllio8l41m A-level Computing/AQA/Paper 1/Skeleton program/2024 0 461209 4444393 4441557 2024-11-11T11:45:15Z 212.250.202.250 /* Section D Predictions */ A few words were spelt wrong. Fixed typos. 4444393 wikitext text/x-wiki This is for the AQA A Level Computer Science Specification. This is where suggestions can be made about what some of the questions might be and how we can solve them. '''Please be respectful and do not vandalise the page, as this would affect students' preparation for exams!''' Please do not discuss questions on this page. Instead use the [[Talk:A-level Computing/AQA/Paper 1/Skeleton program/2024|discussion page]]. == Section C Predictions == The 2024 paper 1 will contain questions worth 11 marks in total (one 3-marker, one 2-marker and one 6-marker). As long as you know the program well i.e. you understand each line of code and and you know what each line of code does (which can be done by using ChatGPT and Gemini) It's important to use all tools available to use, and this will be easy. I'm predicting this year that there will be a question on inheritance about the cell and they will ask what it means so will be worth 3 marks. Also they could be a question on overriding and they could be a question about differences between the protected, private and public methods (from looking at past papers). == Section D Predictions == Programming Questions on Skeleton Program * The 2024 paper contains 4 questions: a 5 mark, a 6 mark question and two 14 mark questions - these marks include the screen capture, so the likely marks for the coding wll be 1-2 marks ower. On to of this, can someone please add some more solution in VB.net for these problems. Mesage for moderator - I added a question I think could come up please put a link up then delete this message - Thanks for such a brilliant rsources you have provide for help for all students! * The 2023 paper 1 contains 4 questions: a 5 mark, a 9 mark question, a 10 mark question and one 13 mark questio - these mark include the screen cpture(s), so the likely marks for th coding will be 1-2 marks lower. * The 2022 paper 1 contained 4 qestions: a 5 mark, a 9 mark question, a 11 mark question and one 13 mark question - these marks include the screen capture(s), so the likely marks for the coding will be 1-2 marks lower. * The 201 paper 1 contined 4 qestions: a 6 mark, an 8 mark question, a 9 mark question and one 14 mark question - these marks include the screen cature(s), so the likely marks for the coding will be 1-2 marks lower. * The 2020 paper 1 containd 4 questions: 6 mark, an 8 mark question, a 11 mark questin and one 12 mark question - these marks include the screen capture(s), so the lkely marks for the coding will be 1-2 marks lower. * The 219 paper 1 cntained 4 questions: a 5 mark, an 8 mark question, a 9 mark question and one 13 mark question - these marks include the screen capture(s), so the marks for the coding will be 1-2 marks lower. * The 218 paper 1 contained 5 questions: a 2 mark question, a 5 mark question, two 9 mark questions, and one 12 mark question - these marks include the screen capture(s). * The 2017 paper 1 contaned 5 questions: a 5 mark question, three 6 mark questions, and one 12 mark question. {{BookCat}} Current questions are speculation by contributors to this page. === Question 1 - Symbol Case [3 marks] === Lower case symbols are not accepted. E.g. if you enter 'q' it is not recognized as 'Q'. Fix this. {{CPTAnswerTab|C#}}Easy solution just add .ToUpper() and it will change your lowercase inputs to uppercase and allow them to work.}} <syntaxhighlight lang="c#"> private string GetSymbolFromUser() { string Symbol = ""; while (!AllowedSymbols.Contains(Symbol)) { Console.Write("Enter symbol: "); Symbol = Console.ReadLine().ToUpper(); } return Symbol; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> private String getSymbolFromUser() { String symbol = ""; while (!allowedSymbols.contains(symbol)) { Console.write("Enter symbol: "); symbol = Console.readLine(); symbol = symbol.toUpperCase(); //added line } return symbol; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> def __GetSymbolFromUser(self): Symbol = "" while not Symbol in self.__AllowedSymbols: Symbol = input("Enter symbol: ").upper() return Symbol </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}}A simple solution, just add UCase to change all input to upper case. <syntaxhighlight lang="vb.net"> Private Function GetSymbolFromUser() As String Dim Symbol As String = "" While Not AllowedSymbols.Contains(Symbol) Console.Write("Enter symbol: ") Symbol = UCase(Console.ReadLine()) End While Return Symbol End Function </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 2 - Game file not existing [4 marks] === If a filename is entered that does not exist, the game is unplayable (infinite loop). Amend the program so that in this case the default game is played, with a suitable message to indicate this. {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> static void Main(string[] args) { string Again = "y"; int Score; while (Again == "y") { Console.Write("Press Enter to start a standard puzzle or enter name of file to load: "); string Filename = Console.ReadLine(); Puzzle MyPuzzle; if (Filename.Length > 0) { // new code for question 2 - use try/catch in main and otherwise cause default game to be played try { MyPuzzle = new Puzzle(Filename + ".txt"); } catch { Console.WriteLine("Invalid file. Playing default puzzle instead."); MyPuzzle = new Puzzle(8, Convert.ToInt32(8 * 8 * 0.6)); } // end of new code for question 2 } else { MyPuzzle = new Puzzle(8, Convert.ToInt32(8 * 8 * 0.6)); } Score = MyPuzzle.AttemptPuzzle(); Console.WriteLine("Puzzle finished. Your score was: " + Score); Console.Write("Do another puzzle? "); Again = Console.ReadLine().ToLower(); } Console.ReadLine(); } // try/catch removed from loadPuzzle subroutine private void LoadPuzzle(string Filename) { using (StreamReader MyStream = new StreamReader(Filename)) { int NoOfSymbols = Convert.ToInt32(MyStream.ReadLine()); for (var Count = 1; Count <= NoOfSymbols; Count++) { AllowedSymbols.Add(MyStream.ReadLine()); } int NoOfPatterns = Convert.ToInt32(MyStream.ReadLine()); for (var Count = 1; Count <= NoOfPatterns; Count++) { List<string> Items = MyStream.ReadLine().Split(',').ToList(); Pattern P = new Pattern(Items[0], Items[1]); AllowedPatterns.Add(P); } GridSize = Convert.ToInt32(MyStream.ReadLine()); for (var Count = 1; Count <= GridSize * GridSize; Count++) { Cell C; List<string> Items = MyStream.ReadLine().Split(',').ToList(); if (Items[0] == "@") { C = new BlockedCell(); } else { C = new Cell(); C.ChangeSymbolInCell(Items[0]); for (var CurrentSymbol = 1; CurrentSymbol < Items.Count; CurrentSymbol++) { C.AddToNotAllowedSymbols(Items[CurrentSymbol]); } } Grid.Add(C); } Score = Convert.ToInt32(MyStream.ReadLine()); SymbolsLeft = Convert.ToInt32(MyStream.ReadLine()); } } </syntaxhighlight>}}{{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> //Change loadfile to return a boolean to say if it was successful private boolean loadPuzzle(String filename) { boolean success = true; try { File myStream = new File(filename); Scanner scan = new Scanner(myStream); int noOfSymbols = Integer.parseInt(scan.nextLine()); for (int count = 0; count < noOfSymbols; count++) { allowedSymbols.add(scan.nextLine()); } int noOfPatterns = Integer.parseInt(scan.nextLine()); for (int count = 0; count < noOfPatterns; count++) { String[] items = scan.nextLine().split(",", 2); Pattern p = new Pattern(items[0], items[1]); allowedPatterns.add(p); } gridSize = Integer.parseInt(scan.nextLine()); for (int count = 1; count <= gridSize * gridSize; count++) { Cell c; String[] items = scan.nextLine().split(",", 2); if (items[0].equals("@")) { c = new BlockedCell(); } else { c = new Cell(); c.changeSymbolInCell(items[0]); for (int currentSymbol = 1; currentSymbol < items.length; currentSymbol++) { c.addToNotAllowedSymbols(items[currentSymbol]); } } grid.add(c); } score = Integer.parseInt(scan.nextLine()); symbolsLeft = Integer.parseInt(scan.nextLine()); } catch (Exception e) { Console.writeLine("Puzzle not loaded"); success = false; } return success; } //Change the Puzzle(filename) constructor to load a default 8*8 puzzle if the filename is invalid public Puzzle(String filename) { grid = new ArrayList<>(); allowedPatterns = new ArrayList<>(); allowedSymbols = new ArrayList<>(); if (!loadPuzzle(filename)) { //the puzzle could not be loaded - run normal game with default size and symbols score = 0; symbolsLeft = (int) (8*8*0.6); gridSize = 8; grid = new ArrayList<>(); for (int count = 1; count < gridSize * gridSize + 1; count++) { Cell c; if (getRandomInt(1, 101) < 90) { c = new Cell(); } else { c = new BlockedCell(); } grid.add(c); } allowedPatterns = new ArrayList<>(); allowedSymbols = new ArrayList<>(); Pattern qPattern = new Pattern("Q", "QQ**Q**QQ"); allowedPatterns.add(qPattern); allowedSymbols.add("Q"); Pattern xPattern = new Pattern("X", "X*X*X*X*X"); allowedPatterns.add(xPattern); allowedSymbols.add("X"); Pattern tPattern = new Pattern("T", "TTT**T**T"); allowedPatterns.add(tPattern); allowedSymbols.add("T"); } } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}} def __LoadPuzzle(self, Filename): try: with open(Filename) as f: NoOfSymbols = int(f.readline().rstrip()) for Count in range (1, NoOfSymbols + 1): self.__AllowedSymbols.append(f.readline().rstrip()) NoOfPatterns = int(f.readline().rstrip()) for Count in range(1, NoOfPatterns + 1): Items = f.readline().rstrip().split(",") P = Pattern(Items[0], Items[1]) self.__AllowedPatterns.append(P) self.__GridSize = int(f.readline().rstrip()) for Count in range (1, self.__GridSize * self.__GridSize + 1): Items = f.readline().rstrip().split(",") if Items[0] == "@": C = BlockedCell() self.__Grid.append(C) else: C = Cell() C.ChangeSymbolInCell(Items[0]) for CurrentSymbol in range(1, len(Items)): C.AddToNotAllowedSymbols(Items[CurrentSymbol]) self.__Grid.append(C) self.__Score = int(f.readline().rstrip()) self.__SymbolsLeft = int(f.readline().rstrip()) except: print("Puzzle not loaded") Main() #WikiBooks Q2{{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}}This helps to reset the code so that the program isn't stuck in an infinite loop trying to collect information that cannot be used. Allows the user another chance to re-enter the file name for the puzzle. <syntaxhighlight lang="vb.net"> Private Sub LoadPuzzle(Filename As String) Try Using MyStream As New StreamReader(Filename) Dim NoOfSymbols As Integer = MyStream.ReadLine() For Count = 1 To NoOfSymbols AllowedSymbols.Add(MyStream.ReadLine()) Next Dim NoOfPatterns As Integer = MyStream.ReadLine() For Count = 1 To NoOfPatterns Dim Items As List(Of String) = MyStream.ReadLine().Split(",").ToList() Dim P As Pattern = New Pattern(Items(0), Items(1)) AllowedPatterns.Add(P) Next GridSize = Convert.ToInt32(MyStream.ReadLine()) For Count = 1 To GridSize * GridSize Dim C As Cell Dim Items As List(Of String) = MyStream.ReadLine().Split(",").ToList() If Items(0) = "@" Then C = New BlockedCell() Else C = New Cell() C.ChangeSymbolInCell(Items(0)) For CurrentSymbol = 1 To Items.Count - 1 C.AddToNotAllowedSymbols(Items(CurrentSymbol)) Next End If Grid.Add(C) Next Score = MyStream.ReadLine() SymbolsLeft = MyStream.ReadLine() End Using Catch Console.WriteLine("Puzzle not loaded") Call Main() End Try End Sub </syntaxhighlight> Alternative approach --> The question asks us to only accept files that exist otherwise play a default game. I have used a function instead as it is more easier to remember. <u>Main Sub</u> <syntaxhighlight lang="vb.net"> Sub Main() Dim Again As String = "y" Dim Score As Integer While Again = "y" Console.Write("Press Enter to start a standard puzzle or enter name of file to load: ") Dim Filename As String = Console.ReadLine() Dim MyPuzzle As Puzzle If Filename.Length > 0 And isValid(Filename) Then ' added function here MyPuzzle = New Puzzle(Filename & ".txt") Else MyPuzzle = New Puzzle(8, Int(8 * 8 * 0.6)) End If Score = MyPuzzle.AttemptPuzzle() Console.WriteLine("Puzzle finished. Your score was: " & Score) Console.Write("Do another puzzle? ") Again = Console.ReadLine().ToLower() End While Console.ReadLine() End Sub </syntaxhighlight> <u>isValid function</u> <syntaxhighlight lang="vb.net"> Function isValid(path As String) As Boolean Try If File.Exists(path + ".txt") Then ' adding .txt will cause the code to not read the file Dim inp() As String = File.ReadAllLines(path + ".txt") ' reads all input If inp.Length > 0 Then ' checks if file is empty Return True Else Console.WriteLine("File is empty.") Return False End If Else Console.WriteLine("File does not exist.") Return False End If Catch ex As Exception ' if we experience any exceptions, then we can presume that the file is not a game file Console.WriteLine("Error reading file: " & ex.Message) Return False End Try End Function </syntaxhighlight>{{CPTAnswerTabEnd}} === Question 3 - Blow up a block (blocked cell) [10 marks] === Have a 'bomb' that can remove or 'blow-up' a block in a 'blocked cell', but costs you some of your score (minus some points): {{CPTAnswerTab|1=C#}} <syntaxhighlight lang="c#"> // start change private string GetSymbolFromUser() { string Symbol = ""; while (!AllowedSymbols.Contains(Symbol) && Symbol != "bomb") { Console.Write("Enter symbol or 'bomb' to blow up an @: "); Symbol = Console.ReadLine(); } return Symbol; } // end change public virtual int AttemptPuzzle() … // start change string Symbol = GetSymbolFromUser(); if (Symbol == "bomb" && Score >= 10) { int i = (GridSize - Row) * GridSize + Column – 1; Grid[i] = new Cell(CurrentCell.GetSymbolsNotAllowed); Score -= 10; } else if (Symbol == "bomb" && Score < 10) { Console.WriteLine("You do not have sufficient score to use this move"); } else { SymbolsLeft -= 1; Cell CurrentCell = GetCell(Row, Column); if (CurrentCell.CheckSymbolAllowed(Symbol)) { CurrentCell.ChangeSymbolInCell(Symbol); int AmountToAddToScore = CheckForMatchWithPattern(Row, Column); if (AmountToAddToScore > 0) { Score += AmountToAddToScore; } } if (SymbolsLeft == 0) { Finished = true; } } // end change // start change (in class Cell) public Cell(List<string> _symbolsNotAllowed) { Symbol = ""; SymbolsNotAllowed = _symbolsNotAllowed; } public List<string> GetSymbolsNotAllowed { get { return SymbolsNotAllowed; } } // end change </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}}Adding another symbol B to the list to recognise it in the process. <syntaxhighlight lang="java"> allowedSymbols.add("B"); </syntaxhighlight> And add a condition to the update loop (attemptPuzzle) for the "B" symbol <syntaxhighlight lang="java"> public int attemptPuzzle() { boolean finished = false; while (!finished) { displayPuzzle(); Console.writeLine("Current score: " + score); int row = -1; boolean valid = false; while (!valid) { Console.write("Enter row number: "); try { row = Integer.parseInt(Console.readLine()); valid = true; } catch (Exception e) { } } int column = -1; valid = false; while (!valid) { Console.write("Enter column number: "); try { column = Integer.parseInt(Console.readLine()); valid = true; } catch (Exception e) { } } String symbol = getSymbolFromUser(); Cell currentCell = getCell(row, column); // this was moved up for the validation below if(symbol.equals("B") && currentCell.getClass() == BlockedCell.class && score > 2) { // check if the symbol is "B", the target is a BlockedCell and the player has enough score to sacrifice grid.set((gridSize - row) * gridSize + column - 1, new Cell()); // set an empty cell to the position (indexing can be found in getCell() method) score -= 3; // change the score } else if (symbol.equals("B")){ System.out.println("Cannot blow an empty block or you have not enough score to use the command."); continue; // start a new iteration BEFORE symbolsLeft is decremented (no move was made) } symbolsLeft -= 1; if (currentCell.checkSymbolAllowed(symbol)) { currentCell.changeSymbolInCell(symbol); int amountToAddToScore = checkForMatchWithPattern(row, column); if (amountToAddToScore > 0) { score += amountToAddToScore; } } if (symbolsLeft == 0) { finished = true; } } Console.writeLine(); displayPuzzle(); Console.writeLine(); return score; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}This adds a new symbol "B" which can only be played on a blocked tile. <syntaxhighlight lang="python"> # Add to the init of Puzzle self.__AllowedSymbols.append("B") def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) Row = -1 Valid = False while not Valid: try: Row = int(input("Enter row number: ")) Valid = True except: pass Column = -1 Valid = False while not Valid: try: Column = int(input("Enter column number: ")) Valid = True except: pass Symbol = self.__GetSymbolFromUser() self.__SymbolsLeft -= 1 CurrentCell = self.__GetCell(Row, Column) # CHANGES HERE if Symbol == "B" and type(CurrentCell) == BlockedCell: Index = (self.__GridSize - Row) * self.__GridSize + Column - 1 self.__Grid[Index] = Cell() # Change Blocked Cell to regular Cell so the cell is "open" self.__Score -= 3 elif CurrentCell.CheckSymbolAllowed(Symbol) and Symbol != "B": CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore if self.__SymbolsLeft == 0: Finished = True print() self.DisplayPuzzle() print() return self.__Score </syntaxhighlight>{{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> ‘’in Function AttemptPuzzle() '' start change Dim Symbol As String = GetSymbolFromUser() Dim CurrentCell As Cell = GetCell(Row, Column) If ((Symbol = "bomb") And (Score >= 10)) Then Dim i As Integer = ((GridSize - Row) * GridSize + Column) - 1 Grid(i) = New Cell Score -= 10 ElseIf ((Symbol = "bomb") And (Score < 10)) Then Console.WriteLine("You do not have suffiecient score to use this move") Else SymbolsLeft -= 1 If CurrentCell.CheckSymbolAllowed(Symbol) Then CurrentCell.ChangeSymbolInCell(Symbol) Dim AmountToAddToScore As Integer = CheckForMatchWithPattern(Row, Column) If AmountToAddToScore > 0 Then Score += AmountToAddToScore End If End If If SymbolsLeft = 0 Then Finished = True End If End If ''end change Private Function GetSymbolFromUser() As String Dim Symbol As String = "" ''start change While ((Not AllowedSymbols.Contains(Symbol)) And (Not Symbol = "bomb")) '' end change Console.Write("Enter symbol or 'bomb' to blow up an @: ") Symbol = (Console.ReadLine()) End While Return Symbol End Function </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 4 - Add additional symbols/letters [3 marks] === Add additional letters/symbols e.g. L or O or U or V or C or H or I. {{CPTAnswerTab|C#}} :The code here will allow you to get 10 points for creating an L shape in the grid. <syntaxhighlight lang="c#"> Pattern LPattern = new Pattern("L", "L***LLLL*"); AllowedPatterns.Add(LPattern); AllowedSymbols.Add("L"); </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}}If you look carefully, you can spot that the pattern recognition goes in a spiral: 0_1_2 7_8_3 6_5_4 So we are going to need to map our new letter the same way: Example of "L": L_*_* L_*_* L_L_L Next, simply follow the pattern to create a string: <syntaxhighlight lang="java"> // ...other patterns Pattern lPattern = new Pattern("L", "L***LLLL*"); allowedPatterns.add(lPattern); allowedSymbols.add("L"); </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}The way that the pattern checking works is in clockwise. This is the order <syntaxhighlight lang="python"> 1 2 3 8 9 4 7 6 5 </syntaxhighlight> so the pattern for Q is QQ**Q**QQ, and if you place the symbols in that order, you get the correct pattern. <syntaxhighlight lang="python"> # Edit Puzzle().init() class Puzzle(): def __init__(self, *args): LPattern = Pattern("L", "L***LLLL*") self.__AllowedPatterns.append(LPattern) self.__AllowedSymbols.append("L") </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}}This allows the user to create an L pattern that results in them earning 10 points. Dim LPattern As Pattern = New Pattern("L", "L***LLLL*") AllowedPatterns.Add(LPattern) AllowedSymbols.Add("L") {{CPTAnswerTabEnd}} === Question 5 - Save current game (status) [5 marks] === Save the current status of the game (file-handling)/writing to a text file. {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> public virtual int AttemptPuzzle() { bool Finished = false; while (!Finished) { DisplayPuzzle(); Console.WriteLine("Current score: " + Score); bool Valid = false; int Row = -1; while (!Valid) { Console.Write("Enter row number: "); try { Row = Convert.ToInt32(Console.ReadLine()); Valid = true; } catch { } } int Column = -1; Valid = false; while (!Valid) { Console.Write("Enter column number: "); try { Column = Convert.ToInt32(Console.ReadLine()); Valid = true; } catch { } } string Symbol = GetSymbolFromUser(); SymbolsLeft -= 1 Cell CurrentCell = GetCell(Row, Column); if (CurrentCell.CheckSymbolAllowed(Symbol)) { SymbolsLeft -= 1; CurrentCell.ChangeSymbolInCell(Symbol); int AmountToAddToScore = CheckForMatchWithPattern(Row, Column); if (AmountToAddToScore > 0) { Score += AmountToAddToScore; } } if (SymbolsLeft == 0) { Finished = true; } //New code for question 5 including calling new SavePuzzle() method: Console.WriteLine("Do you wish to save your puzzle and exit? (Y for yes)"); if (Console.ReadLine().ToUpper() == "Y") { Console.WriteLine("What would you like to save your puzzle as?"); string file = Console.ReadLine(); SavePuzzle(file); Console.WriteLine("Puzzle Successfully Saved."); break; } //end of code for question 5 } Console.WriteLine(); DisplayPuzzle(); Console.WriteLine(); return Score; //new SavePuzzle() method: private void SavePuzzle(string filename) { filename = filename + ".txt"; using (StreamWriter sw = new StreamWriter(filename)) { sw.WriteLine(AllowedSymbols.Count); foreach (var symbol in AllowedSymbols) { sw.WriteLine(symbol); } sw.WriteLine(AllowedPatterns.Count); foreach (var pattern in AllowedPatterns) { sw.WriteLine(pattern.GetPatternSymbol() + "," + pattern.GetPatternSequence()); } sw.WriteLine(GridSize); foreach (Cell C in Grid) { List<string> notAllowedSymbol = C.returnNotAllowedSymbols(); try { sw.WriteLine(C.GetSymbol() + "," + notAllowedSymbol[0]); } catch { sw.WriteLine(C.GetSymbol() + ","); } } sw.WriteLine(Score); sw.WriteLine(SymbolsLeft); } } // new returnNotAllowedSymbol() method in Pattern class public virtual List<string> returnNotAllowedSymbols() { return SymbolsNotAllowed; }</syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|1=Java }}} <syntaxhighlight lang="java"> private void savePuzzle(String filename){ try { FileWriter myWriter = new FileWriter(filename); myWriter.write(""+allowedSymbols.size()+"\n"); for (String s:allowedSymbols){ myWriter.write(s+"\n"); } myWriter.write(""+allowedPatterns.size()+"\n"); for (Pattern p:allowedPatterns){ myWriter.write(p.getPatternSequence().charAt(0)+","+p.getPatternSequence()+"\n"); } myWriter.write(""+gridSize+"\n"); for (Cell c:grid){ String toWrite=""+c.getSymbol()+","; for(String s:allowedSymbols){ if (!c.checkSymbolAllowed(s)){ toWrite=toWrite+s; } } myWriter.write(toWrite+"\n"); } myWriter.write(score+"\n"); myWriter.write(symbolsLeft+"\n"); myWriter.close(); } catch (Exception e) { Console.writeLine("Puzzle not saved"); } } // And changes in attemptPuzzle Console.writeLine("Do you wish to save and quit the game y/n?: "); String quit = Console.readLine(); if (quit.equals("y")){ Console.writeLine("Please enter a filename with a .txt extension: "); String fname=Console.readLine(); savePuzzle(fname); finished = true; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> Some of the get methods have to be added manually in each class. class Puzzle: def __save_puzzle(self, filename): with open(filename, 'w') as f: f.write(f"{len(self.__AllowedSymbols)}\n") for i in self.__AllowedSymbols: f.write(f"{i}\n") f.write(f"{len(self.__AllowedPatterns)}\n") for i in self.__AllowedPatterns: f.write(f"{i.GetSymbol()},{i.GetPatternSequence()}\n") f.write(f"{self.__GridSize}\n") for cell in self.__Grid: symbol = cell.GetSymbol() f.write(f"{symbol if symbol != '-' else ''},{','.join(cell.GetNotAllowedSymbols())}\n") f.write(f"{self.__Score}\n") f.write(f"{self.__SymbolsLeft}\n") </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> Sub SaveGame() Console.WriteLine("Enter filename") Dim filename As String = Console.ReadLine filename = filename & ".txt" Dim SR As New StreamWriter(filename) 'this is the number of symbols SR.WriteLine(AllowedSymbols.Count) 'this loops through the different symbols For i As Integer = 0 To AllowedSymbols.Count - 1 SR.WriteLine(AllowedSymbols(i)) Next 'this is the number of patterns SR.WriteLine(AllowedPatterns.Count) 'displays the different patterns For j As Integer = 0 To AllowedPatterns.Count - 1 SR.WriteLine(AllowedSymbols(j) & "," & AllowedPatterns(j).GetPatternSequence) Next 'this is the gridsize SR.WriteLine(GridSize) 'this writes out the grid For a As Integer = 0 To Grid.Count - 1 SR.WriteLine(Grid(a).GetSymbol() & Grid(a).returnNotAllowedList) Next 'this is the current score SR.WriteLine(Score) 'this is the number of symbols left SR.WriteLine(SymbolsLeft) SR.Close() End Sub 'cleaned version (above version has a few issues) Public Overridable Function AttemptPuzzle() As Integer Dim Finished As Boolean = False While Not Finished DisplayPuzzle() Console.WriteLine("Current score: " & Score) Dim Valid As Boolean = False Dim Row As Integer = -1 While Not Valid Console.Write("Enter row number: ") Try Row = Console.ReadLine() Valid = True Catch End Try End While Dim Column As Integer = -1 Valid = False While Not Valid Console.Write("Enter column number: ") Try Column = Console.ReadLine() Valid = True Catch End Try End While Dim Symbol As String = GetSymbolFromUser() Dim CurrentCell As Cell = GetCell(Row, Column) If (Symbol = "bomb") AndAlso (Score >= 10) Then Dim i As Integer = ((GridSize - Row) * GridSize + Column) - 1 Grid(i) = New Cell Score -= 10 ElseIf Symbol = "Bomb" AndAlso Score < 10 Then Console.WriteLine("You do not have sufficient score to use this move") Else SymbolsLeft -= 1 If CurrentCell.CheckSymbolAllowed(Symbol) Then CurrentCell.ChangeSymbolInCell(Symbol) Dim AmountToAddToScore As Integer = CheckForMatchWithPattern(Row, Column) If AmountToAddToScore > 0 Then Score += AmountToAddToScore End If End If If SymbolsLeft = 0 Then Finished = True End If Console.WriteLine("Would you like to save your puzzle and exit? (Y/N) ") If UCase(Console.ReadLine()) = "Y" Then Console.WriteLine("What name would you like to save your puzzle as ? ") Dim new_filename As String = Console.ReadLine() + ".txt" Dim error_status = SavePuzzle(new_filename) If Not error_status Then Console.WriteLine("Puzzle Successfully Saved. ") End If End If End If End While Console.WriteLine() DisplayPuzzle() Console.WriteLine() Return Score End Function Private Function SavePuzzle(filename As String) As Boolean Dim SR As New StreamWriter(filename) SR.WriteLine(AllowedSymbols.Count) For i As Integer = 0 To AllowedSymbols.Count - 1 SR.WriteLine(AllowedSymbols(i)) Next SR.WriteLine(AllowedPatterns.Count) For j As Integer = 0 To AllowedPatterns.Count - 1 SR.WriteLine(AllowedSymbols(j) & "," & AllowedPatterns(j).GetPatternSequence) Next SR.WriteLine(GridSize) For t = 0 To Grid.Count - 1 Dim notAllowedSymbol As String ' Check if returnNotAllowedList is empty If Grid(t).returnNotAllowedList.Count > 0 Then notAllowedSymbol = Grid(t).returnNotAllowedList(0) Else notAllowedSymbol = "" End If SR.WriteLine(Grid(t).GetSymbol & "," & notAllowedSymbol) Next SR.WriteLine(Score) SR.WriteLine(SymbolsLeft) SR.Close() Return True End Function Cell class: Public Function returnNotAllowedList() As List(Of String) Return SymbolsNotAllowed End Function Alternative approach --> Its better to not modify the Cell class (unless its asked). I have also used string concatenation as its easier to remember during exam stress and is easier to understand/debug. <u>AttemptPuzzle method</u> <syntaxhighlight lang="vb.net"> Public Overridable Function AttemptPuzzle() As Integer Dim Finished As Boolean = False While Not Finished DisplayPuzzle() Console.WriteLine("Current score: " & Score) Dim Valid As Boolean = False Dim Row As Integer = -1 While Not Valid Console.Write("Enter row number: ") Try ' CHANGES START FROM HERE Dim inp1 = Console.ReadLine() If (inp1 = "SAVEGAME") Then SaveGame() Valid = False Else Row = Int32.Parse(inp1) Valid = True End If Catch ' CHANGE ENDS HERE End Try End While Dim Column As Integer = -1 Valid = False While Not Valid Console.Write("Enter column number: ") Try ' CHANGES START FROM HERE Dim inp1 = Console.ReadLine() If (inp1 = "SAVEGAME") Then SaveGame() Valid = False Else Column = Int32.Parse(inp1) Valid = True End If Catch ' CHANGE ENDS HERE End Try End While Dim Symbol As String = GetSymbolFromUser() SymbolsLeft -= 1 Dim CurrentCell As Cell = GetCell(Row, Column) If CurrentCell.CheckSymbolAllowed(Symbol) Then CurrentCell.ChangeSymbolInCell(Symbol) Dim AmountToAddToScore As Integer = CheckForMatchWithPattern(Row, Column) If AmountToAddToScore > 0 Then Score += AmountToAddToScore End If End If If SymbolsLeft = 0 Then Finished = True End If End While Console.WriteLine() DisplayPuzzle() Console.WriteLine() Return Score End Function </syntaxhighlight> <u>SaveGame method</u> <syntaxhighlight lang="vb.net"> Private Sub SaveGame() Dim alreadyExists As Boolean = True ' start by making your variables Dim savePath As String = String.Empty Dim fileContent As String = String.Empty While alreadyExists ' make a loop until you get valid input Console.Write("Enter a name:") savePath = Console.ReadLine() If File.Exists(savePath + ".txt") Then ' see if it exists alreadyExists = True Console.WriteLine("Please enter a file name that is not taken already!") Else alreadyExists = False End If End While ' We are basically constructing a string that we will then make as a text file, you can StreamReader or StringBuilder but I personally perfer this as its more easier to debug. Use the text files provided and LoadPuzzle method for help fileContent = fileContent & (AllowedSymbols.Count.ToString() + Environment.NewLine) ' symbols allowed For Each sym In AllowedSymbols fileContent = fileContent & (sym + Environment.NewLine) ' add the allowed symbols one by one Next fileContent = fileContent & (AllowedPatterns.Count.ToString() + Environment.NewLine) ' patterns allowed For Each pat In AllowedPatterns fileContent = fileContent & (findSymbol(pat.GetPatternSequence().ToString()).ToString() + "," + pat.GetPatternSequence().ToString() + Environment.NewLine) ' Get the Symbol and then the pattern split by , Next fileContent = fileContent & (GridSize.ToString() + Environment.NewLine) ' gridsize For Each item In Grid ' we export all the cells into the text file Dim symbol = item.GetSymbol ' see if its an empty cell or normal/blocked cell Dim notAllowed As String = String.Empty For Each sym In AllowedSymbols ' checks for the not allowed symbol, would be nice for AQA to make a function for us If (Not item.CheckSymbolAllowed(sym)) Then notAllowed = sym Exit For ' you will get the last symbol if you don't add this End If Next If (symbol = "-") Then ' comma only plus the not allowed symbol fileContent = fileContent & ("," + notAllowed.ToString() + Environment.NewLine) Else ' the symbol comma plus the not allowed symbol fileContent = fileContent & (symbol.ToString() + "," + notAllowed.ToString() + Environment.NewLine) End If Next fileContent = fileContent & (Score.ToString() + Environment.NewLine) ' score fileContent = fileContent & (SymbolsLeft.ToString() + Environment.NewLine) ' how many left fileContent.TrimEnd() ' bug that creates a random new line is fixed here File.WriteAllText(savePath + ".txt", fileContent) ' create txt End Sub </syntaxhighlight> <u>findSymbol method</u> <syntaxhighlight lang="vb.net"> Function findSymbol(str As String) ' Not all patterns might start with their symbol, this is a failsafe For Each strs In str If (strs <> "*") Then Return strs End If Next End Function </syntaxhighlight>{{CPTAnswerTabEnd}} === Question 6 - Rotated letter/symbol [9 marks] === Score a 'rotated' symbol/letter (lower score?) {{CPTAnswerTab|C#}}Rotated letters are given 5 points rather than 10. <syntaxhighlight lang="c#"> public virtual int CheckForMatchWithPattern(int Row, int Column) { for (var StartRow = Row + 2; StartRow >= Row; StartRow--) { for (var StartColumn = Column - 2; StartColumn <= Column; StartColumn++) { try { string PatternString = ""; PatternString += GetCell(StartRow, StartColumn).GetSymbol(); PatternString += GetCell(StartRow, StartColumn + 1).GetSymbol(); PatternString += GetCell(StartRow, StartColumn + 2).GetSymbol(); PatternString += GetCell(StartRow - 1, StartColumn + 2).GetSymbol(); PatternString += GetCell(StartRow - 2, StartColumn + 2).GetSymbol(); PatternString += GetCell(StartRow - 2, StartColumn + 1).GetSymbol(); PatternString += GetCell(StartRow - 2, StartColumn).GetSymbol(); PatternString += GetCell(StartRow - 1, StartColumn).GetSymbol(); PatternString += GetCell(StartRow - 1, StartColumn + 1).GetSymbol(); for (int i = 0; i < 4; i++) { foreach (var P in AllowedPatterns) { string CurrentSymbol = GetCell(Row, Column).GetSymbol(); if (P.MatchesPattern(PatternString, CurrentSymbol)) { GetCell(StartRow, StartColumn).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow - 1, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow - 2, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow - 2, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow - 2, StartColumn).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow - 1, StartColumn).AddToNotAllowedSymbols(CurrentSymbol); GetCell(StartRow - 1, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol); if (i == 0) { return 10; } else { return 5; } } } PatternString = PatternString.Substring(2, 6) + PatternString.Substring(0, 2) + PatternString[8]; } } catch { } } } return 0; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> public int CheckforMatchWithPattern(int Row, int Column) { for (int StartRow = Row + 2; StartRow > Row - 1; StartRow--) { for (int StartColumn = Column - 2; StartColumn < Column + 1; StartColumn++) { try { String PatternString = ""; PatternString += this.__GetCell(StartRow, StartColumn).GetSymbol(); PatternString += this.__GetCell(StartRow, StartColumn + 1).GetSymbol(); PatternString += this.__GetCell(StartRow, StartColumn + 2).GetSymbol(); PatternString += this.__GetCell(StartRow - 1, StartColumn + 2).GetSymbol(); PatternString += this.__GetCell(StartRow - 2, StartColumn + 2).GetSymbol(); PatternString += this.__GetCell(StartRow - 2, StartColumn + 1).GetSymbol(); PatternString += this.__GetCell(StartRow - 2, StartColumn).GetSymbol(); PatternString += this.__GetCell(StartRow - 1, StartColumn).GetSymbol(); PatternString += this.__GetCell(StartRow - 1, StartColumn + 1).GetSymbol(); String LeftRotation = PatternString.substring(6, 8) + PatternString.substring(0, 6) + PatternString.substring(8); String RightRotation = PatternString.substring(2, 7) + PatternString.substring(0, 2) + PatternString.substring(8); String DownRotation = PatternString.substring(4, 8) + PatternString.substring(0, 4) + PatternString.substring(8); String[] Rotations = {PatternString, LeftRotation, RightRotation, DownRotation}; for (Pattern P : this.__AllowedPatterns) { for (String rotation : Rotations) { char CurrentSymbol = this.__GetCell(Row, Column).GetSymbol(); if (P.MatchesPattern(rotation, CurrentSymbol)) { this.__GetCell(StartRow, StartColumn).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow - 1, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow - 2, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow - 2, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow - 2, StartColumn).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow - 1, StartColumn).AddToNotAllowedSymbols(CurrentSymbol); this.__GetCell(StartRow - 1, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol); return 10; } } } } catch (Exception e) { // Handle exception } } } return 0; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> def CheckforMatchWithPattern(self, Row, Column): for StartRow in range(Row + 2, Row - 1, -1): for StartColumn in range(Column - 2, Column + 1): try: PatternString = "" PatternString += self.__GetCell(StartRow, StartColumn).GetSymbol() PatternString += self.__GetCell(StartRow, StartColumn + 1).GetSymbol() PatternString += self.__GetCell(StartRow, StartColumn + 2).GetSymbol() PatternString += self.__GetCell(StartRow - 1, StartColumn + 2).GetSymbol() PatternString += self.__GetCell(StartRow - 2, StartColumn + 2).GetSymbol() PatternString += self.__GetCell(StartRow - 2, StartColumn + 1).GetSymbol() PatternString += self.__GetCell(StartRow - 2, StartColumn).GetSymbol() PatternString += self.__GetCell(StartRow - 1, StartColumn).GetSymbol() PatternString += self.__GetCell(StartRow - 1, StartColumn + 1).GetSymbol() LeftRotation = PatternString[6:8] + PatternString[:6]+PatternString[8] RightRotation = PatternString[2:8] + PatternString[0:2] + PatternString[8] DownRotation = PatternString[4:8] + PatternString[:4] + PatternString[8] Rotations = [PatternString, LeftRotation, RightRotation, DownRotation] for P in self.__AllowedPatterns: for rotation in Rotations: CurrentSymbol = self.__GetCell(Row, Column).GetSymbol() if P.MatchesPattern(rotation, CurrentSymbol): self.__GetCell(StartRow, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 1, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 2, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 2, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 2, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 1, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 1, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) return 10 except: pass return 0 </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> Public Overridable Function CheckForMatchWithPattern(Row As Integer, Column As Integer) As Integer For StartRow = Row + 2 To Row Step -1 For StartColumn = Column - 2 To Column Try Dim PatternString As String = "" PatternString &= GetCell(StartRow, StartColumn).GetSymbol() PatternString &= GetCell(StartRow, StartColumn + 1).GetSymbol() PatternString &= GetCell(StartRow, StartColumn + 2).GetSymbol() PatternString &= GetCell(StartRow - 1, StartColumn + 2).GetSymbol() PatternString &= GetCell(StartRow - 2, StartColumn + 2).GetSymbol() PatternString &= GetCell(StartRow - 2, StartColumn + 1).GetSymbol() PatternString &= GetCell(StartRow - 2, StartColumn).GetSymbol() PatternString &= GetCell(StartRow - 1, StartColumn).GetSymbol() PatternString &= GetCell(StartRow - 1, StartColumn + 1).GetSymbol() For Each P In AllowedPatterns Dim CurrentSymbol As String = GetCell(Row, Column).GetSymbol() If P.MatchesPattern(PatternString, CurrentSymbol) Then GetCell(StartRow, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 1, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 2, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 2, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 2, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 1, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 1, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) Return 10 End If Dim angles = New Integer() {90, 180, 270} For Each i As Integer In angles If P.MatchesPatternRotated(PatternString, CurrentSymbol, i) Then GetCell(StartRow, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 1, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 2, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 2, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 2, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 1, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) GetCell(StartRow - 1, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) Return 15 End If Next Next Catch End Try Next Next Return 0 End Function Public Function MatchesPatternRotated(PatternString As String, SymbolPlaced As String, Rotation As Integer) As Boolean If (SymbolPlaced <> Symbol) Then Return False End If Dim RotatedSequence As String = "" Select Case Rotation Case 90 RotatedSequence = GetPatternSequence().Substring(6, 2) + GetPatternSequence().Substring(0, 6) + GetPatternSequence.Substring(8, 1) 'Case 180 '... with substring 44 04 81...> End Select For count = 0 To PatternSequence.Length - 1 If RotatedSequence(count).ToString() = SymbolPlaced And PatternString(count).ToString() <> Symbol Then Return False End If Next Return True End Function </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 7 - Game difficulty setting [12 marks] === Offer 'game difficulty' setting to change level of game (with greater number of blocked cells) (Important -> probably lower mark question than 11 makrs, e.g. 4 mark question) {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> public Puzzle(int Size, int StartSymbols) { Score = 0; SymbolsLeft = StartSymbols; GridSize = Size; Grid = new List<Cell>(); // new code for question 5 int notBlockedChance; Console.WriteLine("Would you like the difficulty to be easy (E), medium(M), hard(H) or extremely hard (EH)?"); string difficulty = Console.ReadLine(); if (difficulty.ToUpper() == "EH") { notBlockedChance = 50; //these values are just an example and can be modified } else if (difficulty.ToUpper() == "H") { notBlockedChance = 60; } else if (difficulty.ToUpper() == "M") { notBlockedChance = 75; } else { notBlockedChance = 90; } for (var Count = 1; Count <= GridSize * GridSize; Count++) { Cell C; if (Rng.Next(1, 101) < notBlockedChance) //end of new code for question 5 { C = new Cell(); } else { C = new BlockedCell(); } Grid.Add(C); } AllowedPatterns = new List<Pattern>(); AllowedSymbols = new List<string>(); Pattern QPattern = new Pattern("Q", "QQ**Q**QQ"); AllowedPatterns.Add(QPattern); AllowedSymbols.Add("Q"); Pattern XPattern = new Pattern("X", "X*X*X*X*X"); AllowedPatterns.Add(XPattern); AllowedSymbols.Add("X"); Pattern TPattern = new Pattern("T", "TTT**T**T"); AllowedPatterns.Add(TPattern); AllowedSymbols.Add("T"); } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> public class PuzzleSP { public static void main(String[] args) { String again = "y"; int score; while (again.equals("y")) { Console.write("Press Enter to start a standard puzzle or enter name of file to load: "); String filename = Console.readLine(); Puzzle myPuzzle; if (filename.length() > 0) { myPuzzle = new Puzzle(filename + ".txt"); } else { //start of altered code Console.writeLine("enter a difficulty (1-3 easy to hard): "); int dif = Integer.parseInt(Console.readLine()); if(dif < 1 || dif > 3) { dif = 2; } myPuzzle = new Puzzle(8, (int)(8 * 8 * 0.6), dif); //end of altered code } score = myPuzzle.attemptPuzzle(); Console.writeLine("Puzzle finished. Your score was: " + score); Console.write("Do another puzzle? "); again = Console.readLine().toLowerCase(); } Console.readLine(); } } public Puzzle(int size, int startSymbols, int difficulty) { //add difficulty setting score = 0; symbolsLeft = startSymbols; gridSize = size; grid = new ArrayList<>(); for (int count = 1; count < gridSize * gridSize + 1; count++) { Cell c; int num = 0; //start of altered code if(difficulty == 1) { num = 90; } else if(difficulty == 2) { num = 70; } else if(difficulty == 3) { num = 50; } //the lower num is, the more difficult the game will be. if (getRandomInt(1, 101) < num) { c = new Cell(); } else { c = new BlockedCell(); } grid.add(c); //end of altered code } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> class Puzzle(): def __init__(self, *args): if len(args) == 1: self.__Score = 0 self.__SymbolsLeft = 0 self.__GridSize = 0 self.__Grid = [] self.__AllowedPatterns = [] self.__AllowedSymbols = [] self.__LoadPuzzle(args[0]) else: self.__Score = 0 self.__SymbolsLeft = args[1] self.__GridSize = args[0] self.__Grid = [] print("1: Easy, 2: Normal, 3: Hard") difficulty = "" while not (difficulty == "1" or difficulty == "2" or difficulty == "3") or not difficulty.isdigit(): difficulty = input("Enter a difficulty") difficulty = int(difficulty) difficulties = {1:95 , 2:80 , 3:65} #modify these values to change difficulties for Count in range(1, self.__GridSize * self.__GridSize + 1): if random.randrange(1, 101) < difficulties[difficulty]: C = Cell() else: C = BlockedCell() self.__Grid.append(C) self.__AllowedPatterns = [] self.__AllowedSymbols = [] QPattern = Pattern("Q", "QQ**Q**QQ") self.__AllowedPatterns.append(QPattern) self.__AllowedSymbols.append("Q") XPattern = Pattern("X", "X*X*X*X*X") self.__AllowedPatterns.append(XPattern) self.__AllowedSymbols.append("X") TPattern = Pattern("T", "TTT**T**T") self.__AllowedPatterns.append(TPattern) self.__AllowedSymbols.append("T") ## OR ###Adds ability for users to create new puzzle with custom gridsize and Difficulty ###(increase percentile of grid that is blocked, up to 90%) def Main(): Again = "y" Score = 0 while Again == "y": Filename = input("Press Enter to start a standard puzzle or enter name of file to load: ") if len(Filename) > 0: MyPuzzle = Puzzle(Filename + ".txt") else: GrS = 0 diff = 0 while GrS < 3 or GrS > 16: GrS = int(input("Input Desired Gridsize (i.e. 5 = 5x5 grid)")) while diff <= 0 or diff > 9: diff = int(input("Input Desired Difficulty 1-9")) diff = diff/10 diff = 1-diff MyPuzzle = Puzzle(GrS, int(GrS * GrS * diff)) Score = MyPuzzle.AttemptPuzzle() print("Puzzle finished. Your score was: " + str(Score)) Again = input("Do another puzzle? ").lower() # add (y/n) </syntaxhighlight>{{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} Difficulty based on number of moves available Sub Main() Dim Again As String = "y" Dim Score As Integer While Again = "y" Console.Write("Press Enter to start a standard puzzle or enter name of file to load: ") Dim Filename As String = Console.ReadLine() 'ADDED CODE - checks that the filename entered has a file existing in the DEBUG folder Dim fileExists As Boolean = False Dim FullFilename As String = Filename & ".txt" If FileIO.FileSystem.FileExists(FullFilename) Then fileExists = True End If 'AMENDED CODE - the if statement changed to use the boolean value above instead of 'using the text length Dim MyPuzzle As Puzzle If fileExists Then MyPuzzle = New Puzzle(Filename & ".txt") Else 'ADDED CODE Dim Dif As Integer Do Console.WriteLine("Enter a difficulty rating from 1-9") Dif = Console.ReadLine Loop Until Dif >= 1 And Dif < 10 'AMENDED CODE - difficulty rating affects the numbner of moves available MyPuzzle = New Puzzle(8, Int(8 * 8 * (1 - (0.1 * Dif)))) End If Score = MyPuzzle.AttemptPuzzle() Console.WriteLine("Puzzle finished. Your score was: " & Score) Console.Write("Do another puzzle? ") Again = Console.ReadLine().ToLower() End While Console.ReadLine() End Sub <syntaxhighlight lang="vb.net"> -> Other Implementation (could be interpreted many ways): Class Puzzle Private Score As Integer Private SymbolsLeft As Integer Private GridSize As Integer Private Grid As List(Of Cell) Private AllowedPatterns As List(Of Pattern) Private AllowedSymbols As List(Of String) Sub New(Filename As String) Grid = New List(Of Cell) AllowedPatterns = New List(Of Pattern) AllowedSymbols = New List(Of String) LoadPuzzle(Filename) End Sub Sub New(Size As Integer, StartSymbols As Integer) Score = 0 SymbolsLeft = StartSymbols GridSize = Size Grid = New List(Of Cell) 'START CHANGE HERE Dim difficulty As Integer = -1 While difficulty < 1 OrElse difficulty > 9 Console.WriteLine("Enter a difficulty rating from 1-9") difficulty = Console.ReadLine() End While For Count = 1 To GridSize * GridSize Dim C As Cell If Rng.Next(1, 101) < (10 * (10 - difficulty)) Then C = New Cell() Else C = New BlockedCell() End If Grid.Add(C) Next 'STOP CHANGE HERE AllowedPatterns = New List(Of Pattern) AllowedSymbols = New List(Of String) Dim QPattern As Pattern = New Pattern("Q", "QQ**Q**QQ") AllowedPatterns.Add(QPattern) AllowedSymbols.Add("Q") Dim XPattern As Pattern = New Pattern("X", "X*X*X*X*X") AllowedPatterns.Add(XPattern) AllowedSymbols.Add("X") Dim TPattern As Pattern = New Pattern("T", "TTT**T**T") AllowedPatterns.Add(TPattern) AllowedSymbols.Add("T") End Sub </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 8 - Fix symbols placed error [9 marks] === When you try place a symbol in a invalid cell it still counts as a placed cell towards the amount of symbols placed. {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> public virtual int AttemptPuzzle() { bool Finished = false; while (!Finished) { DisplayPuzzle(); Console.WriteLine("Current score: " + Score); bool Valid = false; int Row = -1; while (!Valid) { Console.Write("Enter row number: "); try { Row = Convert.ToInt32(Console.ReadLine()); Valid = true; } catch { } } int Column = -1; Valid = false; while (!Valid) { Console.Write("Enter column number: "); try { Column = Convert.ToInt32(Console.ReadLine()); Valid = true; } catch { } } string Symbol = GetSymbolFromUser(); //SymbolsLeft -= 1; => moved inside the IF statement Cell CurrentCell = GetCell(Row, Column); if (CurrentCell.CheckSymbolAllowed(Symbol)) { SymbolsLeft -= 1; //moved inside if statement to fix error CurrentCell.ChangeSymbolInCell(Symbol); int AmountToAddToScore = CheckForMatchWithPattern(Row, Column); if (AmountToAddToScore > 0) { Score += AmountToAddToScore; } } if (SymbolsLeft == 0) { Finished = true; } } Console.WriteLine(); DisplayPuzzle(); Console.WriteLine(); return Score; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) Row = -1 Valid = False while not Valid: try: Row = int(input("Enter row number: ")) Valid = True except: pass Column = -1 Valid = False while not Valid: try: Column = int(input("Enter column number: ")) Valid = True except: pass Symbol = self.__GetSymbolFromUser() # self.__SymbolsLeft -= 1 moving this line inside of the if statement CurrentCell = self.__GetCell(Row, Column) if CurrentCell.CheckSymbolAllowed(Symbol) and CurrentCell.IsEmpty() == True: # added to make sure that the cell is empty as well before adding to that cell self.__SymbolsLeft -= 1 # moved into the if statement CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore if self.__SymbolsLeft == 0: Finished = True print() self.DisplayPuzzle() print() return self.__Score </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> Public Overridable Function AttemptPuzzle() As Integer Dim Finished As Boolean = False While Not Finished DisplayPuzzle() Console.WriteLine("Current score: " & Score) Dim Valid As Boolean = False Dim Row As Integer = -1 While Not Valid Console.Write("Enter row number: ") Try Row = Console.ReadLine() Valid = True Catch End Try End While Dim Column As Integer = -1 Valid = False While Not Valid Console.Write("Enter column number: ") Try Column = Console.ReadLine() Valid = True Catch End Try End While Dim Symbol As String = GetSymbolFromUser() 'START CHANGE 'SymbolsLeft -= 1 -> moved from this old place Dim CurrentCell As Cell = GetCell(Row, Column) If CurrentCell.CheckSymbolAllowed(Symbol) Then SymbolsLeft -= 1 'to here, inside the if statement to only substract ammount of symbol left if it was not placed on a blocked cell CurrentCell.ChangeSymbolInCell(Symbol) Dim AmountToAddToScore As Integer = CheckForMatchWithPattern(Row, Column) If AmountToAddToScore > 0 Then Score += AmountToAddToScore End If End If 'END CHANGE If SymbolsLeft = 0 Then Finished = True End If End While Console.WriteLine() DisplayPuzzle() Console.WriteLine() Return Score End Function </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 9 - Create a new puzzle file to be imported [5 marks] === Create a new puzzle file to be imported into the code for the user to play: {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> ## annotated puzzle file, so parameters can be altered as needed 4 #number of accepted symbols Q T X O #new symbols can be added here, like so 4 #number of accepted patterns Q,QQ**Q**QQ X,X*X*X*X*X T,TTT**T**T O,OOOOOOOO* #new patterns can be added here (in proper format), like so 5 #grid size (if size = x, grid is x by x). number of entries (below) should match grid size (5 * 5 = 25 in this case) Q,Q #First symbol is symbol on board, second symbol is symbols not allowed on that grid Q,Q @,Q , , Q,Q Q,Q ,Q #eg denotes an empty space, but symbol Q is not allowed , , , X,Q Q,Q X, , , , X, , , , X, , , , 10 #starting score 1 #number of moves </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> ## annotated puzzle file, so parameters can be altered as needed 4 #number of accepted symbols Q T X O #new symbols can be added here, like so 4 #number of accepted patterns Q,QQ**Q**QQ X,X*X*X*X*X T,TTT**T**T O,OOOOOOOO* #new patterns can be added here (in proper format), like so 5 #grid size (if size = x, grid is x by x). number of entries (below) should match grid size (5 * 5 = 25 in this case) Q,Q #First symbol is symbol on board, second symbol is symbols not allowed on that grid Q,Q @,Q , , Q,Q Q,Q ,Q #eg denotes an empty space, but symbol Q is not allowed , , , X,Q Q,Q X, , , , X, , , , X, , , , 10 #starting score 1 #number of moves </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 10 - Be able to undo a move [10 marks] === Alter the '''attemptPuzzle''' subroutine such that the user is asked if they wish to undo their last move prior to the place in the loop where there is a check for '''symbolsLeft''' being equal to zero. Warn them that this will lose them 3 points. If the player chooses to undo: a.      revert the '''grid''' back to its original state b.      ensure '''symbolsLeft''' has the correct value c.      ensure '''score''' reverts to its original value minus the 3 point undo penalty d. ensure any changes made to a cell’s '''symbolsNotAllowed''' list are undone as required {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> while (!Valid) { Console.Write("Enter column number: "); try { Column = Convert.ToInt32(Console.ReadLine()); Valid = true; } catch { } } string Symbol = GetSymbolFromUser(); SymbolsLeft -= 1; // change - required in case we need to undo int previousScore = Score; // this is where the game is updated Cell CurrentCell = GetCell(Row, Column); if (CurrentCell.CheckSymbolAllowed(Symbol)) { CurrentCell.ChangeSymbolInCell(Symbol); int AmountToAddToScore = CheckForMatchWithPattern(Row, Column); if (AmountToAddToScore > 0) { Score += AmountToAddToScore; } } // changed code in AttemptPuzzle here DisplayPuzzle(); Console.WriteLine("Current score: " + Score); Console.Write("Do you want to undo (cost 3 points)? y/n: "); string answer = Console.ReadLine(); if (answer == "y" || answer == "Y") { // undo Cell currentCell = GetCell(Row, Column); currentCell.RemoveSymbol(Symbol); Score = previousScore - 3; SymbolsLeft += 1; } // end change if (SymbolsLeft == 0) { Finished = true; } } Console.WriteLine(); DisplayPuzzle(); Console.WriteLine(); return Score; } // added to cell class so that the symbol can be removed if an // undo is required public virtual void RemoveSymbol(string SymbolToRemove) { Symbol = ""; SymbolsNotAllowed.Remove(SymbolToRemove); } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> //Add two atributes in puzzle to store the start position of the last pattern matched class Puzzle { private int score; private int symbolsLeft; private int gridSize; private List<Cell> grid; private List<Pattern> allowedPatterns; private List<String> allowedSymbols; private static Random rng = new Random(); private int patternStartRow; private int patternStartColumn; // Add a subroutine to the cell class to allow removal from the notAllowedSymbol list public void removeLastNotAllowedSymbols() { int size = symbolsNotAllowed.size(); if (size > 0) { symbolsNotAllowed.remove(size - 1); } } // Alter checkForMatchWithPattern to store the start row and column of any successfully matched pattern //... if (p.matchesPattern(patternString, currentSymbol)) { patternStartRow = startRow; patternStartColumn = startColumn; //...etc //The altered attemptPuzzle subroutine public int attemptPuzzle() { boolean finished = false; while (!finished) { displayPuzzle(); Console.writeLine("Current score: " + score); int row = -1; boolean valid = false; while (!valid) { Console.write("Enter row number: "); try { row = Integer.parseInt(Console.readLine()); valid = true; } catch (Exception e) { } } int column = -1; valid = false; while (!valid) { Console.write("Enter column number: "); try { column = Integer.parseInt(Console.readLine()); valid = true; } catch (Exception e) { } } //Set up variables to store the current game state in // case of an UNDO int undoScore = score; int undoSymbolsLeft = symbolsLeft; String undoSymbol = getCell(row, column).getSymbol(); String symbol = getSymbolFromUser(); symbolsLeft -= 1; Cell currentCell = getCell(row, column); if (currentCell.checkSymbolAllowed(symbol)) { currentCell.changeSymbolInCell(symbol); int amountToAddToScore = checkForMatchWithPattern(row, column); if (amountToAddToScore > 0) { score += amountToAddToScore; } } //Prompt the user if they wish to undo Console.println(" Do you wish to undo your last move? It will cost you 3 points (y/n): "); String choice = Console.readLine(); if (choice.equals("y")) { if (score != undoScore) { //A pattern has been matched //The symbolsNotAllowed list may have changed for some cells - the current symbol needs // removing from the end of each list getCell(patternStartRow, patternStartColumn).removeLastNotAllowedSymbols(); getCell(patternStartRow, patternStartColumn + 1).removeLastNotAllowedSymbols(); getCell(patternStartRow, patternStartColumn + 2).removeLastNotAllowedSymbols(); getCell(patternStartRow - 1, patternStartColumn + 2).removeLastNotAllowedSymbols(); getCell(patternStartRow - 2, patternStartColumn + 2).removeLastNotAllowedSymbols(); getCell(patternStartRow - 2, patternStartColumn + 1).removeLastNotAllowedSymbols(); getCell(patternStartRow - 2, patternStartColumn).removeLastNotAllowedSymbols(); getCell(patternStartRow - 1, patternStartColumn).removeLastNotAllowedSymbols(); getCell(patternStartRow - 1, patternStartColumn + 1).removeLastNotAllowedSymbols(); } score = undoScore - 3; symbolsLeft = undoSymbolsLeft; currentCell.changeSymbolInCell(undoSymbol); } if (symbolsLeft == 0) { finished = true; } } Console.writeLine(); displayPuzzle(); Console.writeLine(); return score; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) Row = -1 Valid = False while not Valid: try: Row = int(input("Enter row number: ")) if Row in range(1, self.__GridSize+1): Valid = True except: pass Column = -1 Valid = False while not Valid: try: Column = int(input("Enter column number: ")) if Column in range(1, self.__GridSize+1): Valid = True except: pass # CHANGES START HERE Symbol = self.__GetSymbolFromUser() undo_symbolsleft = self.__SymbolsLeft self.__SymbolsLeft -= 1 CurrentCell = self.__GetCell(Row, Column) undo_cellsymbol = CurrentCell.GetSymbol() undo_score = self.__Score if CurrentCell.CheckSymbolAllowed(Symbol): CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore undo = input('Would you like to undo your move? You will lose 3 points. Y/N: ') if undo.upper() == 'Y': self.__Score = undo_score - 3 self.__SymbolsLeft = undo_symbolsleft CurrentCell.ChangeSymbolInCell(undo_cellsymbol) # CHANGES END HERE if self.__SymbolsLeft == 0: Finished = True print() self.DisplayPuzzle() print() return self.__Score </syntaxhighlight> <syntaxhighlight lang="python"> def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) Row = -1 Valid = False while not Valid: try: Row = int(input("Enter row number: ")) Valid = True except: pass Column = -1 Valid = False while not Valid: try: Column = int(input("Enter column number: ")) Valid = True except: pass Symbol = self.__GetSymbolFromUser() CurrentCell = self.__GetCell(Row, Column) UndoList = self.SaveForUndo(Symbol, CurrentCell, Row, Column) # Changed if CurrentCell.CheckSymbolAllowed(Symbol): self.__SymbolsLeft -= 1 # Changed CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore print() # Changed self.DisplayPuzzle() # Changed print() # Changed Choice = input("Would you like to undo last move? (Y/N) ").lower() # Changed if Choice.lower() == "y": # Changed self.__SymbolsLeft = int(UndoList[0]) # Changed CurrentCell._Symbol = UndoList[2] # Changed self.__Score = int(UndoList[3]) - 3 # Changed for n in range(0, (len(self.__Grid)-1)): # Changed if UndoList[1] in self.__Grid[n]._Cell__SymbolsNotAllowed: # Changed self.__Grid[n].RemoveFromNotAllowedSymbols(UndoList[1]) # Changed if self.__SymbolsLeft == 0: Finished = True #Added methods used in edited AttemptPuzzle def SaveForUndo(self,Symbol, Cell, Row, Column): List = [] List.append(str(self.__SymbolsLeft)) List.append(str(Symbol)) List.append(str(Cell._Symbol)) List.append(str(self.__Score)) for n in range(0, len(self.__Grid)): List.append(self.__Grid[n]._Cell__SymbolsNotAllowed) return List def RemoveFromNotAllowedSymbols(self, SymbolToRemove): self.__SymbolsNotAllowed.remove(SymbolToRemove) </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> Public Overridable Function AttemptPuzzle() As Integer Dim Finished As Boolean = False Dim CurrentCell As Cell Dim Symbol As String Dim previous_score As Integer While Not Finished DisplayPuzzle() Console.WriteLine("Current score: " & Score) Dim Valid As Boolean = False Dim Row As Integer = -1 While Not Valid Console.Write("Enter row number: ") Try Row = Console.ReadLine() Valid = True Catch End Try End While Dim Column As Integer = -1 Valid = False While Not Valid Console.Write("Enter column number: ") Try Column = Console.ReadLine() Valid = True Catch End Try End While Symbol = GetSymbolFromUser() SymbolsLeft -= 1 'FIRST CHANGE HERE previous_score = Score CurrentCell = GetCell(Row, Column) If CurrentCell.CheckSymbolAllowed(Symbol) Then CurrentCell.ChangeSymbolInCell(Symbol) Dim AmountToAddToScore As Integer = CheckForMatchWithPattern(Row, Column) If AmountToAddToScore > 0 Then Score += AmountToAddToScore End If End If 'SECOND CHANGE HERE If previous_score >= 3 Then Console.WriteLine("Current score: " & Score) Console.WriteLine() DisplayPuzzle() Console.WriteLine() Console.WriteLine("Do you want to undo the last change (cost 3 points)? (Y/N) ") Dim answer_input As Char = UCase(Console.ReadLine()) If answer_input = "Y" Then CurrentCell.RemoveSymbol(Symbol) Score = previous_score - 3 SymbolsLeft += 1 End If End If 'UNTIL HERE If SymbolsLeft = 0 Then Finished = True End If End While Console.WriteLine() DisplayPuzzle() Console.WriteLine() Return Score End Function Class Cell Protected Symbol As String Private SymbolsNotAllowed As List(Of String) Sub New() Symbol = "" SymbolsNotAllowed = New List(Of String) End Sub 'LAST CHANGE HERE Public Sub RemoveSymbol(Symbol_to_remove As String) Symbol = "" SymbolsNotAllowed.Remove(Symbol_to_remove) End Sub ' END OF CHANGE ... </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 11- Validation of Row and Column entries [5 marks] === Description of problem: Validate row and column number entries to only allow numbers within the grid size. {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> public virtual int AttemptPuzzle() { bool Finished = false; while (!Finished) { DisplayPuzzle(); Console.WriteLine("Current score: " + Score); bool Valid = false; int Row = -1; while (!Valid) { Console.Write("Enter row number: "); try { Row = Convert.ToInt32(Console.ReadLine()); // change to validate row if (Row > 0 && Row <= GridSize) { Valid = true; } } catch { } } int Column = -1; Valid = false; while (!Valid) { Console.Write("Enter column number: "); try { Column = Convert.ToInt32(Console.ReadLine()); // validate column if (Column > 0 && Column <= GridSize) { Valid = true; } } catch { } } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> public int attemptPuzzle() { boolean finished = false; while (!finished) { displayPuzzle(); Console.writeLine("Current score: " + score); int row = -1; boolean valid = false; while (!valid) { Console.write("Enter row number: "); try { row = Integer.parseInt(Console.readLine()); if(row>=1&&row<=gridSize){ //new check valid = true; } } catch (Exception e) { } } int column = -1; valid = false; while (!valid) { Console.write("Enter column number: "); try { column = Integer.parseInt(Console.readLine()); if (column>=1&&column<=gridSize){ //new check valid = true; } } catch (Exception e) { } } String symbol = getSymbolFromUser(); symbolsLeft -= 1; //etc.... </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) Row = -1 Valid = False while not Valid: Row = int(input("Enter row number: ")) if Row > self.__GridSize or Row <= 0: print("Invalid Row number\nPlease try again\n") continue else: Valid = True Column = -1 Valid = False while not Valid: Column = int(input("Enter column number: ")) if Column > self.__GridSize or Column <= 0: print("Invalid Column number\nPlease try again\n") continue else: Valid = True Symbol = self.__GetSymbolFromUser() self.__SymbolsLeft -= 1 CurrentCell = self.__GetCell(Row, Column) if CurrentCell.CheckSymbolAllowed(Symbol): CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore if self.__SymbolsLeft == 0: Finished = True print() self.DisplayPuzzle() print() return self.__Score </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> Public Overridable Function AttemptPuzzle() As Integer Dim Finished As Boolean = False While Not Finished DisplayPuzzle() Console.WriteLine("Current score: " & Score) Dim Valid As Boolean = False Dim Row As Integer = -1 While Not Valid Console.Write("Enter row number: ") 'CHANGE HERE Try Row = Console.ReadLine() If Row > 0 AndAlso Row <= GridSize Then Valid = True End If Catch 'END CHANGE End Try End While Dim Column As Integer = -1 Valid = False While Not Valid Console.Write("Enter column number: ") 'CHANGE HERE Try Column = Console.ReadLine() If Column > 0 AndAlso Column <= GridSize Then Valid = True End If Catch 'END CHANGE End Try End While Dim Symbol As String = GetSymbolFromUser() SymbolsLeft -= 1 Dim CurrentCell As Cell = GetCell(Row, Column) If CurrentCell.CheckSymbolAllowed(Symbol) Then CurrentCell.ChangeSymbolInCell(Symbol) Dim AmountToAddToScore As Integer = CheckForMatchWithPattern(Row, Column) If AmountToAddToScore > 0 Then Score += AmountToAddToScore End If End If If SymbolsLeft = 0 Then Finished = True End If End While Console.WriteLine() DisplayPuzzle() Console.WriteLine() Return Score End Function </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 12 - Why is UpdateCell() empty and never called? === Description of problem: Currently, the UpdateCell() method contains 'pass' and is not called anywhere in the program. This will almost certainly be a question, otherwise why would they include it? This may relate to the bombing idea where a Blocked Cell is bombed, and the UpdateCell() is then called to modify this Blocked Cell into a normal cell. Please suggest other ideas of what this method could be used for. Its probably used for changing a blocked cell in a pattern to a normal cell to complete a pattern. UpdateCell() could be used for unlocking a 3*3 grid if a pattern is broken allowing you to replace the symbol. This would also need to decrease the score after the pattern is broken. {{CPTAnswerTab|C#}}There are no logical errors with GetCell() as the following extract will prove <syntaxhighlight lang="c#"> public virtual int AttemptPuzzle() { bool Finished = false; while (!Finished) { DisplayPuzzle(); // row for (int row = 8; row >= 1; row--) { for (int col = 1; col <= 8; col++) { Cell cell = GetCell(row, col); Console.Write(cell.GetSymbol() + " : "); } Console.Write(Environment.NewLine); } </syntaxhighlight> However, if row and column values beyond that of the grid are entered, errors will occur. See solution for Question 12 to solve this issue.{{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 13 - Implement a wildcard * === Implement a special character * which is a wildcard. The wildcard can be used to represent any character so that multiple matches can be made with the same cell. Give the player 3 wildcards in random positions at the start of the game. a) Alter the standard Puzzle constructor (not the load game one) to call ChangeSymbolInCell for 3 random cells, passing in * as the new symbol. Note that blocked cells cannot be changed to wildcard ones so you need to add code to ensure the randomly selected cell is not a blocked cell. b) In class Cell alter the method. ChangeSymbolInCell such that wildcard cells will never have their symbol changed from * once set. In the same class, alter method CheckSymbolAllowed such that wildcard cells always return true. c) Alter method MatchesPattern in class Pattern to allow correct operation for the new wildcard * d) Test that a wildcard can successfully match within two different patterns{{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> class Puzzle { // add property to Puzzle to give 3 wildcards private int NumWildcards = 3; // ensure GetSymbolFromUser will accept wildcard private string GetSymbolFromUser() { string Symbol = ""; // take into account the wildcard symbol while (!AllowedSymbols.Contains(Symbol) && Symbol != "*" && NumWildcards > 0) { Console.Write("Enter symbol: "); Symbol = Console.ReadLine(); } // only allow three wildcards if (Symbol == "*") { NumWildcards--; } return Symbol; } // modify Matches Pattern public virtual bool MatchesPattern(string PatternString, string SymbolPlaced) { // ensure that wildcards are taken into account if (SymbolPlaced != Symbol && SymbolPlaced != "*") { return false; } for (var Count = 0; Count < PatternSequence.Length; Count++) { // ignore wildcard symbols as these all count if (PatternString[Count] == '*') { continue; } if (PatternSequence[Count].ToString() == Symbol && PatternString[Count].ToString() != Symbol) { return false; } } return true; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> //after the grid is initialised in puzzle: int gridLength = grid.size(); for (int i=0;i<3;i++){ //Get random cell int randcell = getRandomInt(0,gridLength-1); if (!grid.get(randcell).getSymbol().equals("@")){ grid.get(randcell).changeSymbolInCell("*"); } } // From Cell class: public void changeSymbolInCell(String newSymbol) { if (!symbol.equals("*")){ symbol = newSymbol; } } public boolean checkSymbolAllowed(String symbolToCheck) { if (!symbol.equals("*")){ for (String item : symbolsNotAllowed) { if (item.equals(symbolToCheck)) { return false; } } } return true; } //Pattern class public boolean matchesPattern(String patternString, String symbolPlaced) { Console.println("This pattern sequence: "+patternSequence+ "Passed in PatternString: "+patternString+ "Symbol:"+ symbolPlaced); if (!symbolPlaced.equals(symbol)) { return false; } else { for (int count = 0; count < patternSequence.length(); count++) { if (patternSequence.charAt(count) == symbol.charAt(0) && patternString.charAt(count) != symbol.charAt(0)) { if (patternString.charAt(count)!='*'){ //only return false if not a wildcard return false; } } } } return true; } </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}Change no. 1: while self.__wildcards_left > 0: SymbolGridCheck = self.__Grid[random.randint(0, len(self.__Grid))] if SymbolGridCheck.GetSymbol() != "W": SymbolGridCheck.ChangeSymbolInCell("W") self.__wildcards_left -= 1 Change no. 2: def MatchesPattern(self, PatternString, SymbolPlaced): if self.__Symbol == "W": ... elif SymbolPlaced != self.__Symbol: return False for Count in range(0, len(self.__PatternSequence)): try: if self.__PatternSequence[Count] == self.__Symbol and PatternString[Count] == "W": ... elif self.__PatternSequence[Count] == self.__Symbol and PatternString[Count] != self.__Symbol: return False except Exception as ex: print(f"EXCEPTION in MatchesPattern: {ex}") return True Change no. 3: def ChangeSymbolInCell(self, NewSymbol): if self._Symbol == "W": ... else: self._Symbol = NewSymbol def CheckSymbolAllowed(self, SymbolToCheck): for Item in self.__SymbolsNotAllowed: if Item == "W": ... elif Item == SymbolToCheck: return False return True by Sami Albizreh{{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 14 - Program allows the user to replace already placed symbols [9 marks] === the user can replace already placed symbols, and patterns, and not lose points (can fix either by stopping them replacing, or make them lose the points from the pattern the replaced): {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) Row = -1 Valid = False while not Valid: try: Row = int(input("Enter row number: ")) Valid = True except: pass Column = -1 Valid = False while not Valid: try: Column = int(input("Enter column number: ")) Valid = True except: pass Symbol = self.__GetSymbolFromUser() self.__SymbolsLeft -= 1 CurrentCell = self.__GetCell(Row, Column) if CurrentCell.CheckSymbolAllowed(Symbol) and CurrentCell.GetSymbol() == "-": #And added to check that the cell is empty so that cells cannot be placed on top of each other CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore if self.__SymbolsLeft == 0: Finished = True print() self.DisplayPuzzle() print() return self.__Score </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 15 - Program allows the user to create their own patterns and symbols [6 marks] === Description of problem: 1) request the user to create their own symbols 2) request the pattern associated with the symbol 3) output an empty grid for the user, so the user can input any coordinates to create their own pattern 4) make sure new symbols and pattern can be verified by the program '''EDIT: this would involve changing a text file or creating a new text file - AQA has never told students to do anything text file-based''' {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}} <syntaxhighlight lang="python"> # Change to the AttemptPuzzle function def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) # Change CreatePattern = input('Would you like to make your own pattern? (y/n)\n').lower() if CreatePattern == 'y': self.makeNewPattern() # End # Creation of new function in the Pattern class # Change def makeNewPattern(self): # function is used to create new 3x3 patterns symbolAllowed = False while symbolAllowed != True: newSymbol = input('Please enter a symbol you would like to add to the game:\n').upper() if len(newSymbol) == 1: # making sure the length of the symbol entered is 1 symbolAllowed = True else: pass patternAllowed = False while patternAllowed != True: newPattern = input('Please enter the new pattern (3x3):\n').upper() new = True for i in newPattern: if i != f'{newSymbol}' and i != '*': # the code checks if the pattern only contains * and the symbol chosen new = False if len(newPattern) != 9: # making sure a 3x3 pattern is chosen new = False if new == True: patternAllowed = True patternName = Pattern(f'{newSymbol}',f'{newPattern}') print(patternName.GetPatternSequence()) self.__AllowedPatterns.append(patternName) self.__AllowedSymbols.append(newSymbol) # code above is the same as in the __init__() section and adds the new patterns to the allowed patterns list print('Would you like to make another pattern? (y/n)\n') choice = input().lower() if choice == 'y': self.makeNewPattern() # End </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 16- Making a difficulty rating program === Description of problem: 1) this program can save each game in record including their score, number of symbols left, time to complete and the original empty grid 2) using these information to make a difficulty rating board, so the user can see their rating and select the one they want to play {{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|VB.NET}} <syntaxhighlight lang="vb.net"> </syntaxhighlight> {{CPTAnswerTabEnd}} === Question 19 - Advanced Wild Card [13 marks] === This questions refers to the class Puzzle. A new option of a wildcard is to be added to the game. When the player uses this option, they are given the opportunity to complete a pattern by overriding existing symbols to make that pattern. The wildcard can only be used once in a game. Task 1: Add a new option for the user that will appear before each turn. The user should be asked "Do you want to use your wildcard (Y/N)" If the user responds with "Y" then the Row, Column and Symbol will be taken as normal but then the new method ApplyWildcard should be called and the prompt for using the wildcard should no longer be shown in subsequent turns. If the user responds with "N" then the puzzle continues as normal. Task 2: Create a new method called ApplyWildcard that will take the Row, Column and Symbol as parameters and do the following: 1. Determine if the pattern can be completed in a 3x3 given the Row, Column and Symbol passed to it. a) If the pattern can be made the cells in the pattern should be updated using the method UpdateCell() in the Cell class and 5 points added for move. b) If the pattern cannot be made the user should be given the message "Sorry, the wildcard does not work for this cell – you have no wildcards left"{{CPTAnswerTab|C#}} <syntaxhighlight lang="c#"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Delphi/Pascal}} <syntaxhighlight lang="pascal"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Java}} <syntaxhighlight lang="java"> </syntaxhighlight> {{CPTAnswerTabEnd}} {{CPTAnswerTab|Python}}<syntaxhighlight lang="python"> class Puzzle(): def __init__(self, *args): if len(args) == 1: self.__Score = 0 self.__SymbolsLeft = 0 self.__GridSize = 0 self.__Grid = [] self.__AllowedPatterns = [] self.__AllowedSymbols = [] self.__LoadPuzzle(args[0]) # Change self.__WildCard = False # End else: self.__Score = 0 self.__SymbolsLeft = args[1] self.__GridSize = args[0] self.__Grid = [] # Change self.__WildCard = False # End for Count in range(1, self.__GridSize * self.__GridSize + 1): if random.randrange(1, 101) < 90: C = Cell() else: C = BlockedCell() self.__Grid.append(C) self.__AllowedPatterns = [] self.__AllowedSymbols = [] QPattern = Pattern("Q", "QQ**Q**QQ") self.__AllowedPatterns.append(QPattern) self.__AllowedSymbols.append("Q") XPattern = Pattern("X", "X*X*X*X*X") self.__AllowedPatterns.append(XPattern) self.__AllowedSymbols.append("X") TPattern = Pattern("T", "TTT**T**T") self.__AllowedPatterns.append(TPattern) self.__AllowedSymbols.append("T") # Altercation of attempt puzzle class to ask the user if they would like to use their wildcard def AttemptPuzzle(self): Finished = False while not Finished: self.DisplayPuzzle() print("Current score: " + str(self.__Score)) # Change wild = False if self.__WildCard == False: useWildCard = input('Would you like to use your wildcard (Y/N)?\n').upper() if useWildCard == 'Y': self.__WildCard = True wild = True Row = -1 Valid = False while not Valid: try: Row = int(input("Enter row number: ")) Valid = True except: pass Column = -1 Valid = False while not Valid: try: Column = int(input("Enter column number: ")) Valid = True except: pass Symbol = self.__GetSymbolFromUser() self.__SymbolsLeft -= 1 if wild == False: CurrentCell = self.__GetCell(Row, Column) if CurrentCell.CheckSymbolAllowed(Symbol): CurrentCell.ChangeSymbolInCell(Symbol) AmountToAddToScore = self.CheckforMatchWithPattern(Row, Column) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore elif wild == True: AmountToAddToScore = self.ApplyWildCard(Row,Column,Symbol) if AmountToAddToScore > 0: self.__Score += AmountToAddToScore # End if self.__SymbolsLeft == 0: Finished = True print() self.DisplayPuzzle() print() return self.__Score # Change - new function created to check if the symbol added is allowed and will create a new symbol def ApplyWildCard(self, Row, Column, Symbol): # Assuming the wildcard cannot be placed on a blocked cell as does not state currentCell = self.__GetCell(Row,Column) if currentCell.GetSymbol() != BlockedCell(): currentCell.ChangeSymbolInCell(Symbol) for StartRow in range(Row + 2, Row - 1, -1): for StartColumn in range(Column - 2, Column + 1): try: PatternString = "" PatternString += self.__GetCell(StartRow, StartColumn).GetSymbol() PatternString += self.__GetCell(StartRow, StartColumn + 1).GetSymbol() PatternString += self.__GetCell(StartRow, StartColumn + 2).GetSymbol() PatternString += self.__GetCell(StartRow - 1, StartColumn + 2).GetSymbol() PatternString += self.__GetCell(StartRow - 2, StartColumn + 2).GetSymbol() PatternString += self.__GetCell(StartRow - 2, StartColumn + 1).GetSymbol() PatternString += self.__GetCell(StartRow - 2, StartColumn).GetSymbol() PatternString += self.__GetCell(StartRow - 1, StartColumn).GetSymbol() PatternString += self.__GetCell(StartRow - 1, StartColumn + 1).GetSymbol() print(PatternString) for P in self.__AllowedPatterns: CurrentSymbol = self.__GetCell(Row, Column).GetSymbol() if P.MatchesPattern(PatternString, CurrentSymbol): self.__GetCell(StartRow, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 1, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 2, StartColumn + 2).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 2, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 2, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 1, StartColumn).AddToNotAllowedSymbols(CurrentSymbol) self.__GetCell(StartRow - 1, StartColumn + 1).AddToNotAllowedSymbols(CurrentSymbol) print('Your wildcard has worked') return 5 except: pass print('Sorry the wildcard does not work for this cell - you have no wildcards left') return 0 # End </syntaxhighlight> {{CPTAnswerTabEnd}} === '''Question 20 - Shuffle all the blocked cells [9 marks]''' === Implement a feature where the user can shuffle the blocked cells around. * The new blocked cells cannot be in the same place as they were before * They cannot overlap a matched pattern or symbol placed {{CPTAnswerTab|Python}} <syntaxhighlight lang="python"> def AttemptPuzzle(self): #Start of Change Finished = False while not Finished: self.DisplayPuzzle() if input("Do you want to reshuffle all the blocked cells?[y/n]: ").lower() == 'y': self.ReShuffleBlockedCells() self.DisplayPuzzle() #End of Change def ReShuffleBlockedCells(self): #I've done this by creating a new method in the Puzzle class indexstore = [] for i, cell in enumerate(self.__Grid): if isinstance(cell, BlockedCell): indexstore.append(i) for num in indexstore: checker = True while checker: a = random.randint(1, (self.__GridSize**2)-1) if a not in indexstore: if self.__Grid[a].IsEmpty(): checker = False self.__Grid[num] = Cell() self.__Grid[a] = BlockedCell() </syntaxhighlight> {{CPTAnswerTabEnd}}'''Question 21 - A challenge option - where The letters the user has to place down will be randomly generated and if the user successfully does it they gain points otherwise they will lose points (10 marks)''' 1engjxijyqvjrattpsy24arje4zcz98 Talk:C Programming/C trigraph 1 461501 4444329 4324579 2024-11-10T21:10:50Z FeRDNYC 457914 Reply 4444329 wikitext text/x-wiki ??? is not in the list so it won't be replaced by a single question mark. [[Special:Contributions/87.197.120.126|87.197.120.126]] ([[User talk:87.197.120.126|discuss]]) 10:42, 13 September 2023 (UTC) :And the text isn't claiming that it will. :The trigraph in the example isn't <code>???</code>, it's the <code>??/</code> that comes ''after'' the first question mark in the string. <code>Eh?</code><code>??/</code><code>n</code> will become <code>Eh?</code><code>\n</code> after trigraph processing. [[User:FeRDNYC|FeRDNYC]] ([[User talk:FeRDNYC|discuss]] • [[Special:Contributions/FeRDNYC|contribs]]) 21:10, 10 November 2024 (UTC) 458bzcsi61vox8raw6uwo5l2ncwltjz 4444334 4444329 2024-11-10T21:28:39Z FeRDNYC 457914 /* Poor example */ new section 4444334 wikitext text/x-wiki ??? is not in the list so it won't be replaced by a single question mark. [[Special:Contributions/87.197.120.126|87.197.120.126]] ([[User talk:87.197.120.126|discuss]]) 10:42, 13 September 2023 (UTC) :And the text isn't claiming that it will. :The trigraph in the example isn't <code>???</code>, it's the <code>??/</code> that comes ''after'' the first question mark in the string. <code>Eh?</code><code>??/</code><code>n</code> will become <code>Eh?</code><code>\n</code> after trigraph processing. [[User:FeRDNYC|FeRDNYC]] ([[User talk:FeRDNYC|discuss]] • [[Special:Contributions/FeRDNYC|contribs]]) 21:10, 10 November 2024 (UTC) == Poor example == Limiting trigraph use to replacing a single character inside a string literal makes, IMHO, for a rather poor example, as it "misses the point" of trigraphs. AIUI, trigraphs (for better or worse) were intended to make writing '''program source code''' more convenient on systems where, due to standard localized keyboard layout and/or character set, commonly-used C source characters are inconvenient to access. Thus, a better example of the use of trigraphs might be a "Hello, world" source listing such as: <syntaxhighlight lang="c"> ??=include <stdio.h> int main(int argc, char **argv) ??< char message??(20??) = "??-??-Hello, world.??-??-"; printf("%s??/n", message); ??> </syntaxhighlight> Which due to the trigraph rules is exactly equivalent to: <syntaxhighlight lang="c"> #include <stdio.h> int main(int argc, char **argv) { char message[20] = "~~Hello, world.~~"; printf("%s\n", message); } </syntaxhighlight> Compiling the latter with <syntaxhighlight lang="sh" inline>gcc -Wall -o no-trigraph no-trigraph.c</syntaxhighlight>, or the former with <syntaxhighlight lang="sh" inline>gcc -Wall -trigraphs -o trigraph trigraph.c</syntaxhighlight>, will therefore produce the same result: an executable program which prints <code>~~Hello, world.~~</code> followed by a newline when run. [[User:FeRDNYC|FeRDNYC]] ([[User talk:FeRDNYC|discuss]] • [[Special:Contributions/FeRDNYC|contribs]]) 21:28, 10 November 2024 (UTC) pi3tgds7j42ai20na8lc8hfy73hno3r Cookbook:Jambon 102 462215 4444366 4332408 2024-11-11T04:01:38Z JackBot 396820 Bot: Fixing double redirect to [[Cookbook:Jambons]] 4444366 wikitext text/x-wiki #REDIRECT [[Cookbook:Jambons]] 723jqsnhw6dgwonc0p1mk027dkbeju4 LineageOS 0 467999 4444328 4414979 2024-11-10T21:02:31Z Xeverything11 3410648 more 4444328 wikitext text/x-wiki {{status|0%}} [[File:LineageOS Wordmark.svg|480px|center]] This is a book on installing and using LineageOS. == Contents == * {{decistage|1|2024-11-10}} [[/Compatibility/]] * {{decistage|0}} [[/Installing/]] * {{decistage|0}} [[/Features/]] * {{decistage|0}} [[/Apps/]] [[Category:Book:LineageOS]] [[Category:Shelf:Operating systems]] khqdotzaxoqxw4ifq7cj3isqjtt65dj 4444333 4444328 2024-11-10T21:23:15Z Xeverything11 3410648 /* Contents */ upd 4444333 wikitext text/x-wiki {{status|0%}} [[File:LineageOS Wordmark.svg|480px|center]] This is a book on installing and using LineageOS. == Contents == * {{decistage|1|2024-11-10}} [[/Compatibility/]] * {{decistage|1|2024-11-10}} [[/Installing/]] * {{decistage|0}} [[/Features/]] * {{decistage|0}} [[/Apps/]] [[Category:Book:LineageOS]] [[Category:Shelf:Operating systems]] s64qn0z3j28qdb92wicfvvh0eqav0pt 4444383 4444333 2024-11-11T09:22:23Z Xeverything11 3410648 /* Contents */ upd 4444383 wikitext text/x-wiki {{status|0%}} [[File:LineageOS Wordmark.svg|480px|center]] This is a book on installing and using LineageOS. == Contents == * {{decistage|1|2024-11-10}} [[/Compatibility/]] * {{decistage|2|2024-11-11}} [[/Installing/]] * {{decistage|0}} [[/Features/]] * {{decistage|0}} [[/Apps/]] [[Category:Book:LineageOS]] [[Category:Shelf:Operating systems]] 3wwlpfszmqvze4undgekdt4h5830fis 4444387 4444383 2024-11-11T09:46:13Z Xeverything11 3410648 img 4444387 wikitext text/x-wiki {{status|0%}} [[File:LineageOS Wordmark.svg|480px|center]] [[File:Lineage OS 21 home screen.png|thumb|right|Lineage OS 21 home screen after fresh-install on Google Pixel 6 Pro "raven"]] This is a book on installing and using LineageOS. == Contents == * {{decistage|1|2024-11-10}} [[/Compatibility/]] * {{decistage|2|2024-11-11}} [[/Installing/]] * {{decistage|0}} [[/Features/]] * {{decistage|0}} [[/Apps/]] [[Category:Book:LineageOS]] [[Category:Shelf:Operating systems]] skhl1n1ikqh1flu0hxsmn7p8f90ukv0 A-level Computing/AQA/Paper 1/Skeleton program/2025 0 469216 4444384 4444058 2024-11-11T09:23:24Z 62.64.156.162 /* Section D Predictions */ Removed previous year mark summaries as they are not relevant to this years program at all 4444384 wikitext text/x-wiki == Section C Predictions. FEAKTY == I HATE TARIK WILL BE ONE OF THE QUESTIONS == Section D Predictions == The 2023 paper 1 contains 4 questions: a 5 mark, a 9 mark question, a 10 mark question and one 13 mark questio - these mark include the screen cpture(s), so the likely marks for th coding will be 1-2 marks lower. '''1) Using each number more than once but no repeats within the 5 given?''' {{CPTAnswerTab|C#}} C# - DM - Riddlesdown <br></br> ________________________________________________________________ <br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> C# KN - Riddlesdown <br></br> ________________________________________________________________<br></br> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight>{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}Edit <code>FillNumbers()</code> to add a selection (if) statement to ensure that the number returned from <code>GetNumber()</code> has not already been appended to the list <code>NumbersAllowed</code>. <syntaxhighlight lang="python"> def FillNumbers(NumbersAllowed, TrainingGame, MaxNumber): if TrainingGame: return [2, 3, 2, 8, 512] else: while len(NumbersAllowed) < 5: NewNumber = GetNumber(MaxNumber) if NewNumber not in NumbersAllowed: NumbersAllowed.append(NewNumber) else: continue return NumbersAllowed </syntaxhighlight> Edit <code>CheckNumbersUsedAreAllInNumbersAllowed()</code> to ensure that numbers that the user has inputted are not removed from the <code>Temp</code> list, allowing numbers to be re-used. <syntaxhighlight lang="python"> def CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber): Temp = [] for Item in NumbersAllowed: Temp.append(Item) for Item in UserInputInRPN: if CheckValidNumber(Item, MaxNumber): if int(Item) in Temp: continue else: return False return True </syntaxhighlight>{{CPTAnswerTabEnd}} '''2)''' '''Update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} Riddlesdown - KH <br></br> __________________________________________________________________<br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put remove spaces under user input <syntaxhighlight lang="csharp" line="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> I doubt this will be a question because it could be resolved in a couple of lines <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''3) Add exponentials (using ^ or similar)''' {{CPTAnswerTab|C#}} Riddlesdown - Unknown <br></br> _________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { // CHANGE START return Regex.IsMatch(UserInput, @"^([0-9]+[\+\-\*\/\^])+[0-9]+$"); // CHANGE END } </syntaxhighlight> {{CPTAnswer|}} In ConvertToRPN() add the ^ to the list of operators and give it the highest precedence }} <syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown static List<string> ConvertToRPN(string UserInput) { int Position = 0; Dictionary<string, int> Precedence = new Dictionary<string, int> { // CHANGE START { "+", 2 }, { "-", 2 }, { "*", 4 }, { "/", 4 }, { "^", 5 } // CHANGE END }; List<string> Operators = new List<string>(); </syntaxhighlight> In EvaluateRPN() add the check to see if the current user input contains the ^, and make it evaluate the exponential if it does<syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown<br></br> _________________________________________________________________________<br></br> static int EvaluateRPN(List<string> UserInputInRPN) { List<string> S = new List<string>(); while (UserInputInRPN.Count > 0) { // CHANGE START while (!"+-*/^".Contains(UserInputInRPN[0])) // CHANGE END { S.Add(UserInputInRPN[0]); UserInputInRPN.RemoveAt(0); } double Num2 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Num1 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Result = 0; switch (UserInputInRPN[0]) { case "+": Result = Num1 + Num2; break; case "-": Result = Num1 - Num2; break; case "*": Result = Num1 * Num2; break; case "/": Result = Num1 / Num2; break; // CHANGE START case "^": Result = Math.Pow(Num1, Num2); break; // CHANGE END } UserInputInRPN.RemoveAt(0); S.Add(Convert.ToString(Result)); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''4) Allow the user to include brackets for their own order of operations.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> while (Position < UserInput.Length) { char CurrentChar = UserInput[Position]; if (char.IsDigit(CurrentChar)) { string Number = ""; while (Position < UserInput.Length && char.IsDigit(UserInput[Position])) { Number += UserInput[Position]; Position++; } UserInputInRPN.Add(Number); } else if (CurrentChar == '(') { Operators.Add("("); Position++; } else if (CurrentChar == ')') { while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(") { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.RemoveAt(Operators.Count - 1); Position++; } else if ("+-*/^".Contains(CurrentChar)) { string CurrentOperator = CurrentChar.ToString(); while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(" && Precedence[Operators[Operators.Count - 1]] >= Precedence[CurrentOperator]) { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.Add(CurrentOperator); Position++; } } </syntaxhighlight>{{CPTAnswerTabEnd}} 5)Implement a Postfix game mode which takes the user's input in RPN instead of infix. 6) Do not advance the target list forward for invalid entries, instead inform the user the entry was invalid and prompt them for a new one. 7) Implement a menu where the user can start a new game or quit their current game. 8) The program does not end even when 'Game Over' message is displayed. Ensure the program ends when the game is over. 9) Program does not stop after 'Game Over!' with no way for the user to exit. 10) Practice game - only generates 119 as new targets. 11) Give the user a single-use ability to generate a new set of allowable numbers 12) Allow the user to input and work with negative numbers 13) Allow the user to quit the game. 14) Increase the score with a bonus equal to the quantity of allowable numbers used in a qualifying expression. 15) Implement a multiplicative score bonus for each priority (first number in the target list) number completed sequentially. 16) If the user creates a qualifying expression which uses all the allowable numbers, grant the user a special reward ability (one use until unlocked again) to allow the user to enter any number of choice and this value will be removed from the target list. '''17) Add an item that lets you clear any target.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> Console.WriteLine("Do you want to remove a target?"); UserInput1 = Console.ReadLine().ToUpper(); if (UserInput1 == "YES") { if (Score >= 10) { Console.WriteLine("What number?"); UserInput3 = Console.Read(); Score = Score - 10; } else { Console.WriteLine("You do not have enough points"); Console.ReadKey(); } } else if (UserInput1 == "NO") { Console.WriteLine("You selected NO"); } Score--; if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); </syntaxhighlight> C# - KH- Riddlesdown <br></br> _____________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool RemoveTarget(List<int> Targets, string Userinput) { bool removed = false; int targetremove = int.Parse(Userinput); for (int Count = 0; Count < Targets.Count - 1; Count++) { if(targetremove == Targets[Count]) { removed = true; Targets.RemoveAt(Count); } } if (!removed) { Console.WriteLine("invalid target"); return (false); } return (true); } while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(UserInput); Console.ReadKey(); Console.WriteLine(); if(UserInput.ToUpper() == "R") { Console.WriteLine("Enter the target"); UserInput = Console.ReadLine(); if(RemoveTarget(Targets, UserInput)) { Score -= 5; } } else { if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; } if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } } Console.WriteLine("Game over!"); DisplayScore(Score); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''18) Allowed numbers don’t have any duplicate numbers, and can be used multiple times''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________<br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight> {{CPTAnswerTabEnd}} '''19) update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________ <br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put RemoveSpaces() under user input. <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> A shorter way <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces2(string UserInput) { string newString = ""; foreach (char c in UserInput) { if (c != ' ') { newString += c; } } return newString; } </syntaxhighlight> Also don’t forget to add a call to it around line 58 <syntaxhighlight lang="csharp" line="1" start="1"> static void PlayGame(List<int> Targets, List<int> NumbersAllowed, bool TrainingGame, int MaxTarget, int MaxNumber) { ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); // Add remove spaces func here UserInput = RemoveSpaces2(UserInput); Console.WriteLine(); ... </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> Alternative shorter solution: <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''20) Hard mode where the same target cant appear twice.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } } </syntaxhighlight> Also, at line 355 update CreateTargets: <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } return Targets; } </syntaxhighlight> {{CPTAnswerTabEnd}} '''21) Once a target is cleared, prevent it from being generated again.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> internal class Program { static Random RGen = new Random(); // CHANGE START static List<int> TargetsUsed = new List<int>(); // CHANGE END ... </syntaxhighlight> Next create these new functions at the bottom: <syntaxhighlight lang="csharp" line="1" start="1"> // CHANGE START static bool CheckIfEveryPossibleTargetHasBeenUsed(int MaxNumber) { if (TargetsUsed.Count >= MaxNumber) { return true; } else { return false; } } static bool CheckAllTargetsCleared(List<int> Targets) { bool allCleared = true; foreach (int i in Targets) { if (i != -1) { allCleared = false; } } return allCleared; } // CHANGE END </syntaxhighlight> Update CreateTargets (line 366) and UpdateTargets (line 126) so that they check if the generated number is in the TargetsUsed list we made <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int SelectedTarget = GetTarget(MaxTarget); Targets.Add(SelectedTarget); if (!TargetsUsed.Contains(SelectedTarget)) { TargetsUsed.Add(SelectedTarget); } // CHANGE END } return Targets; } static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START if (TargetsUsed.Count == MaxTarget) { Targets.Add(-1); return; } int ChosenTarget = GetTarget(MaxTarget); while (TargetsUsed.Contains(ChosenTarget)) { ChosenTarget = GetTarget(MaxTarget); } Targets.Add(ChosenTarget); TargetsUsed.Add(ChosenTarget); // CHANGE END } } </syntaxhighlight> Finally in the main game loop (line 57) you should add the check to make sure that the user has cleared every possible number <syntaxhighlight lang="csharp" line="1" start="1"> ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(); if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; // CHANGE START if (Targets[0] != -1 || (CheckIfEveryPossibleTargetHasBeenUsed(MaxNumber) && CheckAllTargetsCleared(Targets))) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } // CHANGE END } Console.WriteLine("Game over!"); DisplayScore(Score); </syntaxhighlight> {{CPTAnswerTabEnd}} '''22) When a target is cleared, put a £ symbol in its position in the target list. When the £ symbol reaches the end of the tracker, increase the score by 1.''' {{CPTAnswerTab|C#}} C# - <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> </syntaxhighlight> {{CPTAnswerTabEnd}}'''23) Implement a victory condition which allows the player to win the game by achieving a certain score. Allow the user to pick difficulty, e.g. easy (10), normal (20), hard (40).''' '''24) Shotgun. If an expression exactly evaluates to a target, the score is increased by 3 and remove the target as normal. If an evaluation is within 1 of the target, the score is increased by 1 and remove those targets too.''' '''25) Every time the user inputs an expression, shuffle the current position of all targets (cannot push a number closer to the end though).''' '''26) Speed Demon. Implement a mode where the target list moves a number of places equal to the current player score. Instead of ending the game when a target gets to the end of the tracker, subtract 1 from their score. If their score ever goes negative, the player loses.''' '''27) Allow the user to save the current state of the game using a text file and implement the ability to load up a game when they begin the program.''' '''28) Multiple of X. The program should randomly generate a number each turn, e.g. 3 and if the user creates an expression which removes a target which is a multiple of that number, give them a bonus of their score equal to the multiple (in this case, 3 extra score).''' '''29) Validate a user's entry to confirm their choice before accepting an expression.''' '''30) Prime time punch. If the completed target was a prime number, destroy the targets on either side of the prime number (count them as scored).''' '''31) Josh Lord.''' '''32) make the program object oriented''' '''33) do not use reverse polish notation''' '''34) Allow the user to specify the highest number within the five <code>NumbersAllowed</code>.''' '''35) Allow the user to save and reload the game.''' {{CPTAnswerTab|Python}}This solution focuses on logging all values that had been printed the previous game, overwriting the score, and then continuing the game as before. A game log can be saved, reloaded and then continued before being saved again without loss of data. Add selection (<code>if</code>) statement at the top of <code>PlayGame()</code> to allow for user to input desired action <syntaxhighlight> Score = 0 GameOver = False if (input("Load last saved game? (y/n): ").lower() == "y"): with open("savegame.txt", "r") as f: lines = [] for line in f: lines.append(line) print(line) Score = re.search(r'\d+', lines[-2]) else: open("savegame.txt", 'w').close() while not GameOver: </syntaxhighlight> Change <code>DisplayScore()</code>, <code>DisplayNumbersAllowed()</code> and <code>DisplayTargets()</code> to allow for the values to be returned instead of being printed. <syntaxhighlight> def DisplayScore(Score): output = str("Current score: " + str(Score)) print(output) print() print() return output def DisplayNumbersAllowed(NumbersAllowed): list_of_numbers = [] for N in NumbersAllowed: list_of_numbers.append((str(N) + " ")) output = str("Numbers available: " + "".join(list_of_numbers)) print(output) print() print() return output def DisplayTargets(Targets): list_of_targets = [] for T in Targets: if T == -1: list_of_targets.append(" ") else: list_of_targets.append(str(T)) list_of_targets.append("|") output = str("|" + "".join(list_of_targets)) print(output) print() print() return output </syntaxhighlight> Print returned values, as well as appending to the save file. <syntaxhighlight> def DisplayState(Targets, NumbersAllowed, Score): DisplayTargets(Targets) DisplayNumbersAllowed(NumbersAllowed) DisplayScore(Score) try: with open("savegame.txt", "a") as f: f.write(DisplayTargets(Targets) + "\n\n" + DisplayNumbersAllowed(NumbersAllowed) + "\n\n" + DisplayScore(Score) + "\n\n") except Exception as e: print(f"There was an exception: {e}") </syntaxhighlighting>{{CPTAnswerTabEnd}} t3p1otaw0k5m78hufx3upsf7n58g1wu 4444385 4444384 2024-11-11T09:24:50Z 62.64.156.162 /* Section D Predictions */ Included marks for 2025 section D and corrected spelling mistakes 4444385 wikitext text/x-wiki == Section C Predictions. FEAKTY == I HATE TARIK WILL BE ONE OF THE QUESTIONS == Section D Predictions == The 2025 paper 1 contains 4 questions: a 5 mark, a 8 mark question, a 12 mark question and one 14 mark question - these mark include the screen capture(s), so the likely marks for the coding will be 1-2 marks lower. '''1) Using each number more than once but no repeats within the 5 given?''' {{CPTAnswerTab|C#}} C# - DM - Riddlesdown <br></br> ________________________________________________________________ <br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> C# KN - Riddlesdown <br></br> ________________________________________________________________<br></br> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight>{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}Edit <code>FillNumbers()</code> to add a selection (if) statement to ensure that the number returned from <code>GetNumber()</code> has not already been appended to the list <code>NumbersAllowed</code>. <syntaxhighlight lang="python"> def FillNumbers(NumbersAllowed, TrainingGame, MaxNumber): if TrainingGame: return [2, 3, 2, 8, 512] else: while len(NumbersAllowed) < 5: NewNumber = GetNumber(MaxNumber) if NewNumber not in NumbersAllowed: NumbersAllowed.append(NewNumber) else: continue return NumbersAllowed </syntaxhighlight> Edit <code>CheckNumbersUsedAreAllInNumbersAllowed()</code> to ensure that numbers that the user has inputted are not removed from the <code>Temp</code> list, allowing numbers to be re-used. <syntaxhighlight lang="python"> def CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber): Temp = [] for Item in NumbersAllowed: Temp.append(Item) for Item in UserInputInRPN: if CheckValidNumber(Item, MaxNumber): if int(Item) in Temp: continue else: return False return True </syntaxhighlight>{{CPTAnswerTabEnd}} '''2)''' '''Update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} Riddlesdown - KH <br></br> __________________________________________________________________<br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put remove spaces under user input <syntaxhighlight lang="csharp" line="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> I doubt this will be a question because it could be resolved in a couple of lines <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''3) Add exponentials (using ^ or similar)''' {{CPTAnswerTab|C#}} Riddlesdown - Unknown <br></br> _________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { // CHANGE START return Regex.IsMatch(UserInput, @"^([0-9]+[\+\-\*\/\^])+[0-9]+$"); // CHANGE END } </syntaxhighlight> {{CPTAnswer|}} In ConvertToRPN() add the ^ to the list of operators and give it the highest precedence }} <syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown static List<string> ConvertToRPN(string UserInput) { int Position = 0; Dictionary<string, int> Precedence = new Dictionary<string, int> { // CHANGE START { "+", 2 }, { "-", 2 }, { "*", 4 }, { "/", 4 }, { "^", 5 } // CHANGE END }; List<string> Operators = new List<string>(); </syntaxhighlight> In EvaluateRPN() add the check to see if the current user input contains the ^, and make it evaluate the exponential if it does<syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown<br></br> _________________________________________________________________________<br></br> static int EvaluateRPN(List<string> UserInputInRPN) { List<string> S = new List<string>(); while (UserInputInRPN.Count > 0) { // CHANGE START while (!"+-*/^".Contains(UserInputInRPN[0])) // CHANGE END { S.Add(UserInputInRPN[0]); UserInputInRPN.RemoveAt(0); } double Num2 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Num1 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Result = 0; switch (UserInputInRPN[0]) { case "+": Result = Num1 + Num2; break; case "-": Result = Num1 - Num2; break; case "*": Result = Num1 * Num2; break; case "/": Result = Num1 / Num2; break; // CHANGE START case "^": Result = Math.Pow(Num1, Num2); break; // CHANGE END } UserInputInRPN.RemoveAt(0); S.Add(Convert.ToString(Result)); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''4) Allow the user to include brackets for their own order of operations.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> while (Position < UserInput.Length) { char CurrentChar = UserInput[Position]; if (char.IsDigit(CurrentChar)) { string Number = ""; while (Position < UserInput.Length && char.IsDigit(UserInput[Position])) { Number += UserInput[Position]; Position++; } UserInputInRPN.Add(Number); } else if (CurrentChar == '(') { Operators.Add("("); Position++; } else if (CurrentChar == ')') { while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(") { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.RemoveAt(Operators.Count - 1); Position++; } else if ("+-*/^".Contains(CurrentChar)) { string CurrentOperator = CurrentChar.ToString(); while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(" && Precedence[Operators[Operators.Count - 1]] >= Precedence[CurrentOperator]) { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.Add(CurrentOperator); Position++; } } </syntaxhighlight>{{CPTAnswerTabEnd}} 5)Implement a Postfix game mode which takes the user's input in RPN instead of infix. 6) Do not advance the target list forward for invalid entries, instead inform the user the entry was invalid and prompt them for a new one. 7) Implement a menu where the user can start a new game or quit their current game. 8) The program does not end even when 'Game Over' message is displayed. Ensure the program ends when the game is over. 9) Program does not stop after 'Game Over!' with no way for the user to exit. 10) Practice game - only generates 119 as new targets. 11) Give the user a single-use ability to generate a new set of allowable numbers 12) Allow the user to input and work with negative numbers 13) Allow the user to quit the game. 14) Increase the score with a bonus equal to the quantity of allowable numbers used in a qualifying expression. 15) Implement a multiplicative score bonus for each priority (first number in the target list) number completed sequentially. 16) If the user creates a qualifying expression which uses all the allowable numbers, grant the user a special reward ability (one use until unlocked again) to allow the user to enter any number of choice and this value will be removed from the target list. '''17) Add an item that lets you clear any target.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> Console.WriteLine("Do you want to remove a target?"); UserInput1 = Console.ReadLine().ToUpper(); if (UserInput1 == "YES") { if (Score >= 10) { Console.WriteLine("What number?"); UserInput3 = Console.Read(); Score = Score - 10; } else { Console.WriteLine("You do not have enough points"); Console.ReadKey(); } } else if (UserInput1 == "NO") { Console.WriteLine("You selected NO"); } Score--; if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); </syntaxhighlight> C# - KH- Riddlesdown <br></br> _____________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool RemoveTarget(List<int> Targets, string Userinput) { bool removed = false; int targetremove = int.Parse(Userinput); for (int Count = 0; Count < Targets.Count - 1; Count++) { if(targetremove == Targets[Count]) { removed = true; Targets.RemoveAt(Count); } } if (!removed) { Console.WriteLine("invalid target"); return (false); } return (true); } while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(UserInput); Console.ReadKey(); Console.WriteLine(); if(UserInput.ToUpper() == "R") { Console.WriteLine("Enter the target"); UserInput = Console.ReadLine(); if(RemoveTarget(Targets, UserInput)) { Score -= 5; } } else { if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; } if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } } Console.WriteLine("Game over!"); DisplayScore(Score); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''18) Allowed numbers don’t have any duplicate numbers, and can be used multiple times''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________<br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight> {{CPTAnswerTabEnd}} '''19) update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________ <br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put RemoveSpaces() under user input. <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> A shorter way <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces2(string UserInput) { string newString = ""; foreach (char c in UserInput) { if (c != ' ') { newString += c; } } return newString; } </syntaxhighlight> Also don’t forget to add a call to it around line 58 <syntaxhighlight lang="csharp" line="1" start="1"> static void PlayGame(List<int> Targets, List<int> NumbersAllowed, bool TrainingGame, int MaxTarget, int MaxNumber) { ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); // Add remove spaces func here UserInput = RemoveSpaces2(UserInput); Console.WriteLine(); ... </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> Alternative shorter solution: <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''20) Hard mode where the same target cant appear twice.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } } </syntaxhighlight> Also, at line 355 update CreateTargets: <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } return Targets; } </syntaxhighlight> {{CPTAnswerTabEnd}} '''21) Once a target is cleared, prevent it from being generated again.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> internal class Program { static Random RGen = new Random(); // CHANGE START static List<int> TargetsUsed = new List<int>(); // CHANGE END ... </syntaxhighlight> Next create these new functions at the bottom: <syntaxhighlight lang="csharp" line="1" start="1"> // CHANGE START static bool CheckIfEveryPossibleTargetHasBeenUsed(int MaxNumber) { if (TargetsUsed.Count >= MaxNumber) { return true; } else { return false; } } static bool CheckAllTargetsCleared(List<int> Targets) { bool allCleared = true; foreach (int i in Targets) { if (i != -1) { allCleared = false; } } return allCleared; } // CHANGE END </syntaxhighlight> Update CreateTargets (line 366) and UpdateTargets (line 126) so that they check if the generated number is in the TargetsUsed list we made <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int SelectedTarget = GetTarget(MaxTarget); Targets.Add(SelectedTarget); if (!TargetsUsed.Contains(SelectedTarget)) { TargetsUsed.Add(SelectedTarget); } // CHANGE END } return Targets; } static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START if (TargetsUsed.Count == MaxTarget) { Targets.Add(-1); return; } int ChosenTarget = GetTarget(MaxTarget); while (TargetsUsed.Contains(ChosenTarget)) { ChosenTarget = GetTarget(MaxTarget); } Targets.Add(ChosenTarget); TargetsUsed.Add(ChosenTarget); // CHANGE END } } </syntaxhighlight> Finally in the main game loop (line 57) you should add the check to make sure that the user has cleared every possible number <syntaxhighlight lang="csharp" line="1" start="1"> ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(); if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; // CHANGE START if (Targets[0] != -1 || (CheckIfEveryPossibleTargetHasBeenUsed(MaxNumber) && CheckAllTargetsCleared(Targets))) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } // CHANGE END } Console.WriteLine("Game over!"); DisplayScore(Score); </syntaxhighlight> {{CPTAnswerTabEnd}} '''22) When a target is cleared, put a £ symbol in its position in the target list. When the £ symbol reaches the end of the tracker, increase the score by 1.''' {{CPTAnswerTab|C#}} C# - <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> </syntaxhighlight> {{CPTAnswerTabEnd}}'''23) Implement a victory condition which allows the player to win the game by achieving a certain score. Allow the user to pick difficulty, e.g. easy (10), normal (20), hard (40).''' '''24) Shotgun. If an expression exactly evaluates to a target, the score is increased by 3 and remove the target as normal. If an evaluation is within 1 of the target, the score is increased by 1 and remove those targets too.''' '''25) Every time the user inputs an expression, shuffle the current position of all targets (cannot push a number closer to the end though).''' '''26) Speed Demon. Implement a mode where the target list moves a number of places equal to the current player score. Instead of ending the game when a target gets to the end of the tracker, subtract 1 from their score. If their score ever goes negative, the player loses.''' '''27) Allow the user to save the current state of the game using a text file and implement the ability to load up a game when they begin the program.''' '''28) Multiple of X. The program should randomly generate a number each turn, e.g. 3 and if the user creates an expression which removes a target which is a multiple of that number, give them a bonus of their score equal to the multiple (in this case, 3 extra score).''' '''29) Validate a user's entry to confirm their choice before accepting an expression.''' '''30) Prime time punch. If the completed target was a prime number, destroy the targets on either side of the prime number (count them as scored).''' '''31) Josh Lord.''' '''32) make the program object oriented''' '''33) do not use reverse polish notation''' '''34) Allow the user to specify the highest number within the five <code>NumbersAllowed</code>.''' '''35) Allow the user to save and reload the game.''' {{CPTAnswerTab|Python}}This solution focuses on logging all values that had been printed the previous game, overwriting the score, and then continuing the game as before. A game log can be saved, reloaded and then continued before being saved again without loss of data. Add selection (<code>if</code>) statement at the top of <code>PlayGame()</code> to allow for user to input desired action <syntaxhighlight> Score = 0 GameOver = False if (input("Load last saved game? (y/n): ").lower() == "y"): with open("savegame.txt", "r") as f: lines = [] for line in f: lines.append(line) print(line) Score = re.search(r'\d+', lines[-2]) else: open("savegame.txt", 'w').close() while not GameOver: </syntaxhighlight> Change <code>DisplayScore()</code>, <code>DisplayNumbersAllowed()</code> and <code>DisplayTargets()</code> to allow for the values to be returned instead of being printed. <syntaxhighlight> def DisplayScore(Score): output = str("Current score: " + str(Score)) print(output) print() print() return output def DisplayNumbersAllowed(NumbersAllowed): list_of_numbers = [] for N in NumbersAllowed: list_of_numbers.append((str(N) + " ")) output = str("Numbers available: " + "".join(list_of_numbers)) print(output) print() print() return output def DisplayTargets(Targets): list_of_targets = [] for T in Targets: if T == -1: list_of_targets.append(" ") else: list_of_targets.append(str(T)) list_of_targets.append("|") output = str("|" + "".join(list_of_targets)) print(output) print() print() return output </syntaxhighlight> Print returned values, as well as appending to the save file. <syntaxhighlight> def DisplayState(Targets, NumbersAllowed, Score): DisplayTargets(Targets) DisplayNumbersAllowed(NumbersAllowed) DisplayScore(Score) try: with open("savegame.txt", "a") as f: f.write(DisplayTargets(Targets) + "\n\n" + DisplayNumbersAllowed(NumbersAllowed) + "\n\n" + DisplayScore(Score) + "\n\n") except Exception as e: print(f"There was an exception: {e}") </syntaxhighlighting>{{CPTAnswerTabEnd}} synkwi67brvkzt2u0gci9mu4dnurkke 4444390 4444385 2024-11-11T10:39:29Z 46.245.144.78 skibidi 4444390 wikitext text/x-wiki == Section C Predictions. FEAKTY == I HATE TARIK WILL BE ONE OF THE QUESTIONS. Skibidi, gentlemen. == Section D Predictions == The 2025 paper 1 contains 4 questions: a 5 mark, a 8 mark question, a 12 mark question and one 14 mark question - these mark include the screen capture(s), so the likely marks for the coding will be 1-2 marks lower. '''1) Using each number more than once but no repeats within the 5 given?''' {{CPTAnswerTab|C#}} C# - DM - Riddlesdown <br></br> ________________________________________________________________ <br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> C# KN - Riddlesdown <br></br> ________________________________________________________________<br></br> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight>{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}Edit <code>FillNumbers()</code> to add a selection (if) statement to ensure that the number returned from <code>GetNumber()</code> has not already been appended to the list <code>NumbersAllowed</code>. <syntaxhighlight lang="python"> def FillNumbers(NumbersAllowed, TrainingGame, MaxNumber): if TrainingGame: return [2, 3, 2, 8, 512] else: while len(NumbersAllowed) < 5: NewNumber = GetNumber(MaxNumber) if NewNumber not in NumbersAllowed: NumbersAllowed.append(NewNumber) else: continue return NumbersAllowed </syntaxhighlight> Edit <code>CheckNumbersUsedAreAllInNumbersAllowed()</code> to ensure that numbers that the user has inputted are not removed from the <code>Temp</code> list, allowing numbers to be re-used. <syntaxhighlight lang="python"> def CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber): Temp = [] for Item in NumbersAllowed: Temp.append(Item) for Item in UserInputInRPN: if CheckValidNumber(Item, MaxNumber): if int(Item) in Temp: continue else: return False return True </syntaxhighlight>{{CPTAnswerTabEnd}} '''2)''' '''Update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} Riddlesdown - KH <br></br> __________________________________________________________________<br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put remove spaces under user input <syntaxhighlight lang="csharp" line="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> I doubt this will be a question because it could be resolved in a couple of lines <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''3) Add exponentials (using ^ or similar)''' {{CPTAnswerTab|C#}} Riddlesdown - Unknown <br></br> _________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { // CHANGE START return Regex.IsMatch(UserInput, @"^([0-9]+[\+\-\*\/\^])+[0-9]+$"); // CHANGE END } </syntaxhighlight> {{CPTAnswer|}} In ConvertToRPN() add the ^ to the list of operators and give it the highest precedence }} <syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown static List<string> ConvertToRPN(string UserInput) { int Position = 0; Dictionary<string, int> Precedence = new Dictionary<string, int> { // CHANGE START { "+", 2 }, { "-", 2 }, { "*", 4 }, { "/", 4 }, { "^", 5 } // CHANGE END }; List<string> Operators = new List<string>(); </syntaxhighlight> In EvaluateRPN() add the check to see if the current user input contains the ^, and make it evaluate the exponential if it does<syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown<br></br> _________________________________________________________________________<br></br> static int EvaluateRPN(List<string> UserInputInRPN) { List<string> S = new List<string>(); while (UserInputInRPN.Count > 0) { // CHANGE START while (!"+-*/^".Contains(UserInputInRPN[0])) // CHANGE END { S.Add(UserInputInRPN[0]); UserInputInRPN.RemoveAt(0); } double Num2 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Num1 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Result = 0; switch (UserInputInRPN[0]) { case "+": Result = Num1 + Num2; break; case "-": Result = Num1 - Num2; break; case "*": Result = Num1 * Num2; break; case "/": Result = Num1 / Num2; break; // CHANGE START case "^": Result = Math.Pow(Num1, Num2); break; // CHANGE END } UserInputInRPN.RemoveAt(0); S.Add(Convert.ToString(Result)); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''4) Allow the user to include brackets for their own order of operations.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> while (Position < UserInput.Length) { char CurrentChar = UserInput[Position]; if (char.IsDigit(CurrentChar)) { string Number = ""; while (Position < UserInput.Length && char.IsDigit(UserInput[Position])) { Number += UserInput[Position]; Position++; } UserInputInRPN.Add(Number); } else if (CurrentChar == '(') { Operators.Add("("); Position++; } else if (CurrentChar == ')') { while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(") { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.RemoveAt(Operators.Count - 1); Position++; } else if ("+-*/^".Contains(CurrentChar)) { string CurrentOperator = CurrentChar.ToString(); while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(" && Precedence[Operators[Operators.Count - 1]] >= Precedence[CurrentOperator]) { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.Add(CurrentOperator); Position++; } } </syntaxhighlight>{{CPTAnswerTabEnd}} 5)Implement a Postfix game mode which takes the user's input in RPN instead of infix. 6) Do not advance the target list forward for invalid entries, instead inform the user the entry was invalid and prompt them for a new one. 7) Implement a menu where the user can start a new game or quit their current game. 8) The program does not end even when 'Game Over' message is displayed. Ensure the program ends when the game is over. 9) Program does not stop after 'Game Over!' with no way for the user to exit. 10) Practice game - only generates 119 as new targets. 11) Give the user a single-use ability to generate a new set of allowable numbers 12) Allow the user to input and work with negative numbers 13) Allow the user to quit the game. 14) Increase the score with a bonus equal to the quantity of allowable numbers used in a qualifying expression. 15) Implement a multiplicative score bonus for each priority (first number in the target list) number completed sequentially. 16) If the user creates a qualifying expression which uses all the allowable numbers, grant the user a special reward ability (one use until unlocked again) to allow the user to enter any number of choice and this value will be removed from the target list. '''17) Add an item that lets you clear any target.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> Console.WriteLine("Do you want to remove a target?"); UserInput1 = Console.ReadLine().ToUpper(); if (UserInput1 == "YES") { if (Score >= 10) { Console.WriteLine("What number?"); UserInput3 = Console.Read(); Score = Score - 10; } else { Console.WriteLine("You do not have enough points"); Console.ReadKey(); } } else if (UserInput1 == "NO") { Console.WriteLine("You selected NO"); } Score--; if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); </syntaxhighlight> C# - KH- Riddlesdown <br></br> _____________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool RemoveTarget(List<int> Targets, string Userinput) { bool removed = false; int targetremove = int.Parse(Userinput); for (int Count = 0; Count < Targets.Count - 1; Count++) { if(targetremove == Targets[Count]) { removed = true; Targets.RemoveAt(Count); } } if (!removed) { Console.WriteLine("invalid target"); return (false); } return (true); } while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(UserInput); Console.ReadKey(); Console.WriteLine(); if(UserInput.ToUpper() == "R") { Console.WriteLine("Enter the target"); UserInput = Console.ReadLine(); if(RemoveTarget(Targets, UserInput)) { Score -= 5; } } else { if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; } if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } } Console.WriteLine("Game over!"); DisplayScore(Score); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''18) Allowed numbers don’t have any duplicate numbers, and can be used multiple times''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________<br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight> {{CPTAnswerTabEnd}} '''19) update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________ <br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put RemoveSpaces() under user input. <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> A shorter way <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces2(string UserInput) { string newString = ""; foreach (char c in UserInput) { if (c != ' ') { newString += c; } } return newString; } </syntaxhighlight> Also don’t forget to add a call to it around line 58 <syntaxhighlight lang="csharp" line="1" start="1"> static void PlayGame(List<int> Targets, List<int> NumbersAllowed, bool TrainingGame, int MaxTarget, int MaxNumber) { ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); // Add remove spaces func here UserInput = RemoveSpaces2(UserInput); Console.WriteLine(); ... </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> Alternative shorter solution: <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''20) Hard mode where the same target cant appear twice.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } } </syntaxhighlight> Also, at line 355 update CreateTargets: <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } return Targets; } </syntaxhighlight> {{CPTAnswerTabEnd}} '''21) Once a target is cleared, prevent it from being generated again.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> internal class Program { static Random RGen = new Random(); // CHANGE START static List<int> TargetsUsed = new List<int>(); // CHANGE END ... </syntaxhighlight> Next create these new functions at the bottom: <syntaxhighlight lang="csharp" line="1" start="1"> // CHANGE START static bool CheckIfEveryPossibleTargetHasBeenUsed(int MaxNumber) { if (TargetsUsed.Count >= MaxNumber) { return true; } else { return false; } } static bool CheckAllTargetsCleared(List<int> Targets) { bool allCleared = true; foreach (int i in Targets) { if (i != -1) { allCleared = false; } } return allCleared; } // CHANGE END </syntaxhighlight> Update CreateTargets (line 366) and UpdateTargets (line 126) so that they check if the generated number is in the TargetsUsed list we made <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int SelectedTarget = GetTarget(MaxTarget); Targets.Add(SelectedTarget); if (!TargetsUsed.Contains(SelectedTarget)) { TargetsUsed.Add(SelectedTarget); } // CHANGE END } return Targets; } static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START if (TargetsUsed.Count == MaxTarget) { Targets.Add(-1); return; } int ChosenTarget = GetTarget(MaxTarget); while (TargetsUsed.Contains(ChosenTarget)) { ChosenTarget = GetTarget(MaxTarget); } Targets.Add(ChosenTarget); TargetsUsed.Add(ChosenTarget); // CHANGE END } } </syntaxhighlight> Finally in the main game loop (line 57) you should add the check to make sure that the user has cleared every possible number <syntaxhighlight lang="csharp" line="1" start="1"> ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(); if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; // CHANGE START if (Targets[0] != -1 || (CheckIfEveryPossibleTargetHasBeenUsed(MaxNumber) && CheckAllTargetsCleared(Targets))) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } // CHANGE END } Console.WriteLine("Game over!"); DisplayScore(Score); </syntaxhighlight> {{CPTAnswerTabEnd}} '''22) When a target is cleared, put a £ symbol in its position in the target list. When the £ symbol reaches the end of the tracker, increase the score by 1.''' {{CPTAnswerTab|C#}} C# - <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> </syntaxhighlight> {{CPTAnswerTabEnd}}'''23) Implement a victory condition which allows the player to win the game by achieving a certain score. Allow the user to pick difficulty, e.g. easy (10), normal (20), hard (40).''' '''24) Shotgun. If an expression exactly evaluates to a target, the score is increased by 3 and remove the target as normal. If an evaluation is within 1 of the target, the score is increased by 1 and remove those targets too.''' '''25) Every time the user inputs an expression, shuffle the current position of all targets (cannot push a number closer to the end though).''' '''26) Speed Demon. Implement a mode where the target list moves a number of places equal to the current player score. Instead of ending the game when a target gets to the end of the tracker, subtract 1 from their score. If their score ever goes negative, the player loses.''' '''27) Allow the user to save the current state of the game using a text file and implement the ability to load up a game when they begin the program.''' '''28) Multiple of X. The program should randomly generate a number each turn, e.g. 3 and if the user creates an expression which removes a target which is a multiple of that number, give them a bonus of their score equal to the multiple (in this case, 3 extra score).''' '''29) Validate a user's entry to confirm their choice before accepting an expression.''' '''30) Prime time punch. If the completed target was a prime number, destroy the targets on either side of the prime number (count them as scored).''' '''31) Josh Lord.''' '''32) make the program object oriented''' '''33) do not use reverse polish notation''' '''34) Allow the user to specify the highest number within the five <code>NumbersAllowed</code>.''' '''35) Allow the user to save and reload the game.''' {{CPTAnswerTab|Python}}This solution focuses on logging all values that had been printed the previous game, overwriting the score, and then continuing the game as before. A game log can be saved, reloaded and then continued before being saved again without loss of data. Add selection (<code>if</code>) statement at the top of <code>PlayGame()</code> to allow for user to input desired action <syntaxhighlight> Score = 0 GameOver = False if (input("Load last saved game? (y/n): ").lower() == "y"): with open("savegame.txt", "r") as f: lines = [] for line in f: lines.append(line) print(line) Score = re.search(r'\d+', lines[-2]) else: open("savegame.txt", 'w').close() while not GameOver: </syntaxhighlight> Change <code>DisplayScore()</code>, <code>DisplayNumbersAllowed()</code> and <code>DisplayTargets()</code> to allow for the values to be returned instead of being printed. <syntaxhighlight> def DisplayScore(Score): output = str("Current score: " + str(Score)) print(output) print() print() return output def DisplayNumbersAllowed(NumbersAllowed): list_of_numbers = [] for N in NumbersAllowed: list_of_numbers.append((str(N) + " ")) output = str("Numbers available: " + "".join(list_of_numbers)) print(output) print() print() return output def DisplayTargets(Targets): list_of_targets = [] for T in Targets: if T == -1: list_of_targets.append(" ") else: list_of_targets.append(str(T)) list_of_targets.append("|") output = str("|" + "".join(list_of_targets)) print(output) print() print() return output </syntaxhighlight> Print returned values, as well as appending to the save file. <syntaxhighlight> def DisplayState(Targets, NumbersAllowed, Score): DisplayTargets(Targets) DisplayNumbersAllowed(NumbersAllowed) DisplayScore(Score) try: with open("savegame.txt", "a") as f: f.write(DisplayTargets(Targets) + "\n\n" + DisplayNumbersAllowed(NumbersAllowed) + "\n\n" + DisplayScore(Score) + "\n\n") except Exception as e: print(f"There was an exception: {e}") </syntaxhighlighting>{{CPTAnswerTabEnd}} 6yvc1f609hywz5m1ubttcpmq33e4fnz 4444391 4444390 2024-11-11T10:56:10Z 5.150.114.163 /* Section C Predictions. FEAKTY */ 4444391 wikitext text/x-wiki == Section C Predictions. == == Section D Predictions == The 2025 paper 1 contains 4 questions: a 5 mark, a 8 mark question, a 12 mark question and one 14 mark question - these mark include the screen capture(s), so the likely marks for the coding will be 1-2 marks lower. '''1) Using each number more than once but no repeats within the 5 given?''' {{CPTAnswerTab|C#}} C# - DM - Riddlesdown <br></br> ________________________________________________________________ <br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> C# KN - Riddlesdown <br></br> ________________________________________________________________<br></br> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight>{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}Edit <code>FillNumbers()</code> to add a selection (if) statement to ensure that the number returned from <code>GetNumber()</code> has not already been appended to the list <code>NumbersAllowed</code>. <syntaxhighlight lang="python"> def FillNumbers(NumbersAllowed, TrainingGame, MaxNumber): if TrainingGame: return [2, 3, 2, 8, 512] else: while len(NumbersAllowed) < 5: NewNumber = GetNumber(MaxNumber) if NewNumber not in NumbersAllowed: NumbersAllowed.append(NewNumber) else: continue return NumbersAllowed </syntaxhighlight> Edit <code>CheckNumbersUsedAreAllInNumbersAllowed()</code> to ensure that numbers that the user has inputted are not removed from the <code>Temp</code> list, allowing numbers to be re-used. <syntaxhighlight lang="python"> def CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber): Temp = [] for Item in NumbersAllowed: Temp.append(Item) for Item in UserInputInRPN: if CheckValidNumber(Item, MaxNumber): if int(Item) in Temp: continue else: return False return True </syntaxhighlight>{{CPTAnswerTabEnd}} '''2)''' '''Update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} Riddlesdown - KH <br></br> __________________________________________________________________<br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put remove spaces under user input <syntaxhighlight lang="csharp" line="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> I doubt this will be a question because it could be resolved in a couple of lines <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''3) Add exponentials (using ^ or similar)''' {{CPTAnswerTab|C#}} Riddlesdown - Unknown <br></br> _________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { // CHANGE START return Regex.IsMatch(UserInput, @"^([0-9]+[\+\-\*\/\^])+[0-9]+$"); // CHANGE END } </syntaxhighlight> {{CPTAnswer|}} In ConvertToRPN() add the ^ to the list of operators and give it the highest precedence }} <syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown static List<string> ConvertToRPN(string UserInput) { int Position = 0; Dictionary<string, int> Precedence = new Dictionary<string, int> { // CHANGE START { "+", 2 }, { "-", 2 }, { "*", 4 }, { "/", 4 }, { "^", 5 } // CHANGE END }; List<string> Operators = new List<string>(); </syntaxhighlight> In EvaluateRPN() add the check to see if the current user input contains the ^, and make it evaluate the exponential if it does<syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown<br></br> _________________________________________________________________________<br></br> static int EvaluateRPN(List<string> UserInputInRPN) { List<string> S = new List<string>(); while (UserInputInRPN.Count > 0) { // CHANGE START while (!"+-*/^".Contains(UserInputInRPN[0])) // CHANGE END { S.Add(UserInputInRPN[0]); UserInputInRPN.RemoveAt(0); } double Num2 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Num1 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Result = 0; switch (UserInputInRPN[0]) { case "+": Result = Num1 + Num2; break; case "-": Result = Num1 - Num2; break; case "*": Result = Num1 * Num2; break; case "/": Result = Num1 / Num2; break; // CHANGE START case "^": Result = Math.Pow(Num1, Num2); break; // CHANGE END } UserInputInRPN.RemoveAt(0); S.Add(Convert.ToString(Result)); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''4) Allow the user to include brackets for their own order of operations.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> while (Position < UserInput.Length) { char CurrentChar = UserInput[Position]; if (char.IsDigit(CurrentChar)) { string Number = ""; while (Position < UserInput.Length && char.IsDigit(UserInput[Position])) { Number += UserInput[Position]; Position++; } UserInputInRPN.Add(Number); } else if (CurrentChar == '(') { Operators.Add("("); Position++; } else if (CurrentChar == ')') { while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(") { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.RemoveAt(Operators.Count - 1); Position++; } else if ("+-*/^".Contains(CurrentChar)) { string CurrentOperator = CurrentChar.ToString(); while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(" && Precedence[Operators[Operators.Count - 1]] >= Precedence[CurrentOperator]) { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.Add(CurrentOperator); Position++; } } </syntaxhighlight>{{CPTAnswerTabEnd}} 5)Implement a Postfix game mode which takes the user's input in RPN instead of infix. 6) Do not advance the target list forward for invalid entries, instead inform the user the entry was invalid and prompt them for a new one. 7) Implement a menu where the user can start a new game or quit their current game. 8) The program does not end even when 'Game Over' message is displayed. Ensure the program ends when the game is over. 9) Program does not stop after 'Game Over!' with no way for the user to exit. 10) Practice game - only generates 119 as new targets. 11) Give the user a single-use ability to generate a new set of allowable numbers 12) Allow the user to input and work with negative numbers 13) Allow the user to quit the game. 14) Increase the score with a bonus equal to the quantity of allowable numbers used in a qualifying expression. 15) Implement a multiplicative score bonus for each priority (first number in the target list) number completed sequentially. 16) If the user creates a qualifying expression which uses all the allowable numbers, grant the user a special reward ability (one use until unlocked again) to allow the user to enter any number of choice and this value will be removed from the target list. '''17) Add an item that lets you clear any target.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> Console.WriteLine("Do you want to remove a target?"); UserInput1 = Console.ReadLine().ToUpper(); if (UserInput1 == "YES") { if (Score >= 10) { Console.WriteLine("What number?"); UserInput3 = Console.Read(); Score = Score - 10; } else { Console.WriteLine("You do not have enough points"); Console.ReadKey(); } } else if (UserInput1 == "NO") { Console.WriteLine("You selected NO"); } Score--; if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); </syntaxhighlight> C# - KH- Riddlesdown <br></br> _____________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool RemoveTarget(List<int> Targets, string Userinput) { bool removed = false; int targetremove = int.Parse(Userinput); for (int Count = 0; Count < Targets.Count - 1; Count++) { if(targetremove == Targets[Count]) { removed = true; Targets.RemoveAt(Count); } } if (!removed) { Console.WriteLine("invalid target"); return (false); } return (true); } while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(UserInput); Console.ReadKey(); Console.WriteLine(); if(UserInput.ToUpper() == "R") { Console.WriteLine("Enter the target"); UserInput = Console.ReadLine(); if(RemoveTarget(Targets, UserInput)) { Score -= 5; } } else { if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; } if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } } Console.WriteLine("Game over!"); DisplayScore(Score); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''18) Allowed numbers don’t have any duplicate numbers, and can be used multiple times''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________<br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight> {{CPTAnswerTabEnd}} '''19) update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________ <br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put RemoveSpaces() under user input. <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> A shorter way <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces2(string UserInput) { string newString = ""; foreach (char c in UserInput) { if (c != ' ') { newString += c; } } return newString; } </syntaxhighlight> Also don’t forget to add a call to it around line 58 <syntaxhighlight lang="csharp" line="1" start="1"> static void PlayGame(List<int> Targets, List<int> NumbersAllowed, bool TrainingGame, int MaxTarget, int MaxNumber) { ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); // Add remove spaces func here UserInput = RemoveSpaces2(UserInput); Console.WriteLine(); ... </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> Alternative shorter solution: <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''20) Hard mode where the same target cant appear twice.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } } </syntaxhighlight> Also, at line 355 update CreateTargets: <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } return Targets; } </syntaxhighlight> {{CPTAnswerTabEnd}} '''21) Once a target is cleared, prevent it from being generated again.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> internal class Program { static Random RGen = new Random(); // CHANGE START static List<int> TargetsUsed = new List<int>(); // CHANGE END ... </syntaxhighlight> Next create these new functions at the bottom: <syntaxhighlight lang="csharp" line="1" start="1"> // CHANGE START static bool CheckIfEveryPossibleTargetHasBeenUsed(int MaxNumber) { if (TargetsUsed.Count >= MaxNumber) { return true; } else { return false; } } static bool CheckAllTargetsCleared(List<int> Targets) { bool allCleared = true; foreach (int i in Targets) { if (i != -1) { allCleared = false; } } return allCleared; } // CHANGE END </syntaxhighlight> Update CreateTargets (line 366) and UpdateTargets (line 126) so that they check if the generated number is in the TargetsUsed list we made <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int SelectedTarget = GetTarget(MaxTarget); Targets.Add(SelectedTarget); if (!TargetsUsed.Contains(SelectedTarget)) { TargetsUsed.Add(SelectedTarget); } // CHANGE END } return Targets; } static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START if (TargetsUsed.Count == MaxTarget) { Targets.Add(-1); return; } int ChosenTarget = GetTarget(MaxTarget); while (TargetsUsed.Contains(ChosenTarget)) { ChosenTarget = GetTarget(MaxTarget); } Targets.Add(ChosenTarget); TargetsUsed.Add(ChosenTarget); // CHANGE END } } </syntaxhighlight> Finally in the main game loop (line 57) you should add the check to make sure that the user has cleared every possible number <syntaxhighlight lang="csharp" line="1" start="1"> ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(); if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; // CHANGE START if (Targets[0] != -1 || (CheckIfEveryPossibleTargetHasBeenUsed(MaxNumber) && CheckAllTargetsCleared(Targets))) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } // CHANGE END } Console.WriteLine("Game over!"); DisplayScore(Score); </syntaxhighlight> {{CPTAnswerTabEnd}} '''22) When a target is cleared, put a £ symbol in its position in the target list. When the £ symbol reaches the end of the tracker, increase the score by 1.''' {{CPTAnswerTab|C#}} C# - <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> </syntaxhighlight> {{CPTAnswerTabEnd}}'''23) Implement a victory condition which allows the player to win the game by achieving a certain score. Allow the user to pick difficulty, e.g. easy (10), normal (20), hard (40).''' '''24) Shotgun. If an expression exactly evaluates to a target, the score is increased by 3 and remove the target as normal. If an evaluation is within 1 of the target, the score is increased by 1 and remove those targets too.''' '''25) Every time the user inputs an expression, shuffle the current position of all targets (cannot push a number closer to the end though).''' '''26) Speed Demon. Implement a mode where the target list moves a number of places equal to the current player score. Instead of ending the game when a target gets to the end of the tracker, subtract 1 from their score. If their score ever goes negative, the player loses.''' '''27) Allow the user to save the current state of the game using a text file and implement the ability to load up a game when they begin the program.''' '''28) Multiple of X. The program should randomly generate a number each turn, e.g. 3 and if the user creates an expression which removes a target which is a multiple of that number, give them a bonus of their score equal to the multiple (in this case, 3 extra score).''' '''29) Validate a user's entry to confirm their choice before accepting an expression.''' '''30) Prime time punch. If the completed target was a prime number, destroy the targets on either side of the prime number (count them as scored).''' '''31) Josh Lord.''' '''32) make the program object oriented''' '''33) do not use reverse polish notation''' '''34) Allow the user to specify the highest number within the five <code>NumbersAllowed</code>.''' '''35) Allow the user to save and reload the game.''' {{CPTAnswerTab|Python}}This solution focuses on logging all values that had been printed the previous game, overwriting the score, and then continuing the game as before. A game log can be saved, reloaded and then continued before being saved again without loss of data. Add selection (<code>if</code>) statement at the top of <code>PlayGame()</code> to allow for user to input desired action <syntaxhighlight> Score = 0 GameOver = False if (input("Load last saved game? (y/n): ").lower() == "y"): with open("savegame.txt", "r") as f: lines = [] for line in f: lines.append(line) print(line) Score = re.search(r'\d+', lines[-2]) else: open("savegame.txt", 'w').close() while not GameOver: </syntaxhighlight> Change <code>DisplayScore()</code>, <code>DisplayNumbersAllowed()</code> and <code>DisplayTargets()</code> to allow for the values to be returned instead of being printed. <syntaxhighlight> def DisplayScore(Score): output = str("Current score: " + str(Score)) print(output) print() print() return output def DisplayNumbersAllowed(NumbersAllowed): list_of_numbers = [] for N in NumbersAllowed: list_of_numbers.append((str(N) + " ")) output = str("Numbers available: " + "".join(list_of_numbers)) print(output) print() print() return output def DisplayTargets(Targets): list_of_targets = [] for T in Targets: if T == -1: list_of_targets.append(" ") else: list_of_targets.append(str(T)) list_of_targets.append("|") output = str("|" + "".join(list_of_targets)) print(output) print() print() return output </syntaxhighlight> Print returned values, as well as appending to the save file. <syntaxhighlight> def DisplayState(Targets, NumbersAllowed, Score): DisplayTargets(Targets) DisplayNumbersAllowed(NumbersAllowed) DisplayScore(Score) try: with open("savegame.txt", "a") as f: f.write(DisplayTargets(Targets) + "\n\n" + DisplayNumbersAllowed(NumbersAllowed) + "\n\n" + DisplayScore(Score) + "\n\n") except Exception as e: print(f"There was an exception: {e}") </syntaxhighlighting>{{CPTAnswerTabEnd}} c96fkz2wlyl625ttdsgcmubekpao85i 4444392 4444391 2024-11-11T11:10:20Z Tanbiruzzaman 3419451 Restored revision 4443778 by [[Special:Contributions/Spike The|Spike The]] ([[User talk:Spike The|talk]]) ([[:meta:Countervandalism Network|Countervandalism Unit]]) 4444392 wikitext text/x-wiki == Section C Predictions. == == Section D Predictions == The 2023 paper 1 contains 4 questions: a 5 mark, a 9 mark question, a 10 mark question and one 13 mark questio - these mark include the screen cpture(s), so the likely marks for th coding will be 1-2 marks lower. The 2022 paper 1 cntained 4 qestions: a 5 mark, a 9 mark question, a 11 mark question and one 13 mark question - these marks include the screen capture(s), so the likely marks for the coding will be 1-2 marks lower. The 201 paper 1 ntined 4 qestions: a 6 mark, an 8 mark question, a 9 mark question and one 14 mark question - these marks include the screen cature(s), so the likely marks for the coding will be 1-2 marks lower. The 2020 paper 1 containd 4 questions: 6 mark, an 8 mark question, a 11 mark questin and one 12 mark question - these marks include the screen capture(s), so the lkely marks for the coding will be 1-2 marks lower. The 219 paper 1 cntained 4 questions: a 5 mark, an 8 mark question, a 9 mark question and one 13 mark question - these marks include the screen capture(s), so the marks for the coding will be 1-2 marks lower. The 218 paper 1 contained 5 questions: a 2 mark question, a 5 mark question, two 9 mark questions, and one 12 mark question - these marks include the screen capture(s). The 2017 paper 1 contaned 5 questions: a 5 mark question, three 6 mark questions, and one 12 mark question. {{BookCat}}Current questions are speculation by contributors to this page. '''1) Using each number more than once but no repeats within the 5 given?''' {{CPTAnswerTab|C#}} C# - DM - Riddlesdown <br></br> ________________________________________________________________ <br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> C# KN - Riddlesdown <br></br> ________________________________________________________________<br></br> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight>{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}Edit <code>FillNumbers()</code> to add a selection (if) statement to ensure that the number returned from <code>GetNumber()</code> has not already been appended to the list <code>NumbersAllowed</code>. <syntaxhighlight lang="python"> def FillNumbers(NumbersAllowed, TrainingGame, MaxNumber): if TrainingGame: return [2, 3, 2, 8, 512] else: while len(NumbersAllowed) < 5: NewNumber = GetNumber(MaxNumber) if NewNumber not in NumbersAllowed: NumbersAllowed.append(NewNumber) else: continue return NumbersAllowed </syntaxhighlight> Edit <code>CheckNumbersUsedAreAllInNumbersAllowed()</code> to ensure that numbers that the user has inputted are not removed from the <code>Temp</code> list, allowing numbers to be re-used. <syntaxhighlight lang="python"> def CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber): Temp = [] for Item in NumbersAllowed: Temp.append(Item) for Item in UserInputInRPN: if CheckValidNumber(Item, MaxNumber): if int(Item) in Temp: continue else: return False return True </syntaxhighlight>{{CPTAnswerTabEnd}} '''2)''' '''Update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} Riddlesdown - KH <br></br> __________________________________________________________________<br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put remove spaces under user input <syntaxhighlight lang="csharp" line="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> I doubt this will be a question because it could be resolved in a couple of lines <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''3) Add exponentials (using ^ or similar)''' {{CPTAnswerTab|C#}} Riddlesdown - Unknown <br></br> _________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { // CHANGE START return Regex.IsMatch(UserInput, @"^([0-9]+[\+\-\*\/\^])+[0-9]+$"); // CHANGE END } </syntaxhighlight> {{CPTAnswer|}} In ConvertToRPN() add the ^ to the list of operators and give it the highest precedence }} <syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown static List<string> ConvertToRPN(string UserInput) { int Position = 0; Dictionary<string, int> Precedence = new Dictionary<string, int> { // CHANGE START { "+", 2 }, { "-", 2 }, { "*", 4 }, { "/", 4 }, { "^", 5 } // CHANGE END }; List<string> Operators = new List<string>(); </syntaxhighlight> In EvaluateRPN() add the check to see if the current user input contains the ^, and make it evaluate the exponential if it does<syntaxhighlight lang="csharp" line="1"> Riddlesdown - Unknown<br></br> _________________________________________________________________________<br></br> static int EvaluateRPN(List<string> UserInputInRPN) { List<string> S = new List<string>(); while (UserInputInRPN.Count > 0) { // CHANGE START while (!"+-*/^".Contains(UserInputInRPN[0])) // CHANGE END { S.Add(UserInputInRPN[0]); UserInputInRPN.RemoveAt(0); } double Num2 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Num1 = Convert.ToDouble(S[S.Count - 1]); S.RemoveAt(S.Count - 1); double Result = 0; switch (UserInputInRPN[0]) { case "+": Result = Num1 + Num2; break; case "-": Result = Num1 - Num2; break; case "*": Result = Num1 * Num2; break; case "/": Result = Num1 / Num2; break; // CHANGE START case "^": Result = Math.Pow(Num1, Num2); break; // CHANGE END } UserInputInRPN.RemoveAt(0); S.Add(Convert.ToString(Result)); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''4) Allow the user to include brackets for their own order of operations.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> while (Position < UserInput.Length) { char CurrentChar = UserInput[Position]; if (char.IsDigit(CurrentChar)) { string Number = ""; while (Position < UserInput.Length && char.IsDigit(UserInput[Position])) { Number += UserInput[Position]; Position++; } UserInputInRPN.Add(Number); } else if (CurrentChar == '(') { Operators.Add("("); Position++; } else if (CurrentChar == ')') { while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(") { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.RemoveAt(Operators.Count - 1); Position++; } else if ("+-*/^".Contains(CurrentChar)) { string CurrentOperator = CurrentChar.ToString(); while (Operators.Count > 0 && Operators[Operators.Count - 1] != "(" && Precedence[Operators[Operators.Count - 1]] >= Precedence[CurrentOperator]) { UserInputInRPN.Add(Operators[Operators.Count - 1]); Operators.RemoveAt(Operators.Count - 1); } Operators.Add(CurrentOperator); Position++; } } </syntaxhighlight>{{CPTAnswerTabEnd}} 5)Implement a Postfix game mode which takes the user's input in RPN instead of infix. 6) Do not advance the target list forward for invalid entries, instead inform the user the entry was invalid and prompt them for a new one. 7) Implement a menu where the user can start a new game or quit their current game. 8) The program does not end even when 'Game Over' message is displayed. Ensure the program ends when the game is over. 9) Program does not stop after 'Game Over!' with no way for the user to exit. 10) Practice game - only generates 119 as new targets. 11) Give the user a single-use ability to generate a new set of allowable numbers 12) Allow the user to input and work with negative numbers 13) Allow the user to quit the game. 14) Increase the score with a bonus equal to the quantity of allowable numbers used in a qualifying expression. 15) Implement a multiplicative score bonus for each priority (first number in the target list) number completed sequentially. 16) If the user creates a qualifying expression which uses all the allowable numbers, grant the user a special reward ability (one use until unlocked again) to allow the user to enter any number of choice and this value will be removed from the target list. '''17) Add an item that lets you clear any target.''' {{CPTAnswerTab|C#}} C# - AC - Coombe Wood <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> Console.WriteLine("Do you want to remove a target?"); UserInput1 = Console.ReadLine().ToUpper(); if (UserInput1 == "YES") { if (Score >= 10) { Console.WriteLine("What number?"); UserInput3 = Console.Read(); Score = Score - 10; } else { Console.WriteLine("You do not have enough points"); Console.ReadKey(); } } else if (UserInput1 == "NO") { Console.WriteLine("You selected NO"); } Score--; if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); </syntaxhighlight> C# - KH- Riddlesdown <br></br> _____________________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static bool RemoveTarget(List<int> Targets, string Userinput) { bool removed = false; int targetremove = int.Parse(Userinput); for (int Count = 0; Count < Targets.Count - 1; Count++) { if(targetremove == Targets[Count]) { removed = true; Targets.RemoveAt(Count); } } if (!removed) { Console.WriteLine("invalid target"); return (false); } return (true); } while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(UserInput); Console.ReadKey(); Console.WriteLine(); if(UserInput.ToUpper() == "R") { Console.WriteLine("Enter the target"); UserInput = Console.ReadLine(); if(RemoveTarget(Targets, UserInput)) { Score -= 5; } } else { if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; } if (Targets[0] != -1) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } } Console.WriteLine("Game over!"); DisplayScore(Score); } </syntaxhighlight> {{CPTAnswerTabEnd}} '''18) Allowed numbers don’t have any duplicate numbers, and can be used multiple times''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________<br></br> In CheckNumbersUsedAreAllInNumbersAllowed you can remove the line Temp.Remove(Convert.ToInt32(Item)) around line 150 <syntaxhighlight lang="csharp" line="1" start="1"> static bool CheckNumbersUsedAreAllInNumbersAllowed(List<int> NumbersAllowed, List<string> UserInputInRPN, int MaxNumber) { List<int> Temp = new List<int>(); foreach (int Item in NumbersAllowed) { Temp.Add(Item); } foreach (string Item in UserInputInRPN) { if (CheckValidNumber(Item, MaxNumber)) { if (Temp.Contains(Convert.ToInt32(Item))) { // CHANGE START (line removed) // CHANGE END } else { return false; } } } return true; } </syntaxhighlight> In FillNumbers in the while (NumbersAllowed < 5) loop, you should add a ChosenNumber int variable and check it’s not already in the allowed numbers so there are no duplicates (near line 370): <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> FillNumbers(List<int> NumbersAllowed, bool TrainingGame, int MaxNumber) { if (TrainingGame) { return new List<int> { 2, 3, 2, 8, 512 }; } else { while (NumbersAllowed.Count < 5) { // CHANGE START int ChosenNumber = GetNumber(MaxNumber); while (NumbersAllowed.Contains(ChosenNumber)) { ChosenNumber = GetNumber(MaxNumber); } NumbersAllowed.Add(ChosenNumber); // CHANGE END } return NumbersAllowed; } } </syntaxhighlight> {{CPTAnswerTabEnd}} '''19) update program so expressions with whitespace are validated''' {{CPTAnswerTab|C#}} C# - KH- Riddlesdown <br></br> ________________________________________________________________ <br></br> At the moment if you put spaces between your numbers or operators it doesn't work so you will have to fix that Put RemoveSpaces() under user input. <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces(string UserInput) { char[] temp = new char[UserInput.Length]; string bufferstring = ""; bool isSpaces = true; for (int i = 0; i < UserInput.Length; i++) { temp[i] = UserInput[i]; } while (isSpaces) { int spaceCounter = 0; for (int i = 0; i < temp.Length-1 ; i++) { if(temp[i]==' ') { spaceCounter++; temp = shiftChars(temp, i); } } if (spaceCounter == 0) { isSpaces = false; } else { temp[(temp.Length - 1)] = '¬'; } } for (int i = 0; i < temp.Length; i++) { if(temp[i] != ' ' && temp[i] != '¬') { bufferstring += temp[i]; } } return (bufferstring); } static char[] shiftChars(char[] Input, int startInt) { for (int i = startInt; i < Input.Length; i++) { if(i != Input.Length - 1) { Input[i] = Input[i + 1]; } else { Input[i] = ' '; } } return (Input); } </syntaxhighlight> A shorter way <syntaxhighlight lang="csharp" line="1" start="1"> static string RemoveSpaces2(string UserInput) { string newString = ""; foreach (char c in UserInput) { if (c != ' ') { newString += c; } } return newString; } </syntaxhighlight> Also don’t forget to add a call to it around line 58 <syntaxhighlight lang="csharp" line="1" start="1"> static void PlayGame(List<int> Targets, List<int> NumbersAllowed, bool TrainingGame, int MaxTarget, int MaxNumber) { ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); // Add remove spaces func here UserInput = RemoveSpaces2(UserInput); Console.WriteLine(); ... </syntaxhighlight> <br> PS<br>__________________________________________________________________<br></br> Alternative shorter solution: <syntaxhighlight lang="csharp" line="1"> static bool CheckIfUserInputValid(string UserInput) { string[] S = UserInput.Split(' '); string UserInputWithoutSpaces = ""; foreach(string s in S) { UserInputWithoutSpaces += s; } return Regex.IsMatch(UserInputWithoutSpaces, @"^([0-9]+[\+\-\*\/])+[0-9]+$"); } </syntaxhighlight>{{CPTAnswerTabEnd}} '''20) Hard mode where the same target cant appear twice.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } } </syntaxhighlight> Also, at line 355 update CreateTargets: <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int NewTarget = GetTarget(MaxTarget); while (Targets.Contains(NewTarget)) { NewTarget = GetTarget(MaxTarget); } Targets.Add(NewTarget); // CHANGE END } return Targets; } </syntaxhighlight> {{CPTAnswerTabEnd}} '''21) Once a target is cleared, prevent it from being generated again.''' {{CPTAnswerTab|C#}} C# - Riddlesdown <br></br> ________________________________________________________________ <br></br> <syntaxhighlight lang="csharp" line="1" start="1"> internal class Program { static Random RGen = new Random(); // CHANGE START static List<int> TargetsUsed = new List<int>(); // CHANGE END ... </syntaxhighlight> Next create these new functions at the bottom: <syntaxhighlight lang="csharp" line="1" start="1"> // CHANGE START static bool CheckIfEveryPossibleTargetHasBeenUsed(int MaxNumber) { if (TargetsUsed.Count >= MaxNumber) { return true; } else { return false; } } static bool CheckAllTargetsCleared(List<int> Targets) { bool allCleared = true; foreach (int i in Targets) { if (i != -1) { allCleared = false; } } return allCleared; } // CHANGE END </syntaxhighlight> Update CreateTargets (line 366) and UpdateTargets (line 126) so that they check if the generated number is in the TargetsUsed list we made <syntaxhighlight lang="csharp" line="1" start="1"> static List<int> CreateTargets(int SizeOfTargets, int MaxTarget) { List<int> Targets = new List<int>(); for (int Count = 1; Count <= 5; Count++) { Targets.Add(-1); } for (int Count = 1; Count <= SizeOfTargets - 5; Count++) { // CHANGE START int SelectedTarget = GetTarget(MaxTarget); Targets.Add(SelectedTarget); if (!TargetsUsed.Contains(SelectedTarget)) { TargetsUsed.Add(SelectedTarget); } // CHANGE END } return Targets; } static void UpdateTargets(List<int> Targets, bool TrainingGame, int MaxTarget) { for (int Count = 0; Count < Targets.Count - 1; Count++) { Targets[Count] = Targets[Count + 1]; } Targets.RemoveAt(Targets.Count - 1); if (TrainingGame) { Targets.Add(Targets[Targets.Count - 1]); } else { // CHANGE START if (TargetsUsed.Count == MaxTarget) { Targets.Add(-1); return; } int ChosenTarget = GetTarget(MaxTarget); while (TargetsUsed.Contains(ChosenTarget)) { ChosenTarget = GetTarget(MaxTarget); } Targets.Add(ChosenTarget); TargetsUsed.Add(ChosenTarget); // CHANGE END } } </syntaxhighlight> Finally in the main game loop (line 57) you should add the check to make sure that the user has cleared every possible number <syntaxhighlight lang="csharp" line="1" start="1"> ... while (!GameOver) { DisplayState(Targets, NumbersAllowed, Score); Console.Write("Enter an expression: "); UserInput = Console.ReadLine(); Console.WriteLine(); if (CheckIfUserInputValid(UserInput)) { UserInputInRPN = ConvertToRPN(UserInput); if (CheckNumbersUsedAreAllInNumbersAllowed(NumbersAllowed, UserInputInRPN, MaxNumber)) { if (CheckIfUserInputEvaluationIsATarget(Targets, UserInputInRPN, ref Score)) { RemoveNumbersUsed(UserInput, MaxNumber, NumbersAllowed); NumbersAllowed = FillNumbers(NumbersAllowed, TrainingGame, MaxNumber); } } } Score--; // CHANGE START if (Targets[0] != -1 || (CheckIfEveryPossibleTargetHasBeenUsed(MaxNumber) && CheckAllTargetsCleared(Targets))) { GameOver = true; } else { UpdateTargets(Targets, TrainingGame, MaxTarget); } // CHANGE END } Console.WriteLine("Game over!"); DisplayScore(Score); </syntaxhighlight> {{CPTAnswerTabEnd}} '''22) When a target is cleared, put a £ symbol in its position in the target list. When the £ symbol reaches the end of the tracker, increase the score by 1.''' {{CPTAnswerTab|C#}} C# - <br></br> ________________________________________________________________<br></br> <syntaxhighlight lang="csharp" line="1" start="1"> </syntaxhighlight> {{CPTAnswerTabEnd}}'''23) Implement a victory condition which allows the player to win the game by achieving a certain score. Allow the user to pick difficulty, e.g. easy (10), normal (20), hard (40).''' '''24) Shotgun. If an expression exactly evaluates to a target, the score is increased by 3 and remove the target as normal. If an evaluation is within 1 of the target, the score is increased by 1 and remove those targets too.''' '''25) Every time the user inputs an expression, shuffle the current position of all targets (cannot push a number closer to the end though).''' '''26) Speed Demon. Implement a mode where the target list moves a number of places equal to the current player score. Instead of ending the game when a target gets to the end of the tracker, subtract 1 from their score. If their score ever goes negative, the player loses.''' '''27) Allow the user to save the current state of the game using a text file and implement the ability to load up a game when they begin the program.''' '''28) Multiple of X. The program should randomly generate a number each turn, e.g. 3 and if the user creates an expression which removes a target which is a multiple of that number, give them a bonus of their score equal to the multiple (in this case, 3 extra score).''' '''29) Validate a user's entry to confirm their choice before accepting an expression.''' '''30) Prime time punch. If the completed target was a prime number, destroy the targets on either side of the prime number (count them as scored).''' '''31) Josh Lord.''' '''32) make the program object oriented''' '''33) do not use reverse polish notation''' '''34) Allow the user to specify the highest number within the five <code>NumbersAllowed</code>.''' '''35) Allow the user to save and reload the game.''' {{CPTAnswerTab|Python}}This solution focuses on logging all values that had been printed the previous game, overwriting the score, and then continuing the game as before. A game log can be saved, reloaded and then continued before being saved again without loss of data. Add selection (<code>if</code>) statement at the top of <code>PlayGame()</code> to allow for user to input desired action <syntaxhighlight> Score = 0 GameOver = False if (input("Load last saved game? (y/n): ").lower() == "y"): with open("savegame.txt", "r") as f: lines = [] for line in f: lines.append(line) print(line) Score = re.search(r'\d+', lines[-2]) else: open("savegame.txt", 'w').close() while not GameOver: </syntaxhighlight> Change <code>DisplayScore()</code>, <code>DisplayNumbersAllowed()</code> and <code>DisplayTargets()</code> to allow for the values to be returned instead of being printed. <syntaxhighlight> def DisplayScore(Score): output = str("Current score: " + str(Score)) print(output) print() print() return output def DisplayNumbersAllowed(NumbersAllowed): list_of_numbers = [] for N in NumbersAllowed: list_of_numbers.append((str(N) + " ")) output = str("Numbers available: " + "".join(list_of_numbers)) print(output) print() print() return output def DisplayTargets(Targets): list_of_targets = [] for T in Targets: if T == -1: list_of_targets.append(" ") else: list_of_targets.append(str(T)) list_of_targets.append("|") output = str("|" + "".join(list_of_targets)) print(output) print() print() return output </syntaxhighlight> Print returned values, as well as appending to the save file. <syntaxhighlight> def DisplayState(Targets, NumbersAllowed, Score): DisplayTargets(Targets) DisplayNumbersAllowed(NumbersAllowed) DisplayScore(Score) try: with open("savegame.txt", "a") as f: f.write(DisplayTargets(Targets) + "\n\n" + DisplayNumbersAllowed(NumbersAllowed) + "\n\n" + DisplayScore(Score) + "\n\n") except Exception as e: print(f"There was an exception: {e}") </syntaxhighlighting>{{CPTAnswerTabEnd}} 1zzzt29o04itzrjg22gct9opr965jka Infrastructure Past, Present, and Future Casebook/Hambantota Port, Sri Lanka 0 469843 4444375 4439839 2024-11-11T08:38:00Z Areygom 3483934 4444375 wikitext text/x-wiki == Introduction == This casebook is a case study on the Hambantota International Port by Anthony Reyes and Peter DerHagopian as part of the Infrastructure Past, Present and Future: GOVT 490/CEIE 499 Fall 2024 course at George Mason University's Schar School of Policy and Government and the Volgenau School of Engineering, and Sid and Reva Dewberry Department of Civil, Environmental, and Infrastructure Engineering. Under the instruction of Professor Jonathan Gifford. [[File:Hambantota Port.jpg|none|thumb|567x567px|Hambantota Port in Sri Lanka]] == Summary == Hambantota International Port, also known as Magampura Mahinda Rajapaksa Port, is a deep water port located in Hambantota, Sri Lanka, in the country’s Southern Province along the southern coast of the island. Hambantota is the country’s second largest port, after the Port of Colombo in the capital city. Construction for the port started in 2008, after the newly-elected President Mahinda Rajapaksa revitalized plans for the project by securing a loan of $306.7 million from China’s Export-Import (Exim) Bank and specified the China Harbour Engineering Company as the construction contractor. The first phase, out of three, of construction was finished in 2010, after the end of the Sri Lankan Civil War. Features of the first phase included a bunker terminal with the capacity of 500,000 tonnes of cargo, refueling stations for ships and aircraft, and ship repair/ship building facilities. The second phase of construction began in 2012, after the Sri Lankan Government gained an additional $757 million loan from China’s Exim Bank that allowed China Harbour Engineering Company and China’s Merchants Port to jointly operate the port for 35 years. As of present day, the second phase of construction is still unfinished and in 2016, President Maithripala Sirisena entered an agreement with China to sell 80% of shares, worth $1.12 billion, and a 99-year lease to China to take over ownership of the port to counter Sri Lanka’s $8 billion debt to China. Since this new deal, China’s Merchants Port have secured 15,000 acres of land surrounding the port to construct industrial zones, and the Chinese Navy has been using the port as a naval base for their submarines and to exert control over key maritime trade routes between the Strait of Malacca and the Suez Canal that sit just a few nautical miles from Hambantota. The construction of the international port in Hambantota, and subsequent Chinese involvement,   have been strife with controversy and reports of corruption. While the feasibility reports from both Canadian engineering firm SNC-Lavalin and Danish consulting firm Ramboll confirmed the economic benefits of the port, Former President Rajapaksa ignored their guidance and attempted to fast track construction without much profit. After its first year of opening, only 34 ships berthed at Hambantota, as opposed to 3,667 at the Port of Colombo. Concerns over Chinese involvement have also arisen out of the construction of this port, with Sri Lankan officials denouncing China’s exorbitant costs and extremely high interest rates. Many call Hambantota International Port a prime example of Chinese “debt-trap diplomacy” and accuse China of extending debt over Sri Lanka to gain political leverage to establish naval bases in the geopolitically strategic region. Additionally, Former President Rajapaksa has been accused of corruption, citing that he used funds for the construction of this project to provide kickbacks for himself and campaign officials. == Actors == # '''Sri Lankan Government Actors''' ## Ranil Wickremesinghe - Prime Minister of Sri Lanka from 1993-1994, 2001-2004, 2015-2018, 2018-2019 and in 2022. President of Sri Lanka from 2022-2024. ## Mahinda Rajapaksa - President of Sri Lanka from 2005-2015. Prime Minister of Sri Lanka from 2004-2005, 2018 and 2019-2022. Minister of Finance from 2005-2015 and 2019-2021. President Rajapaksa is also from Hambantota. ## Gotabaya Rajapaksa - President of Sri Lanka from 2019-2022, and also Former President Mahinda Rajapaksa’s brother. ## Maithripala Sirisena - President of Sri Lanka from 2015-2019. ### Ravi Karunanayake - Minister of Finance from 2015-2017. ## Sri Lanka Ports Authority (SLPA) - State-owned operator of major commercial ports in Sri Lanka. # '''Chinese Actors''' ## China Merchants Group - State-owned enterprise that operates under the Chinese Ministry of Transport. Currently has 85% stake in the Port and has invested $1.12 billion into the port. ### China Merchants Port Holdings Company Limited (CMPHCL) - Subsidiary of China Merchants Group that oversees port operations, general and bulk cargo transportation, container and shipping business, air cargo, and logistics park operations. ### Colombo International Container Terminal Limited - Joint venture company between CMPHCL and SLPA that handles cargo in Sri Lanka’s capital city, Colombo. ### Hambantota International Port Group - Joint venture company between CMPHCL and SLPA that oversees operations of the port. ## China National Petroleum Corporation - State-owned oil and gas corporation that was one of the first contractors of the port, overseeing refueling facilities and oil tank projects. ### Huanqiu Contracting and Engineering Corporation - Subsidiary of the China National Petroleum Corporation that handles the construction of oil refineries and oil tanks. ## China Petroleum and Chemical Corporation (Sinopec) - State-owned and world’s largest oil refining company that operates the port’s bunkering facilities. Recently constructed an oil-refinery at the port. ## Export-Import (Exim) Bank of China - Policy bank of China under the State Council that was the main financier of the port project. ### Li Ruogu - President of the Exim Bank from 2005-2015. ### China Development Bank - Subsidiary of the Exim Bank that raises funds for infrastructure projects. ## China Communications Construction Company (CCCC) - State-owned engineering and construction company that designs, constructs and operates infrastructure assets such as highways, bridges, tunnels, railways, airports and ports. ### China Harbour Engineering Company - Subsidiary of CCCC that is the main contractor for construction of the port. ## People’s Liberation Army Navy - The Navy of the People’s Republic of China that has been using Hambantota Port to dock their military vessels and submarines. # '''Additional Actors:''' ## Shivshanker Menon - Foreign Secretary of India from 2006-2009. Notably rejected Sri Lanka’s request to finance Hambantota Port. ## AtkinsRéalis Group Inc. (SNC-Lavalin) - Canadian engineering consulting firm that was the original contractor for construction of the Hambantota Port and first company to conduct a feasibility report on the prospects of building the port. ## Rambøll Group (Ramboll) - Danish engineering consulting firm that was hired by Former President Rajapaksa to conduct a second feasibility report on the prospects of building Hambantota International Port. == Timeline == # December 5th, 2001 - Parliamentary elections are held in Sri Lanka. Ranil Wickremesinghe is elected Prime Minister and he and the United National Front pledge to build another seaport to ease traffic on the Port of Colombo. # June 2002 - The Sri Lankan Government invited both the Canadian International Development Agency and the Port Autonome of Marseille to conduct feasibility reports on constructing a new port. SNC-Lavalin of Canada submits a feasibility report, but both France and Canada ultimately decide to not follow through with any investment due to the tense political climate of Sri Lanka. # 2005 - Newly-elected President Mahinda Rajapaksa hires Danish consulting firm Ramboll to conduct an additional feasibility report for building a port in Hambantota, the president’s hometown. From this, the project is broken down into three phases. After both India and the United States rejected Sri Lanka’s requests for financing, China was approached and accepted the offer. Huanqiu Contracting & Engineering became the first construction contractor after a deal was signed between the two parties. # July 2006 - Sri Lankan officials meet with Li Ruogu at the Exim Bank where Chinese officials encourage the usage of concessional loans to finance the project. # February 2007 - President Rajapaksa visits China to finalize loan deals for the port. Exim Bank agrees to fund 85% of the project, or $307 million with SLPA covering the other 15%, or $53 million. # January 2008 - Sri Lanka hires China Harbour Engineering Company to construct the first phase of the port, and construction begins. # November 18th, 2010 - After rushed construction, the first phase is completed and the port is limitedly opened on the President’s Birthday. # November 2011 - Sri Lanka pays China $40 million to blast a boulder blocking the usage of the port a year after opening. # September 17th, 2012 - Exim Bank loans Sri Lanka an additional $809.35 million for construction of the second phase. The new loan agreement also allows China Harbour Engineering and China Merchants Group to jointly operate the terminal and take 65% stake for 35 years and the first loan receives a 6.3% interest rate. # 2014 - Hambantota Port was struggling financially and could not attract businesses to dock there. China began demanding loan repayment for construction of the port, which Sri Lanka could not pay due to the lack of profit. # November 2014 - Chinese military submarines begin docking at the port. # January 8th 2015 - Sirisena is elected into office, and takes on the country’s $64.9 billion debt. # December 2016 - SLPA & CMPHCL sign an agreement to sell China 80% of the shares, or $1.12 billion, of the port for a 99-year lease, including all land of the property. # May 2017 - Sri Lanka takes out an additional $1 billion loan out of the China Development Bank to help pay back debt. # July 2017 - Opposition parties in Sri Lanka denounce the agreement between the SLPA & CMPHCL, and a new agreement is reached that states that the Chinese company must divest a maximum of 20% within the next decade to Sri Lankan enterprises. Also, the new agreement bars foreign countries from docking military vessels at the port, at the request of India. # July 2018 - Sri Lanka moves a naval base to Hambantota, raising concerns from India and the United States. # 2019 - China Merchants Group announces a 136% increase of vessel usage at the port and fully automates and expands facilities. # May 2024 - Hambantota Port has become a main shipping importer of cars into Sri Lanka, with a monthly turnover of 700,000 vehicles. Chinese-owned oil refineries have opened at the port and the port has become much more economically feasible. == Funding and Financing == The construction of the Hambantota International Port has been financed through a private-public partnership with a joint venture between the Sri Lanka Ports Authority and the China Merchants Group. Originally, SLPA had full ownership over the port, but as the 2016 agreement between the SLPA and China Merchants subsidiary China Merchants Port Holdings Company states, CMPHCL owns 80% of shares, with SLPA owning the other 20%. The construction of the port was also largely financed through a set of buyer’s credit loans (BCL), preferential buyer’s credits (PBC) and government concessional loans (GCL) from the China Export-Import Bank. The first of these loans amounted to $551.58 million on December 30th, 2007. This loan, for the first phase of the project, originally accrued an interest rate of around 2%, but was then raised with the onset of the second loan to 6.5%. The second loan reached $808 million, which was agreed upon on September 17th, 2012, with a much lower interest rate of 2%. Notably, the funding for this project has also faced extreme controversy. It was found that the exorbitant costs and interest rates were uncontested by the Rajapaksa Administration. For example, China Harbour Engineering Company, one of the contracted construction companies, charged Sri Lanka $40 million to remove a boulder blocking usage of the port in 2010. Diplomats criticized the expensive cost, citing that the companies were overcharging. It was also found that $7.6 million in the port construction fund were directly given to Rajapaksa campaign aides, with an additional $1.7 million given to Rajapaksa himself. == Institutional Arrangements == TBD == Background == Originally, the Sri Lankan government had teased the idea of building a new port in the underdeveloped south as far back as the 1970s, however, after the 2001 parliamentary elections, newly-elected Prime Minister Ranil Wickremesinghe announced the “Regaining Sri Lanka Economic Development Program”, which identified Hambantota as the site for the new international shipping port. In the following year, the Sri Lankan Government approached the Canadian International Development Agency to help finance the construction of the port. The Canadian Agency then agreed to the plan and financed the Canadian engineering firm SNC-Lavalin to conduct a feasibility report into whether building the port in Hambantota would be economically beneficial. The report supported Wickremesinghe’s ambitions in building the port, but plans failed to move forward due to Canada’s unwillingness to finance the project over concerns of contentious politics amidst the then ongoing Sri Lankan Civil War. During his campaign for president in 2005, Mahinda Rajapaksa pledged to construct a new deep-water commercial port in his hometown of Hambantota, as an effort to ease traffic in Colombo’s shipping port, as well as bringing industry and revitalizing his underdeveloped home district. After being elected, Rajapaksa hired Danish consulting firm Ramboll to conduct a feasibility report on constructing a new international port in his hometown. Ramboll confirmed Rajapaksa’s plans by outlining a three-phase program in implementing the construction of the port through public and private partnerships. Rajapaksa used this report as means of evidence for his goals, and approached India and the United States with requests to finance this project. Both nations declined, and finally, Rajapaksa approached China, who then pledged to finance the port. == Policy Issue == * '''“Debt-Trapping Diplomacy”''' ** Many diplomats and scholars cite this port as one of the most notable examples of China’s new “debt-trapping diplomacy” policy tactics by indebting less economically-advantaged countries with massive infrastructure projects at extremely high interest rates, and then demanding repayment in a short amount of time which the debted country cannot repay. The incumbent Sirisena Administration cited that they aimed to appease India and the West but had no other option than to continue to turn to China because their debt was so high. This also plays into the broader picture of the current ongoing power competition between China and the United States, as well as between China and India. Both countries have expressed concerns over China’s growing presence in the country, especially India. Indian officials went so far as to demand Sri Lanka to include a clause in their agreement with China that foreign militaries cannot use the port in Hambantota, however China has consistently violated this clause. ** Chinese authorities and Hambantota International Port Group (HIPG) officials refute the claim that China is preying on smaller countries, citing that they were able to “pay” China $1.12 billion in equity for the port instead of racking up interest rates and plunging further into debt. China has also stated that their only mistakes were investing in countries run by “corrupt politicians.” * '''Modern-Day Imperialism''' ** China’s seizure of this port, as well as the presence of Chinese naval vessels in the port paint a concerning picture that looks eerily similar to European colonial practices back in the 14th and 15th centuries. Hambantota being only a few nautical miles from shipping lanes that account for 80% of cargo between Asia, Africa and Europe highlight the region’s, and country’s, geopolitically advantageous position. China was also extremely quick to include the port in Hambantota as part of their “Belt and Road Initiative”, which has raised alarms across the West. * '''Corruption''' ** The construction and maintenance of Hambantota International Port has been rife with reports of corruption. President Rajapaksa, who spearheaded the development of this port, was caught numerous times providing himself, his brothers, his campaign team, and supporters with kickbacks worth over millions of dollars from funds that were loaned from the China Exim Bank for construction of Hambantota. == References == ijyzpqmoa3ie8p894mz4j43p3jybg2o 4444376 4444375 2024-11-11T08:39:48Z Areygom 3483934 /* References */ 4444376 wikitext text/x-wiki == Introduction == This casebook is a case study on the Hambantota International Port by Anthony Reyes and Peter DerHagopian as part of the Infrastructure Past, Present and Future: GOVT 490/CEIE 499 Fall 2024 course at George Mason University's Schar School of Policy and Government and the Volgenau School of Engineering, and Sid and Reva Dewberry Department of Civil, Environmental, and Infrastructure Engineering. Under the instruction of Professor Jonathan Gifford. [[File:Hambantota Port.jpg|none|thumb|567x567px|Hambantota Port in Sri Lanka]] == Summary == Hambantota International Port, also known as Magampura Mahinda Rajapaksa Port, is a deep water port located in Hambantota, Sri Lanka, in the country’s Southern Province along the southern coast of the island. Hambantota is the country’s second largest port, after the Port of Colombo in the capital city. Construction for the port started in 2008, after the newly-elected President Mahinda Rajapaksa revitalized plans for the project by securing a loan of $306.7 million from China’s Export-Import (Exim) Bank and specified the China Harbour Engineering Company as the construction contractor. The first phase, out of three, of construction was finished in 2010, after the end of the Sri Lankan Civil War. Features of the first phase included a bunker terminal with the capacity of 500,000 tonnes of cargo, refueling stations for ships and aircraft, and ship repair/ship building facilities. The second phase of construction began in 2012, after the Sri Lankan Government gained an additional $757 million loan from China’s Exim Bank that allowed China Harbour Engineering Company and China’s Merchants Port to jointly operate the port for 35 years. As of present day, the second phase of construction is still unfinished and in 2016, President Maithripala Sirisena entered an agreement with China to sell 80% of shares, worth $1.12 billion, and a 99-year lease to China to take over ownership of the port to counter Sri Lanka’s $8 billion debt to China. Since this new deal, China’s Merchants Port have secured 15,000 acres of land surrounding the port to construct industrial zones, and the Chinese Navy has been using the port as a naval base for their submarines and to exert control over key maritime trade routes between the Strait of Malacca and the Suez Canal that sit just a few nautical miles from Hambantota. The construction of the international port in Hambantota, and subsequent Chinese involvement,   have been strife with controversy and reports of corruption. While the feasibility reports from both Canadian engineering firm SNC-Lavalin and Danish consulting firm Ramboll confirmed the economic benefits of the port, Former President Rajapaksa ignored their guidance and attempted to fast track construction without much profit. After its first year of opening, only 34 ships berthed at Hambantota, as opposed to 3,667 at the Port of Colombo. Concerns over Chinese involvement have also arisen out of the construction of this port, with Sri Lankan officials denouncing China’s exorbitant costs and extremely high interest rates. Many call Hambantota International Port a prime example of Chinese “debt-trap diplomacy” and accuse China of extending debt over Sri Lanka to gain political leverage to establish naval bases in the geopolitically strategic region. Additionally, Former President Rajapaksa has been accused of corruption, citing that he used funds for the construction of this project to provide kickbacks for himself and campaign officials. == Actors == # '''Sri Lankan Government Actors''' ## Ranil Wickremesinghe - Prime Minister of Sri Lanka from 1993-1994, 2001-2004, 2015-2018, 2018-2019 and in 2022. President of Sri Lanka from 2022-2024. ## Mahinda Rajapaksa - President of Sri Lanka from 2005-2015. Prime Minister of Sri Lanka from 2004-2005, 2018 and 2019-2022. Minister of Finance from 2005-2015 and 2019-2021. President Rajapaksa is also from Hambantota. ## Gotabaya Rajapaksa - President of Sri Lanka from 2019-2022, and also Former President Mahinda Rajapaksa’s brother. ## Maithripala Sirisena - President of Sri Lanka from 2015-2019. ### Ravi Karunanayake - Minister of Finance from 2015-2017. ## Sri Lanka Ports Authority (SLPA) - State-owned operator of major commercial ports in Sri Lanka. # '''Chinese Actors''' ## China Merchants Group - State-owned enterprise that operates under the Chinese Ministry of Transport. Currently has 85% stake in the Port and has invested $1.12 billion into the port. ### China Merchants Port Holdings Company Limited (CMPHCL) - Subsidiary of China Merchants Group that oversees port operations, general and bulk cargo transportation, container and shipping business, air cargo, and logistics park operations. ### Colombo International Container Terminal Limited - Joint venture company between CMPHCL and SLPA that handles cargo in Sri Lanka’s capital city, Colombo. ### Hambantota International Port Group - Joint venture company between CMPHCL and SLPA that oversees operations of the port. ## China National Petroleum Corporation - State-owned oil and gas corporation that was one of the first contractors of the port, overseeing refueling facilities and oil tank projects. ### Huanqiu Contracting and Engineering Corporation - Subsidiary of the China National Petroleum Corporation that handles the construction of oil refineries and oil tanks. ## China Petroleum and Chemical Corporation (Sinopec) - State-owned and world’s largest oil refining company that operates the port’s bunkering facilities. Recently constructed an oil-refinery at the port. ## Export-Import (Exim) Bank of China - Policy bank of China under the State Council that was the main financier of the port project. ### Li Ruogu - President of the Exim Bank from 2005-2015. ### China Development Bank - Subsidiary of the Exim Bank that raises funds for infrastructure projects. ## China Communications Construction Company (CCCC) - State-owned engineering and construction company that designs, constructs and operates infrastructure assets such as highways, bridges, tunnels, railways, airports and ports. ### China Harbour Engineering Company - Subsidiary of CCCC that is the main contractor for construction of the port. ## People’s Liberation Army Navy - The Navy of the People’s Republic of China that has been using Hambantota Port to dock their military vessels and submarines. # '''Additional Actors:''' ## Shivshanker Menon - Foreign Secretary of India from 2006-2009. Notably rejected Sri Lanka’s request to finance Hambantota Port. ## AtkinsRéalis Group Inc. (SNC-Lavalin) - Canadian engineering consulting firm that was the original contractor for construction of the Hambantota Port and first company to conduct a feasibility report on the prospects of building the port. ## Rambøll Group (Ramboll) - Danish engineering consulting firm that was hired by Former President Rajapaksa to conduct a second feasibility report on the prospects of building Hambantota International Port. == Timeline == # December 5th, 2001 - Parliamentary elections are held in Sri Lanka. Ranil Wickremesinghe is elected Prime Minister and he and the United National Front pledge to build another seaport to ease traffic on the Port of Colombo. # June 2002 - The Sri Lankan Government invited both the Canadian International Development Agency and the Port Autonome of Marseille to conduct feasibility reports on constructing a new port. SNC-Lavalin of Canada submits a feasibility report, but both France and Canada ultimately decide to not follow through with any investment due to the tense political climate of Sri Lanka. # 2005 - Newly-elected President Mahinda Rajapaksa hires Danish consulting firm Ramboll to conduct an additional feasibility report for building a port in Hambantota, the president’s hometown. From this, the project is broken down into three phases. After both India and the United States rejected Sri Lanka’s requests for financing, China was approached and accepted the offer. Huanqiu Contracting & Engineering became the first construction contractor after a deal was signed between the two parties. # July 2006 - Sri Lankan officials meet with Li Ruogu at the Exim Bank where Chinese officials encourage the usage of concessional loans to finance the project. # February 2007 - President Rajapaksa visits China to finalize loan deals for the port. Exim Bank agrees to fund 85% of the project, or $307 million with SLPA covering the other 15%, or $53 million. # January 2008 - Sri Lanka hires China Harbour Engineering Company to construct the first phase of the port, and construction begins. # November 18th, 2010 - After rushed construction, the first phase is completed and the port is limitedly opened on the President’s Birthday. # November 2011 - Sri Lanka pays China $40 million to blast a boulder blocking the usage of the port a year after opening. # September 17th, 2012 - Exim Bank loans Sri Lanka an additional $809.35 million for construction of the second phase. The new loan agreement also allows China Harbour Engineering and China Merchants Group to jointly operate the terminal and take 65% stake for 35 years and the first loan receives a 6.3% interest rate. # 2014 - Hambantota Port was struggling financially and could not attract businesses to dock there. China began demanding loan repayment for construction of the port, which Sri Lanka could not pay due to the lack of profit. # November 2014 - Chinese military submarines begin docking at the port. # January 8th 2015 - Sirisena is elected into office, and takes on the country’s $64.9 billion debt. # December 2016 - SLPA & CMPHCL sign an agreement to sell China 80% of the shares, or $1.12 billion, of the port for a 99-year lease, including all land of the property. # May 2017 - Sri Lanka takes out an additional $1 billion loan out of the China Development Bank to help pay back debt. # July 2017 - Opposition parties in Sri Lanka denounce the agreement between the SLPA & CMPHCL, and a new agreement is reached that states that the Chinese company must divest a maximum of 20% within the next decade to Sri Lankan enterprises. Also, the new agreement bars foreign countries from docking military vessels at the port, at the request of India. # July 2018 - Sri Lanka moves a naval base to Hambantota, raising concerns from India and the United States. # 2019 - China Merchants Group announces a 136% increase of vessel usage at the port and fully automates and expands facilities. # May 2024 - Hambantota Port has become a main shipping importer of cars into Sri Lanka, with a monthly turnover of 700,000 vehicles. Chinese-owned oil refineries have opened at the port and the port has become much more economically feasible. == Funding and Financing == The construction of the Hambantota International Port has been financed through a private-public partnership with a joint venture between the Sri Lanka Ports Authority and the China Merchants Group. Originally, SLPA had full ownership over the port, but as the 2016 agreement between the SLPA and China Merchants subsidiary China Merchants Port Holdings Company states, CMPHCL owns 80% of shares, with SLPA owning the other 20%. The construction of the port was also largely financed through a set of buyer’s credit loans (BCL), preferential buyer’s credits (PBC) and government concessional loans (GCL) from the China Export-Import Bank. The first of these loans amounted to $551.58 million on December 30th, 2007. This loan, for the first phase of the project, originally accrued an interest rate of around 2%, but was then raised with the onset of the second loan to 6.5%. The second loan reached $808 million, which was agreed upon on September 17th, 2012, with a much lower interest rate of 2%. Notably, the funding for this project has also faced extreme controversy. It was found that the exorbitant costs and interest rates were uncontested by the Rajapaksa Administration. For example, China Harbour Engineering Company, one of the contracted construction companies, charged Sri Lanka $40 million to remove a boulder blocking usage of the port in 2010. Diplomats criticized the expensive cost, citing that the companies were overcharging. It was also found that $7.6 million in the port construction fund were directly given to Rajapaksa campaign aides, with an additional $1.7 million given to Rajapaksa himself. == Institutional Arrangements == TBD == Background == Originally, the Sri Lankan government had teased the idea of building a new port in the underdeveloped south as far back as the 1970s, however, after the 2001 parliamentary elections, newly-elected Prime Minister Ranil Wickremesinghe announced the “Regaining Sri Lanka Economic Development Program”, which identified Hambantota as the site for the new international shipping port. In the following year, the Sri Lankan Government approached the Canadian International Development Agency to help finance the construction of the port. The Canadian Agency then agreed to the plan and financed the Canadian engineering firm SNC-Lavalin to conduct a feasibility report into whether building the port in Hambantota would be economically beneficial. The report supported Wickremesinghe’s ambitions in building the port, but plans failed to move forward due to Canada’s unwillingness to finance the project over concerns of contentious politics amidst the then ongoing Sri Lankan Civil War. During his campaign for president in 2005, Mahinda Rajapaksa pledged to construct a new deep-water commercial port in his hometown of Hambantota, as an effort to ease traffic in Colombo’s shipping port, as well as bringing industry and revitalizing his underdeveloped home district. After being elected, Rajapaksa hired Danish consulting firm Ramboll to conduct a feasibility report on constructing a new international port in his hometown. Ramboll confirmed Rajapaksa’s plans by outlining a three-phase program in implementing the construction of the port through public and private partnerships. Rajapaksa used this report as means of evidence for his goals, and approached India and the United States with requests to finance this project. Both nations declined, and finally, Rajapaksa approached China, who then pledged to finance the port. == Policy Issue == * '''“Debt-Trapping Diplomacy”''' ** Many diplomats and scholars cite this port as one of the most notable examples of China’s new “debt-trapping diplomacy” policy tactics by indebting less economically-advantaged countries with massive infrastructure projects at extremely high interest rates, and then demanding repayment in a short amount of time which the debted country cannot repay. The incumbent Sirisena Administration cited that they aimed to appease India and the West but had no other option than to continue to turn to China because their debt was so high. This also plays into the broader picture of the current ongoing power competition between China and the United States, as well as between China and India. Both countries have expressed concerns over China’s growing presence in the country, especially India. Indian officials went so far as to demand Sri Lanka to include a clause in their agreement with China that foreign militaries cannot use the port in Hambantota, however China has consistently violated this clause. ** Chinese authorities and Hambantota International Port Group (HIPG) officials refute the claim that China is preying on smaller countries, citing that they were able to “pay” China $1.12 billion in equity for the port instead of racking up interest rates and plunging further into debt. China has also stated that their only mistakes were investing in countries run by “corrupt politicians.” * '''Modern-Day Imperialism''' ** China’s seizure of this port, as well as the presence of Chinese naval vessels in the port paint a concerning picture that looks eerily similar to European colonial practices back in the 14th and 15th centuries. Hambantota being only a few nautical miles from shipping lanes that account for 80% of cargo between Asia, Africa and Europe highlight the region’s, and country’s, geopolitically advantageous position. China was also extremely quick to include the port in Hambantota as part of their “Belt and Road Initiative”, which has raised alarms across the West. * '''Corruption''' ** The construction and maintenance of Hambantota International Port has been rife with reports of corruption. President Rajapaksa, who spearheaded the development of this port, was caught numerous times providing himself, his brothers, his campaign team, and supporters with kickbacks worth over millions of dollars from funds that were loaned from the China Exim Bank for construction of Hambantota. == References == # https://www.proquest.com/docview/2226279448?accountid=14541&parentSessionId=j9ntRURPS%2B6ndWsfaz0O2btZvx3Wd1Cobq1%2B3UXeGvE%3D&pq-origsite=primo&sourcetype=Wire%20Feeds # https://www.proquest.com/docview/3035425392?accountid=14541&parentSessionId=r%2F%2BIxUQTJUcp0t73%2Fsdugi%2FxWhP0angMhNdAngsod7w%3D&pq-origsite=primo&sourcetype=Wire%20Feeds # https://www.proquest.com/docview/734628251?accountid=14541&parentSessionId=ACY2UtpG12VEk1%2BoqjTBybXO7T6MEQ029VLrEg4Bt9E%3D&pq-origsite=primo&sourcetype=Wire%20Feeds # https://www.csis.org/analysis/game-loans-how-china-bought-hambantota] # https://www.nytimes.com/2018/06/25/world/asia/china-sri-lanka-port.html # https://www.maritimeindia.org/View%20Profile/636276610966827339.pdf # https://www.scmp.com/magazines/post-magazine/long-reads/article/3125914/narrative-surrounding-chinas-debt-trap-diplomacy # [https://web.archive.org/web/20100311180106/http://www.businessweek.com/news/2010-03-08/sri-lanka-to-seek-tenants-for-550-million-tax-free-port-zone.htmll https://web.archive.org/web/20100311180106/http://www.businessweek.com/news/2010-03-08/sri-lanka-to-seek-tenants-for-550-million-tax-free-port-zone.html] # https://www.ice.org.uk/what-is-civil-engineering/infrastructure-projects/hambantota-port-sri-lanka # http://archives.dailynews.lk/2003/07/17/bus01.html # https://www.sundaytimes.lk/031116/plus/6.htm # https://china.aiddata.org/projects/65812/ # http://www.hipg.lk/about-us/public-private-partnership # https://web.archive.org/web/20210304112527/https://www1.hkexnews.hk/listedco/listconews/sehk/2017/0725/ltn20170725444.pdf # https://www.reuters.com/world/asia-pacific/chinese-military-survey-ship-docks-sri-lanka-port-2022-08-16/ 3v8h57lhex2cy6bmzc9mli1o5wsuw3i User:BenBaron000/sandbox 2 470350 4444310 4444273 2024-11-10T17:54:30Z BenBaron000 3486396 4444310 wikitext text/x-wiki <noinclude> {{NOTE|At present there is an issue on how [[Wikipedia:Transclusion|transclusions]] are processed, from [[Wikipedia:Template limits|Template limits]] there are several ways to address this limitation but there seems also to be some bugs pending resolution. As is it is impossible to guarantee that all the book's content is displayed in this page. See if you can work with the provided alternatives in the meanwhile or post a request for resolution on at the [[Wikibooks:Reading room/Technical Assistance]].}} {{Print version notice|Ada Programming|Ada_Programming/All_Chapters}} ---- [[File:Ada Mascot Wikibook.svg|thumbnail|300px|Ada. Time-tested, safe and secure.]] __NOEDITSECTION__ __TOC__ = Preface = {{:Ada Programming}} </noinclude> = Basic Ada= {{:Ada Programming/Basic}} = Installing = {{:Ada Programming/Installing}} = Building = {{:Ada Programming/Building}} = Control Statements = {{:Ada Programming/Control}} = Type System = {{:Ada Programming/Type System}} = Integer types = {{:Ada Programming/Types/range}} = Unsigned integer types = {{:Ada Programming/Types/mod}} = Enumerations = {{:Ada Programming/Types/Enumeration}} = Floating point types = {{:Ada Programming/Types/digits}} = Fixed point types = {{:Ada Programming/Types/delta}} = Arrays = {{:Ada Programming/Types/array}} = Records = {{:Ada Programming/Types/record}} = Access types = {{:Ada Programming/Types/access}} = Limited types = {{:Ada Programming/Types/limited}} = Strings = {{:Ada Programming/Strings}} = Subprograms = {{:Ada Programming/Subprograms}} = Packages = {{:Ada Programming/Packages}} = Input Output = {{:Ada Programming/Input Output}} = Exceptions = {{:Ada Programming/Exceptions}} = Generics = {{:Ada Programming/Generics}} = Tasking = {{:Ada Programming/Tasking}} = Object Orientation = {{:Ada Programming/Object Orientation}} = New in Ada 2005 = {{:Ada Programming/Ada 2005}} = Containers = {{:Ada Programming/Containers}} = Interfacing = {{:Ada Programming/Interfacing}} = Coding Standards = {{:Ada Programming/Coding standards}} = Tips = {{:Ada Programming/Tips}} = Common Errors = {{:Ada Programming/Errors}} = Algorithms = {{:Ada Programming/Algorithms}} = Chapter 1 = {{:Ada Programming/Algorithms/Chapter_1}} = Chapter 6 = {{:Ada Programming/Algorithms/Chapter_6}} = Knuth-Morris-Pratt pattern matcher = {{:Ada Programming/Algorithms/Knuth-Morris-Pratt_pattern_matcher}} = Binary Search = {{:Algorithm_implementation/Search/Binary_search#A}} = Function overloading = {{:Ada Programming/Function overloading}} = Mathematical calculations = {{:Ada Programming/Mathematical calculations}} = Statements = {{:Ada Programming/Statements}} = Variables = {{:Ada Programming/Variables}} = Lexical elements = {{:Ada Programming/Lexical elements}} = Keywords = {{:Ada Programming/Keywords}} = Delimiters = {{:Ada Programming/Delimiters}} = Operators = {{:Ada Programming/Operators}} = Attributes = {{:Ada Programming/Attributes}} = Pragmas = {{:Ada Programming/Pragmas}} = Libraries = {{:Ada Programming/Libraries}} = Libraries: Standard = {{:Ada Programming/Libraries/Standard}} = Libraries: Ada = {{:Ada Programming/Libraries/Ada}} = Libraries: Interfaces = {{:Ada Programming/Libraries/Interfaces}} = Libraries: System = {{:Ada Programming/Libraries/System}} = Libraries: GNAT = {{:Ada Programming/Libraries/GNAT}} = Libraries: Multi-Purpose = {{:Ada Programming/Libraries/MultiPurpose}} = Libraries: Container = {{:Ada Programming/Libraries/Container}} = Libraries: GUI = {{:Ada Programming/Libraries/GUI}} = Libraries: Distributed Systems = {{:Ada Programming/Libraries/Distributed}} = Libraries: Databases = {{:Ada Programming/Libraries/Database}} = Libraries: Web = {{:Ada Programming/Libraries/Web}} = Libraries: Input Output = {{:Ada Programming/Libraries/IO}} = Platform Support = {{:Ada Programming/Platform}} = Platform: Linux = {{:Ada Programming/Platform/Linux}} = Platform: Windows = {{:Ada Programming/Platform/Windows}} = Platform: Virtual Machines = {{:Ada Programming/Platform/VM}} = Portals = {{:Ada Programming/Portals}} = Tutorials = {{:Ada Programming/Tutorials}} = Web 2.0 = {{:Ada Programming/Web 2.0}} <noinclude> [[Category:Book:Ada Programming| All Chapters]] [[Category:Book:Ada Programming/Print version|All Chapters]] </noinclude> b06k2vqkkpvsnlkso1f0awzlhil3h4i 4444311 4444310 2024-11-10T17:58:37Z BenBaron000 3486396 4444311 wikitext text/x-wiki <noinclude> {{NOTE|At present there is an issue on how [[Wikipedia:Transclusion|transclusions]] are processed, from [[Wikipedia:Template limits|Template limits]] there are several ways to address this limitation but there seems also to be some bugs pending resolution. As is it is impossible to guarantee that all the book's content is displayed in this page. See if you can work with the provided alternatives in the meanwhile or post a request for resolution on at the [[Wikibooks:Reading room/Technical Assistance]].}} {{Print version notice|Ada Programming|Ada_Programming/All_Chapters}} ---- [[File:Ada Mascot Wikibook.svg|thumbnail|300px|Ada. Time-tested, safe and secure.]] __NOEDITSECTION__ __TOC__ = Preface = {{:Ada Programming}} </noinclude> = Basic Ada= {{:Ada Programming/Basic}} = Installing = {{:Ada Programming/Installing}} = Building = {{:Ada Programming/Building}} = Control Statements = {{:Ada Programming/Control}} = Type System = {{:Ada Programming/Type System}} = Integer types = {{:Ada Programming/Types/range}} = Unsigned integer types = {{:Ada Programming/Types/mod}} = Enumerations = {{:Ada Programming/Types/Enumeration}} = Floating point types = {{:Ada Programming/Types/digits}} = Fixed point types = {{:Ada Programming/Types/delta}} = Arrays = {{:Ada Programming/Types/array}} = Records = {{:Ada Programming/Types/record}} = Access types = {{:Ada Programming/Types/access}} = Limited types = {{:Ada Programming/Types/limited}} = Strings = {{:Ada Programming/Strings}} = Subprograms = {{:Ada Programming/Subprograms}} = Packages = {{:Ada Programming/Packages}} = Input Output = {{:Ada Programming/Input Output}} = Exceptions = {{:Ada Programming/Exceptions}} = Generics = {{:Ada Programming/Generics}} = Tasking = {{:Ada Programming/Tasking}} = Object Orientation = {{:Ada Programming/Object Orientation}} = New in Ada 2005 = {{:Ada Programming/Ada 2005}} = Containers = {{:Ada Programming/Containers}} = Interfacing = {{:Ada Programming/Interfacing}} = Coding Standards = {{:Ada Programming/Coding standards}} = Tips = {{:Ada Programming/Tips}} = Common Errors = {{:Ada Programming/Errors}} = Algorithms = {{:Ada Programming/Algorithms}} = Chapter 1 = {{:Ada Programming/Algorithms/Chapter_1}} = Chapter 6 = {{:Ada Programming/Algorithms/Chapter_6}} = Knuth-Morris-Pratt pattern matcher = {{:Ada Programming/Algorithms/Knuth-Morris-Pratt_pattern_matcher}} = Binary Search = {{:Algorithm_implementation/Search/Binary_search#A}} = Function overloading = {{:Ada Programming/Function overloading}} = Mathematical calculations = {{:Ada Programming/Mathematical calculations}} = Statements = {{:Ada Programming/Statements}} = Variables = {{:Ada Programming/Variables}} = Lexical elements = {{:Ada Programming/Lexical elements}} = Keywords = {{:Ada Programming/Keywords}} = Delimiters = {{:Ada Programming/Delimiters}} = Operators = {{:Ada Programming/Operators}} = Attributes = {{:Ada Programming/Attributes}} = Pragmas = {{:Ada Programming/Pragmas}} = Libraries = {{:Ada Programming/Libraries}} = Libraries: Standard = {{:Ada Programming/Libraries/Standard}} = Libraries: Ada = {{:Ada Programming/Libraries/Ada}} = Libraries: Interfaces = {{:Ada Programming/Libraries/Interfaces}} = Libraries: System = {{:Ada Programming/Libraries/System}} = Libraries: GNAT = {{:Ada Programming/Libraries/GNAT}} = Libraries: Multi-Purpose = {{:Ada Programming/Libraries/MultiPurpose}} = Libraries: Container = {{:Ada Programming/Libraries/Container}} = Libraries: GUI = {{:Ada Programming/Libraries/GUI}} = Libraries: Distributed Systems = {{:Ada Programming/Libraries/Distributed}} = Libraries: Databases = {{:Ada Programming/Libraries/Database}} = Libraries: Web = {{:Ada Programming/Libraries/Web}} = Libraries: Input Output = {{:Ada Programming/Libraries/IO}} = Platform Support = {{:Ada Programming/Platform}} = Platform: Linux = {{:Ada Programming/Platform/Linux}} = Platform: Windows = {{:Ada Programming/Platform/Windows}} = Platform: Virtual Machines = {{:Ada Programming/Platform/VM}} = Portals = {{:Ada Programming/Portals}} = Tutorials = {{:Ada Programming/Tutorials}} = Web 2.0 = {{:Ada Programming/Web 2.0}} = Other = {{:Ada Programming/Attributes/'Abort Signal}} <noinclude> [[Category:Book:Ada Programming| All Chapters]] [[Category:Book:Ada Programming/Print version|All Chapters]] </noinclude> n4sojcuo7hz7zlv98awvgywj53yvoi7 The Linux Kernel/Multitasking/Real-time 0 470358 4444302 2024-11-10T17:22:07Z Conan 3188 https://en.wikibooks.org/wiki/Embedded_Systems/Linux#Real-time 4444302 wikitext text/x-wiki ==== RT preemption ==== The PREEMPT_RT patch has been partially merged into the mainline Linux kernel, starting from version 5.15 <ref>{{cite journal|title=Realtime preemption locking core merged|url=https://lwn.net/Articles/867919/}}</ref>. This means that real-time capabilities are now available as part of the mainline Linux kernel, making it easier to deploy and maintain real-time systems using Linux. Lazy preemption (CONFIG_PREEMPT_LAZY) remains in the external patchset. However, the real-time capabilities of Linux are still evolving, and there are ongoing efforts to improve real-time performance and reduce latency even further. [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. In summary, real-time Linux is now part of the mainline Linux kernel, and there are ongoing efforts to improve real-time performance and reduce latency even further. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled :: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} ==== ... ==== Further reading about real-time Linux: : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/real-time-kernel-tuning-in-rhel-9_optimizing-rhel9-for-real-time-for-low-latency-operation Real-time kernel tuning in RHEL 9] : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Processing#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Processing#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMP_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 6vy2raunxpnopq6exwj6efhlai22cnz 4444306 4444302 2024-11-10T17:33:55Z Conan 3188 4444306 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== The PREEMPT_RT patch has been partially merged into the mainline Linux kernel, starting from version 5.15 <ref>{{cite journal|title=Realtime preemption locking core merged|url=https://lwn.net/Articles/867919/}}</ref>. This means that real-time capabilities are now available as part of the mainline Linux kernel, making it easier to deploy and maintain real-time systems using Linux. Lazy preemption (CONFIG_PREEMPT_LAZY) remains in the external patchset. However, the real-time capabilities of Linux are still evolving, and there are ongoing efforts to improve real-time performance and reduce latency even further. [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. In summary, real-time Linux is now part of the mainline Linux kernel, and there are ongoing efforts to improve real-time performance and reduce latency even further. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled :: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} ==== ... ==== Further reading about real-time Linux: : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/real-time-kernel-tuning-in-rhel-9_optimizing-rhel9-for-real-time-for-low-latency-operation Real-time kernel tuning in RHEL 9] : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Processing#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Processing#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMP_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 3q6uj0oo98ohnycua42eqhmuo9jjg85 4444307 4444306 2024-11-10T17:34:52Z Conan 3188 BookCat 4444307 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== The PREEMPT_RT patch has been partially merged into the mainline Linux kernel, starting from version 5.15 <ref>{{cite journal|title=Realtime preemption locking core merged|url=https://lwn.net/Articles/867919/}}</ref>. This means that real-time capabilities are now available as part of the mainline Linux kernel, making it easier to deploy and maintain real-time systems using Linux. Lazy preemption (CONFIG_PREEMPT_LAZY) remains in the external patchset. However, the real-time capabilities of Linux are still evolving, and there are ongoing efforts to improve real-time performance and reduce latency even further. [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. In summary, real-time Linux is now part of the mainline Linux kernel, and there are ongoing efforts to improve real-time performance and reduce latency even further. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled :: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} ==== ... ==== Further reading about real-time Linux: : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/real-time-kernel-tuning-in-rhel-9_optimizing-rhel9-for-real-time-for-low-latency-operation Real-time kernel tuning in RHEL 9] : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Processing#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Processing#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMP_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] {{BookCat}} te6h1wu4b2td68r14d0w8wsnjgiarfu 4444374 4444307 2024-11-11T07:14:42Z Conan 3188 Historical 4444374 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Real-time Linux}} </noinclude> ==== RT preemption ==== [https://wiki.linuxfoundation.org/realtime/start The Linux Foundation's Real-Time Linux (RTL) collaborative project] is focused on improving the real-time capabilities of Linux and advancing the adoption of real-time Linux in various industries, including aerospace, automotive, robotics, and telecommunications. Parameter {{The Linux Kernel/id|CONFIG_PREEMPT_RT}} enables real-time preemption. ==== RT scheduling policies ==== Scheduling policies for RT: : {{The Linux Kernel/id|SCHED_FIFO}}, {{The Linux Kernel/id|SCHED_RR}} :: implemented in {{The Linux Kernel/source|kernel/sched/rt.c}} : {{w|SCHED_DEADLINE}} :: implemented in {{The Linux Kernel/source|kernel/sched/deadline.c}} API: : {{The Linux Kernel/man|1|chrt}} &ndash; manipulate the real-time attributes of a process : {{The Linux Kernel/man|2|sched_rr_get_interval}} &ndash; get the SCHED_RR interval for the named process : {{The Linux Kernel/man|2|sched_setscheduler}}, sched_getscheduler &ndash; set and get scheduling policy/parameters : {{The Linux Kernel/man|2|sched_get_priority_min}}, sched_get_priority_max &ndash; get static priority range ==== Testing RT capabilities ==== The testing process for Real-Time Linux typically involves several key aspects. First and foremost, it is crucial to verify the accuracy and stability of the system's timekeeping mechanisms. Precise time management is fundamental to real-time applications, and any inaccuracies can lead to timing errors and compromise the system's real-time capabilities. Another essential aspect of testing is evaluating the system's scheduling algorithms. Real-Time Linux employs advanced scheduling policies to prioritize critical tasks and ensure their timely execution. Testing the scheduler involves assessing its ability to allocate resources efficiently, handle task prioritization correctly, and prevent resource contention or priority inversion scenarios. Furthermore, latency measurement is a critical part of Real-Time Linux testing. Latency refers to the time delay between the occurrence of an event and the system's response to it. In real-time applications, minimizing latency is crucial to achieving timely and predictable behavior. Testing latency involves measuring the time it takes for the system to respond to various stimuli and identifying any sources of delay or unpredictability. Additionally, stress testing plays a significant role in assessing the system's robustness under heavy workloads. It involves subjecting the Real-Time Linux system to high levels of concurrent activities, intense computational loads, and input/output operations to evaluate its performance, responsiveness, and stability. Stress testing helps identify potential bottlenecks, resource limitations, or issues that might degrade the real-time behavior of the system. : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rtla RTLA – The realtime Linux analysis tool]: :: {{The Linux Kernel/doc|rtla timerlat|tools/rtla/rtla-timerlat.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|timerlat tracer|trace/timerlat-tracer.html}} :: {{The Linux Kernel/doc|rtla osnoise|tools/rtla/rtla-osnoise.html}} &ndash; CLI for the kernel's {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}}. Kernel function {{The Linux Kernel/id|run_osnoise}} measures time with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: {{The Linux Kernel/doc|rtla hwnoise|tools/rtla/rtla-hwnoise.html}} &ndash; CLI for the {{The Linux Kernel/doc|osnoise tracer|trace/osnoise-tracer.html}} with interrupts disabled :: Implementation: {{The Linux Kernel/source|tools/tracing/rtla}} and {{The Linux Kernel/source|kernel/trace/trace_osnoise.c}} :: [https://bristot.me/linux-scheduling-latency-debug-and-analysis/ Linux scheduling latency debug and analysis] : [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/rt-tests RT-Tests], [https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/tree/src/ source] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start cyclictest] : some RT-Tests man pages: :: [https://man.archlinux.org/man/cyclictest.8.en cyclictest] &ndash; measures {{The Linux Kernel/man|2|clock_nanosleep}} or {{The Linux Kernel/man|2|nanosleep}} delay <!-- generated with grep -h ' \\- ' ./rt-tests/src/*/*.[0-9] | sed 's#^#:: #;s#\\f.##g;s#\([^ ]\+\) \\-#[https://man.archlinux.org/man/\1.8.en \1] \–#' --> :: [https://man.archlinux.org/man/hackbench.8.en hackbench] &ndash; scheduler benchmark/stress test :: [https://man.archlinux.org/man/hwlatdetect.8.en hwlatdetect] &ndash; CLI for {{The Linux Kernel/doc|/sys/kernel/tracing/hwlat_detector|trace/hwlat_detector.html}} / {{The Linux Kernel/source|kernel/trace/trace_hwlat.c}}. Kernel function {{The Linux Kernel/id|kthread_fn}} measures time delays with function {{The Linux Kernel/id|trace_clock_local}} in loop. :: [https://man.archlinux.org/man/oslat.8.en oslat] &ndash; measures delay with {{w|Time_Stamp_Counter|RDTSC}} in busy loop : [https://github.com/xzpeter/rt-trace-bpf RT Tracing Tools with eBPF] : {{The Linux Kernel/ltp||realtime}} ==== ... ==== Further reading about real-time Linux: : {{The Linux Kernel/include|linux/spinlock_rt.h}} used via {{The Linux Kernel/include|linux/spinlock_types.h}} : {{The Linux Kernel/include|linux/rtmutex.h}} used via {{The Linux Kernel/include|linux/mutex_types.h}} : {{The Linux Kernel/include|linux/rwbase_rt.h}} used via {{The Linux Kernel/include|linux/rwlock_types.h}} : [https://www.youtube.com/watch?v=x6g15nRGpAM Introduction to Real-Time Linux: Unleashing Deterministic Computing] : [https://www.youtube.com/playlist?list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H Power Management and Scheduling in the Linux Kernel (OSPM)] : [https://wiki.linuxfoundation.org/realtime/start the Real-Time Linux wiki] :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cpu-partitioning/start CPU partitioning and isolation] : [https://lwn.net/Kernel/Index/#Realtime Realtime@LWN] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git linux-stable-rt.git] : [https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/log/?h=for-kbuild-bot/current-stable linux-rt-devel.git] : [https://wiki.archlinux.org/title/Realtime_kernel_patchset Realtime kernel patchset, Arch Linux] : https://www.kernel.org/pub/linux/kernel/projects/rt/ - RT patches for upstream kernel : {{w|High Precision Event Timer}} (HPET) : [https://bristot.me/demystifying-the-real-time-linux-latency/ Demystifying the Real-Time Linux Scheduling Latency] : [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/9/html/optimizing_rhel_9_for_real_time_for_low_latency_operation/real-time-kernel-tuning-in-rhel-9_optimizing-rhel9-for-real-time-for-low-latency-operation Real-time kernel tuning in RHEL 9] : Linux subsystems related to real-time :: {{w|Linux kernel#Scheduling and preemption|Linux kernel scheduling and preemption}} :: [[The_Linux_Kernel/Processing#Interrupts|Interrupts]] :: [[The_Linux_Kernel/Processing#Deferred_works|Deferred works]] :: [https://0xax.gitbooks.io/linux-insides/content/Interrupts/linux-interrupts-6.html Non-maskable interrupt handler] (NMI) :: [https://wiki.linuxfoundation.org/realtime/documentation/howto/debugging/smi-latency/smi System management interrupt] (SMI) :: {{The Linux Kernel/man|7|sched}} : [https://lore.kernel.org/lkml/?q=latency latency @ LKML] : [https://lore.kernel.org/lkml/?q=PREEMPT_RT PREEMPT_RT @ LKML] : [https://www.youtube.com/watch?v=O1dzeGJUvvU QA about PREEMP_RT, LPC'23], [https://lpc.events/event/17/contributions/1483/attachments/1261/2554/state-of-the-onion.pdf State of the onion, pdf] 💾 Historical The PREEMPT_RT patch has been partially merged into the mainline Linux kernel, [https://lwn.net/Articles/867919/ starting from version 5.15]. Lazy preemption (CONFIG_PREEMPT_LAZY) remains in the external patchset. {{BookCat}} doxrcqigskddvwez25lhx2yncjnaff8 Ada Libraries and Attributes 0 470359 4444312 2024-11-10T18:20:39Z BenBaron000 3486396 start publishable 4444312 wikitext text/x-wiki {{printable}} rfox2umbwbdol14wau7rnobacus9ozy 4444313 4444312 2024-11-10T18:22:29Z BenBaron000 3486396 4444313 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} ngz4ae10fydrlcblgej3lfpd7ng7drf 4444314 4444313 2024-11-10T18:36:39Z BenBaron000 3486396 4444314 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} {{:Ada Programming/Attributes/'Abort Signal}} {{:Ada Programming/Attributes/'Access}} {{:Ada Programming/Attributes/'Address}} {{:Ada Programming/Attributes/'Address Size}} {{:Ada Programming/Attributes/'Adjacent}} {{:Ada Programming/Attributes/'Aft}} {{:Ada Programming/Attributes/'Alignment}} {{:Ada Programming/Attributes/'Asm Input}} {{:Ada Programming/Attributes/'Asm Output}} {{:Ada Programming/Attributes/'Atomic Always Lock Free}} {{:Ada Programming/Attributes/'Base}} {{:Ada Programming/Attributes/'Bit}} {{:Ada Programming/Attributes/'Bit Order}} {{:Ada Programming/Attributes/'Bit Order:3}} {{:Ada Programming/Attributes/'Bit Position}} {{:Ada Programming/Attributes/'Body Version}} {{:Ada Programming/Attributes/'Callable}} {{:Ada Programming/Attributes/'Caller}} 4vxj1175o9u7t6sm1bicb4515arg68x 4444315 4444314 2024-11-10T18:39:30Z BenBaron000 3486396 4444315 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} {{:Ada Programming/Attributes/'Abort Signal}} {{:Ada Programming/Attributes/'Access}} {{:Ada Programming/Attributes/'Address}} {{:Ada Programming/Attributes/'Address Size}} {{:Ada Programming/Attributes/'Adjacent}} {{:Ada Programming/Attributes/'Aft}} {{:Ada Programming/Attributes/'Alignment}} {{:Ada Programming/Attributes/'Asm Input}} {{:Ada Programming/Attributes/'Asm Output}} {{:Ada Programming/Attributes/'Atomic Always Lock Free}} {{:Ada Programming/Attributes/'Base}} {{:Ada Programming/Attributes/'Bit}} {{:Ada Programming/Attributes/'Bit Order}} {{:Ada Programming/Attributes/'Bit Order:3}} {{:Ada Programming/Attributes/'Bit Position}} {{:Ada Programming/Attributes/'Body Version}} = C = {{:Ada Programming/Attributes/'Callable}} {{:Ada Programming/Attributes/'Caller}} {{:Ada Programming/Attributes/'Ceiling}} {{:Ada Programming/Attributes/'Class}} {{:Ada Programming/Attributes/'Code Address}} {{:Ada Programming/Attributes/'Compiler Version}} {{:Ada Programming/Attributes/'Component Size}} {{:Ada Programming/Attributes/'Compose}} {{:Ada Programming/Attributes/'Constrained}} {{:Ada Programming/Attributes/'Copy Sign}} {{:Ada Programming/Attributes/'Count}} 9kx4vdxpqp6lgte0k62cpe0ieqh4oak 4444316 4444315 2024-11-10T18:42:02Z BenBaron000 3486396 4444316 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} {{:Ada Programming/Attributes/'Abort Signal}} {{:Ada Programming/Attributes/'Access}} {{:Ada Programming/Attributes/'Address}} {{:Ada Programming/Attributes/'Address Size}} {{:Ada Programming/Attributes/'Adjacent}} {{:Ada Programming/Attributes/'Aft}} {{:Ada Programming/Attributes/'Alignment}} {{:Ada Programming/Attributes/'Asm Input}} {{:Ada Programming/Attributes/'Asm Output}} {{:Ada Programming/Attributes/'Atomic Always Lock Free}} {{:Ada Programming/Attributes/'Base}} {{:Ada Programming/Attributes/'Bit}} {{:Ada Programming/Attributes/'Bit Order}} {{:Ada Programming/Attributes/'Bit Order:3}} {{:Ada Programming/Attributes/'Bit Position}} {{:Ada Programming/Attributes/'Body Version}} = C = {{:Ada Programming/Attributes/'Callable}} {{:Ada Programming/Attributes/'Caller}} {{:Ada Programming/Attributes/'Ceiling}} {{:Ada Programming/Attributes/'Class}} {{:Ada Programming/Attributes/'Code Address}} {{:Ada Programming/Attributes/'Compiler Version}} {{:Ada Programming/Attributes/'Component Size}} {{:Ada Programming/Attributes/'Compose}} {{:Ada Programming/Attributes/'Constrained}} {{:Ada Programming/Attributes/'Copy Sign}} {{:Ada Programming/Attributes/'Count}} = DEF = {{:Ada Programming/Attributes/'Default Bit Order}} {{:Ada Programming/Attributes/'Default Scalar Storage Order}} {{:Ada Programming/Attributes/'Definite}} {{:Ada Programming/Attributes/'Delta}} {{:Ada Programming/Attributes/'Denorm}} {{:Ada Programming/Attributes/'Deref}} {{:Ada Programming/Attributes/'Descriptor Size}} {{:Ada Programming/Attributes/'Digits}} {{:Ada Programming/Attributes/'Elab Body}} {{:Ada Programming/Attributes/'Elab Spec}} {{:Ada Programming/Attributes/'Elab Subp Body}} {{:Ada Programming/Attributes/'Elaborated}} {{:Ada Programming/Attributes/'Emax}} {{:Ada Programming/Attributes/'Enabled}} {{:Ada Programming/Attributes/'Enum Rep}} {{:Ada Programming/Attributes/'Enum Val}} {{:Ada Programming/Attributes/'Epsilon}} {{:Ada Programming/Attributes/'Exponent}} {{:Ada Programming/Attributes/'Extended Aft}} {{:Ada Programming/Attributes/'Extended Base}} {{:Ada Programming/Attributes/'Extended Digits}} {{:Ada Programming/Attributes/'Extended Fore}} {{:Ada Programming/Attributes/'Extended Image}} {{:Ada Programming/Attributes/'Extended Value}} {{:Ada Programming/Attributes/'Extended Wide Image}} {{:Ada Programming/Attributes/'Extended Wide Value}} {{:Ada Programming/Attributes/'Extended Wide Width}} {{:Ada Programming/Attributes/'Extended Width}} {{:Ada Programming/Attributes/'External Tag}} {{:Ada Programming/Attributes/'Fast Math}} {{:Ada Programming/Attributes/'Finalization Size}} {{:Ada Programming/Attributes/'First}} {{:Ada Programming/Attributes/'Fixed Value}} {{:Ada Programming/Attributes/'Floor}} {{:Ada Programming/Attributes/'Fore}} {{:Ada Programming/Attributes/'Fraction}} {{:Ada Programming/Attributes/'From Any}} jymde3g5aejxui0yutxljjixgrztva9 4444318 4444316 2024-11-10T19:05:43Z BenBaron000 3486396 4444318 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Aspects = {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = == C == = == C == = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} se63ihvbjybgo33trw4eyhqk56lgwka 4444338 4444318 2024-11-10T22:46:40Z BenBaron000 3486396 4444338 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Aspects = {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = == C == = == C == = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} ghbt3mszprbduk7hs0majgb16tqcht7 4444339 4444338 2024-11-10T22:51:36Z BenBaron000 3486396 4444339 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Aspects = {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = == C == = == C == = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Libraries = {{:Ada Programming/Libraries}} = Ada Programming/Libraries/Ada = {{:Ada Programming/Libraries/Ada}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} mpdlb0681in0k6fnufvggwazj2r9tb5 4444342 4444339 2024-11-10T22:55:17Z BenBaron000 3486396 4444342 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Aspects = {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = == C == = == C == = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Libraries = {{:Ada Programming/Libraries}} = Ada Programming/Libraries/Ada = {{:Ada Programming/Libraries/Ada}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} = Ada Programming/Libraries/Ada.Decimal = {{:Ada Programming/Libraries/Ada.Decimal}} = Ada Programming/Libraries/Ada.Direct IO = {{:Ada Programming/Libraries/Ada.Direct IO}} = Ada Programming/Libraries/Ada.Directories = {{:Ada Programming/Libraries/Ada.Directories}} = Ada Programming/Libraries/Ada.Directories.Hierarchical File Names = {{:Ada Programming/Libraries/Ada.Directories.Hierarchical File Names}} = Ada Programming/Libraries/Ada.Directories.Information = {{:Ada Programming/Libraries/Ada.Directories.Information}} = Ada Programming/Libraries/Ada.Dispatching = {{:Ada Programming/Libraries/Ada.Dispatching}} = Ada Programming/Libraries/Ada.Dispatching.EDF = {{:Ada Programming/Libraries/Ada.Dispatching.EDF}} = Ada Programming/Libraries/Ada.Dispatching.Non Preemptive = {{:Ada Programming/Libraries/Ada.Dispatching.Non Preemptive}} = Ada Programming/Libraries/Ada.Dispatching.Round Robin = {{:Ada Programming/Libraries/Ada.Dispatching.Round Robin}} = Ada Programming/Libraries/Ada.Dynamic Priorities = {{:Ada Programming/Libraries/Ada.Dynamic Priorities}} = Ada Programming/Libraries/Ada.Environment Variables = {{:Ada Programming/Libraries/Ada.Environment Variables}} = Ada Programming/Libraries/Ada.Exceptions = {{:Ada Programming/Libraries/Ada.Exceptions}} = Ada Programming/Libraries/Ada.Execution Time = {{:Ada Programming/Libraries/Ada.Execution Time}} = Ada Programming/Libraries/Ada.Execution Time.Group Budgets = {{:Ada Programming/Libraries/Ada.Execution Time.Group Budgets}} = Ada Programming/Libraries/Ada.Execution Time.Interrupts = {{:Ada Programming/Libraries/Ada.Execution Time.Interrupts}} = Ada Programming/Libraries/Ada.Execution Time.Timers = {{:Ada Programming/Libraries/Ada.Execution Time.Timers}} = Ada Programming/Libraries/Ada.Finalization = {{:Ada Programming/Libraries/Ada.Finalization}} = Ada Programming/Libraries/Ada.Float Text IO = {{:Ada Programming/Libraries/Ada.Float Text IO}} = Ada Programming/Libraries/Ada.Float Wide Text IO = {{:Ada Programming/Libraries/Ada.Float Wide Text IO}} = Ada Programming/Libraries/Ada.Float Wide Wide Text IO = {{:Ada Programming/Libraries/Ada.Float Wide Wide Text IO}} = Ada Programming/Libraries/Ada.IO Exceptions = {{:Ada Programming/Libraries/Ada.IO Exceptions}} = Ada Programming/Libraries/Ada.Integer Text IO = {{:Ada Programming/Libraries/Ada.Integer Text IO}} = Ada Programming/Libraries/Ada.Integer Wide Text IO = {{:Ada Programming/Libraries/Ada.Integer Wide Text IO}} = Ada Programming/Libraries/Ada.Integer Wide Wide Text IO = {{:Ada Programming/Libraries/Ada.Integer Wide Wide Text IO}} = Ada Programming/Libraries/Ada.Interrupts = {{:Ada Programming/Libraries/Ada.Interrupts}} = Ada Programming/Libraries/Ada.Interrupts.Names = {{:Ada Programming/Libraries/Ada.Interrupts.Names}} = Ada Programming/Libraries/Ada.Iterator Interfaces = {{:Ada Programming/Libraries/Ada.Iterator Interfaces}} = Ada Programming/Libraries/Ada.Locales = {{:Ada Programming/Libraries/Ada.Locales}} = Ada Programming/Libraries/Ada.Numerics = {{:Ada Programming/Libraries/Ada.Numerics}} = Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers = {{:Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers}} = Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals = {{:Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals}} = Ada Programming/Libraries/Ada.Numerics.Complex Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Complex Arrays}} = Ada Programming/Libraries/Ada.Numerics.Complex Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Complex Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Complex Types = {{:Ada Programming/Libraries/Ada.Numerics.Complex Types}} = Ada Programming/Libraries/Ada.Numerics.Discrete Random = {{:Ada Programming/Libraries/Ada.Numerics.Discrete Random}} = Ada Programming/Libraries/Ada.Numerics.Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Float Random = {{:Ada Programming/Libraries/Ada.Numerics.Float Random}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Arrays}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Types = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Types}} = Ada Programming/Libraries/Ada.Numerics.Generic Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Generic Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Generic Real Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Generic Real Arrays}} = Ada Programming/Libraries/Ada.Numerics.Real Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Real Arrays}} = Ada Programming/Libraries/Ada.Real Time = {{:Ada Programming/Libraries/Ada.Real Time}} = Ada Programming/Libraries/Ada.Real Time.Timing Events = {{:Ada Programming/Libraries/Ada.Real Time.Timing Events}} = Ada Programming/Libraries/Ada.Sequential IO = {{:Ada Programming/Libraries/Ada.Sequential IO}} = Ada Programming/Libraries/Ada.Storage IO = {{:Ada Programming/Libraries/Ada.Storage IO}} bt4o7k7mj8b9bx5pcn4c09thjfk3lv1 4444343 4444342 2024-11-10T22:58:44Z BenBaron000 3486396 /* Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists */ 4444343 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} = Aspects = {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = == C == = == C == = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Libraries = {{:Ada Programming/Libraries}} = Ada Programming/Libraries/Ada = {{:Ada Programming/Libraries/Ada}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} = Ada Programming/Libraries/Ada.Decimal = {{:Ada Programming/Libraries/Ada.Decimal}} = Ada Programming/Libraries/Ada.Direct IO = {{:Ada Programming/Libraries/Ada.Direct IO}} = Ada Programming/Libraries/Ada.Directories = {{:Ada Programming/Libraries/Ada.Directories}} = Ada Programming/Libraries/Ada.Directories.Hierarchical File Names = {{:Ada Programming/Libraries/Ada.Directories.Hierarchical File Names}} = Ada Programming/Libraries/Ada.Directories.Information = {{:Ada Programming/Libraries/Ada.Directories.Information}} = Ada Programming/Libraries/Ada.Dispatching = {{:Ada Programming/Libraries/Ada.Dispatching}} = Ada Programming/Libraries/Ada.Dispatching.EDF = {{:Ada Programming/Libraries/Ada.Dispatching.EDF}} = Ada Programming/Libraries/Ada.Dispatching.Non Preemptive = {{:Ada Programming/Libraries/Ada.Dispatching.Non Preemptive}} = Ada Programming/Libraries/Ada.Dispatching.Round Robin = {{:Ada Programming/Libraries/Ada.Dispatching.Round Robin}} = Ada Programming/Libraries/Ada.Dynamic Priorities = {{:Ada Programming/Libraries/Ada.Dynamic Priorities}} = Ada Programming/Libraries/Ada.Environment Variables = {{:Ada Programming/Libraries/Ada.Environment Variables}} = Ada Programming/Libraries/Ada.Exceptions = {{:Ada Programming/Libraries/Ada.Exceptions}} = Ada Programming/Libraries/Ada.Execution Time = {{:Ada Programming/Libraries/Ada.Execution Time}} = Ada Programming/Libraries/Ada.Execution Time.Group Budgets = {{:Ada Programming/Libraries/Ada.Execution Time.Group Budgets}} = Ada Programming/Libraries/Ada.Execution Time.Interrupts = {{:Ada Programming/Libraries/Ada.Execution Time.Interrupts}} = Ada Programming/Libraries/Ada.Execution Time.Timers = {{:Ada Programming/Libraries/Ada.Execution Time.Timers}} = Ada Programming/Libraries/Ada.Finalization = {{:Ada Programming/Libraries/Ada.Finalization}} = Ada Programming/Libraries/Ada.Float Text IO = {{:Ada Programming/Libraries/Ada.Float Text IO}} = Ada Programming/Libraries/Ada.Float Wide Text IO = {{:Ada Programming/Libraries/Ada.Float Wide Text IO}} = Ada Programming/Libraries/Ada.Float Wide Wide Text IO = {{:Ada Programming/Libraries/Ada.Float Wide Wide Text IO}} = Ada Programming/Libraries/Ada.IO Exceptions = {{:Ada Programming/Libraries/Ada.IO Exceptions}} = Ada Programming/Libraries/Ada.Integer Text IO = {{:Ada Programming/Libraries/Ada.Integer Text IO}} = Ada Programming/Libraries/Ada.Integer Wide Text IO = {{:Ada Programming/Libraries/Ada.Integer Wide Text IO}} = Ada Programming/Libraries/Ada.Integer Wide Wide Text IO = {{:Ada Programming/Libraries/Ada.Integer Wide Wide Text IO}} = Ada Programming/Libraries/Ada.Interrupts = {{:Ada Programming/Libraries/Ada.Interrupts}} = Ada Programming/Libraries/Ada.Interrupts.Names = {{:Ada Programming/Libraries/Ada.Interrupts.Names}} = Ada Programming/Libraries/Ada.Iterator Interfaces = {{:Ada Programming/Libraries/Ada.Iterator Interfaces}} = Ada Programming/Libraries/Ada.Locales = {{:Ada Programming/Libraries/Ada.Locales}} = Ada Programming/Libraries/Ada.Numerics = {{:Ada Programming/Libraries/Ada.Numerics}} = Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers = {{:Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers}} = Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals = {{:Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals}} = Ada Programming/Libraries/Ada.Numerics.Complex Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Complex Arrays}} = Ada Programming/Libraries/Ada.Numerics.Complex Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Complex Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Complex Types = {{:Ada Programming/Libraries/Ada.Numerics.Complex Types}} = Ada Programming/Libraries/Ada.Numerics.Discrete Random = {{:Ada Programming/Libraries/Ada.Numerics.Discrete Random}} = Ada Programming/Libraries/Ada.Numerics.Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Float Random = {{:Ada Programming/Libraries/Ada.Numerics.Float Random}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Arrays}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Types = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Types}} = Ada Programming/Libraries/Ada.Numerics.Generic Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Generic Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Generic Real Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Generic Real Arrays}} = Ada Programming/Libraries/Ada.Numerics.Real Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Real Arrays}} = Ada Programming/Libraries/Ada.Real Time = {{:Ada Programming/Libraries/Ada.Real Time}} = Ada Programming/Libraries/Ada.Real Time.Timing Events = {{:Ada Programming/Libraries/Ada.Real Time.Timing Events}} = Ada Programming/Libraries/Ada.Sequential IO = {{:Ada Programming/Libraries/Ada.Sequential IO}} = Ada Programming/Libraries/Ada.Storage IO = {{:Ada Programming/Libraries/Ada.Storage IO}} brltpdokp0xiorkedxc5hutahf3zl2h 4444344 4444343 2024-11-10T23:02:21Z BenBaron000 3486396 4444344 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects}} {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = {{:Ada Programming/Attributes}} = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Libraries = {{:Ada Programming/Libraries}} = Ada Programming/Libraries/Ada = {{:Ada Programming/Libraries/Ada}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} = Ada Programming/Libraries/Ada.Decimal = {{:Ada Programming/Libraries/Ada.Decimal}} = Ada Programming/Libraries/Ada.Direct IO = {{:Ada Programming/Libraries/Ada.Direct IO}} = Ada Programming/Libraries/Ada.Directories = {{:Ada Programming/Libraries/Ada.Directories}} = Ada Programming/Libraries/Ada.Directories.Hierarchical File Names = {{:Ada Programming/Libraries/Ada.Directories.Hierarchical File Names}} = Ada Programming/Libraries/Ada.Directories.Information = {{:Ada Programming/Libraries/Ada.Directories.Information}} = Ada Programming/Libraries/Ada.Dispatching = {{:Ada Programming/Libraries/Ada.Dispatching}} = Ada Programming/Libraries/Ada.Dispatching.EDF = {{:Ada Programming/Libraries/Ada.Dispatching.EDF}} = Ada Programming/Libraries/Ada.Dispatching.Non Preemptive = {{:Ada Programming/Libraries/Ada.Dispatching.Non Preemptive}} = Ada Programming/Libraries/Ada.Dispatching.Round Robin = {{:Ada Programming/Libraries/Ada.Dispatching.Round Robin}} = Ada Programming/Libraries/Ada.Dynamic Priorities = {{:Ada Programming/Libraries/Ada.Dynamic Priorities}} = Ada Programming/Libraries/Ada.Environment Variables = {{:Ada Programming/Libraries/Ada.Environment Variables}} = Ada Programming/Libraries/Ada.Exceptions = {{:Ada Programming/Libraries/Ada.Exceptions}} = Ada Programming/Libraries/Ada.Execution Time = {{:Ada Programming/Libraries/Ada.Execution Time}} = Ada Programming/Libraries/Ada.Execution Time.Group Budgets = {{:Ada Programming/Libraries/Ada.Execution Time.Group Budgets}} = Ada Programming/Libraries/Ada.Execution Time.Interrupts = {{:Ada Programming/Libraries/Ada.Execution Time.Interrupts}} = Ada Programming/Libraries/Ada.Execution Time.Timers = {{:Ada Programming/Libraries/Ada.Execution Time.Timers}} = Ada Programming/Libraries/Ada.Finalization = {{:Ada Programming/Libraries/Ada.Finalization}} = Ada Programming/Libraries/Ada.Float Text IO = {{:Ada Programming/Libraries/Ada.Float Text IO}} = Ada Programming/Libraries/Ada.Float Wide Text IO = {{:Ada Programming/Libraries/Ada.Float Wide Text IO}} = Ada Programming/Libraries/Ada.Float Wide Wide Text IO = {{:Ada Programming/Libraries/Ada.Float Wide Wide Text IO}} = Ada Programming/Libraries/Ada.IO Exceptions = {{:Ada Programming/Libraries/Ada.IO Exceptions}} = Ada Programming/Libraries/Ada.Integer Text IO = {{:Ada Programming/Libraries/Ada.Integer Text IO}} = Ada Programming/Libraries/Ada.Integer Wide Text IO = {{:Ada Programming/Libraries/Ada.Integer Wide Text IO}} = Ada Programming/Libraries/Ada.Integer Wide Wide Text IO = {{:Ada Programming/Libraries/Ada.Integer Wide Wide Text IO}} = Ada Programming/Libraries/Ada.Interrupts = {{:Ada Programming/Libraries/Ada.Interrupts}} = Ada Programming/Libraries/Ada.Interrupts.Names = {{:Ada Programming/Libraries/Ada.Interrupts.Names}} = Ada Programming/Libraries/Ada.Iterator Interfaces = {{:Ada Programming/Libraries/Ada.Iterator Interfaces}} = Ada Programming/Libraries/Ada.Locales = {{:Ada Programming/Libraries/Ada.Locales}} = Ada Programming/Libraries/Ada.Numerics = {{:Ada Programming/Libraries/Ada.Numerics}} = Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers = {{:Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers}} = Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals = {{:Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals}} = Ada Programming/Libraries/Ada.Numerics.Complex Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Complex Arrays}} = Ada Programming/Libraries/Ada.Numerics.Complex Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Complex Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Complex Types = {{:Ada Programming/Libraries/Ada.Numerics.Complex Types}} = Ada Programming/Libraries/Ada.Numerics.Discrete Random = {{:Ada Programming/Libraries/Ada.Numerics.Discrete Random}} = Ada Programming/Libraries/Ada.Numerics.Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Float Random = {{:Ada Programming/Libraries/Ada.Numerics.Float Random}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Arrays}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Generic Complex Types = {{:Ada Programming/Libraries/Ada.Numerics.Generic Complex Types}} = Ada Programming/Libraries/Ada.Numerics.Generic Elementary Functions = {{:Ada Programming/Libraries/Ada.Numerics.Generic Elementary Functions}} = Ada Programming/Libraries/Ada.Numerics.Generic Real Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Generic Real Arrays}} = Ada Programming/Libraries/Ada.Numerics.Real Arrays = {{:Ada Programming/Libraries/Ada.Numerics.Real Arrays}} = Ada Programming/Libraries/Ada.Real Time = {{:Ada Programming/Libraries/Ada.Real Time}} = Ada Programming/Libraries/Ada.Real Time.Timing Events = {{:Ada Programming/Libraries/Ada.Real Time.Timing Events}} = Ada Programming/Libraries/Ada.Sequential IO = {{:Ada Programming/Libraries/Ada.Sequential IO}} = Ada Programming/Libraries/Ada.Storage IO = {{:Ada Programming/Libraries/Ada.Storage IO}} jdh84lad1kbb3vle37sytpt4j2or90o 4444345 4444344 2024-11-10T23:05:56Z BenBaron000 3486396 4444345 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} ea11g8isksz0lah4xk6gaecctw0d0h3 4444349 4444345 2024-11-10T23:53:55Z BenBaron000 3486396 4444349 wikitext text/x-wiki {{printable}} {{Print version}} {{PDF version}} = Aspects = {{:Ada Programming/Aspects/Aggregate}} {{:Ada Programming/Aspects/No Return}} {{:Ada Programming/Aspects/Write}} {{:Ada Programming/Aspects}} = Ada Programming/Aspects/Aggregate = {{:Ada Programming/Aspects/Aggregate}} = Ada Programming/Aspects/No Return = {{:Ada Programming/Aspects/No Return}} = Ada Programming/Aspects/Write = {{:Ada Programming/Aspects/Write}} = Attributes = = Ada Programming/Attributes/'Abort Signal = {{:Ada Programming/Attributes/'Abort Signal}} = Ada Programming/Attributes/'Access = {{:Ada Programming/Attributes/'Access}} = Ada Programming/Attributes/'Address = {{:Ada Programming/Attributes/'Address}} = Ada Programming/Attributes/'Address Size = {{:Ada Programming/Attributes/'Address Size}} = Ada Programming/Attributes/'Adjacent = {{:Ada Programming/Attributes/'Adjacent}} = Ada Programming/Attributes/'Aft = {{:Ada Programming/Attributes/'Aft}} = Ada Programming/Attributes/'Alignment = {{:Ada Programming/Attributes/'Alignment}} = Ada Programming/Attributes/'Asm Input = {{:Ada Programming/Attributes/'Asm Input}} = Ada Programming/Attributes/'Asm Output = {{:Ada Programming/Attributes/'Asm Output}} = Ada Programming/Attributes/'Atomic Always Lock Free = {{:Ada Programming/Attributes/'Atomic Always Lock Free}} = Ada Programming/Attributes/'Base = {{:Ada Programming/Attributes/'Base}} = Ada Programming/Attributes/'Bit = {{:Ada Programming/Attributes/'Bit}} = Ada Programming/Attributes/'Bit Order = {{:Ada Programming/Attributes/'Bit Order}} = Ada Programming/Attributes/'Bit Order:3 = {{:Ada Programming/Attributes/'Bit Order:3}} = Ada Programming/Attributes/'Bit Position = {{:Ada Programming/Attributes/'Bit Position}} = Ada Programming/Attributes/'Body Version = {{:Ada Programming/Attributes/'Body Version}} = Ada Programming/Attributes/'Callable = {{:Ada Programming/Attributes/'Callable}} = Ada Programming/Attributes/'Caller = {{:Ada Programming/Attributes/'Caller}} = Ada Programming/Attributes/'Ceiling = {{:Ada Programming/Attributes/'Ceiling}} = Ada Programming/Attributes/'Class = {{:Ada Programming/Attributes/'Class}} = Ada Programming/Attributes/'Code Address = {{:Ada Programming/Attributes/'Code Address}} = Ada Programming/Attributes/'Compiler Version = {{:Ada Programming/Attributes/'Compiler Version}} = Ada Programming/Attributes/'Component Size = {{:Ada Programming/Attributes/'Component Size}} = Ada Programming/Attributes/'Compose = {{:Ada Programming/Attributes/'Compose}} = Ada Programming/Attributes/'Constrained = {{:Ada Programming/Attributes/'Constrained}} = Ada Programming/Attributes/'Copy Sign = {{:Ada Programming/Attributes/'Copy Sign}} = Ada Programming/Attributes/'Count = {{:Ada Programming/Attributes/'Count}} = Ada Programming/Attributes/'Default Bit Order = {{:Ada Programming/Attributes/'Default Bit Order}} = Ada Programming/Attributes/'Default Scalar Storage Order = {{:Ada Programming/Attributes/'Default Scalar Storage Order}} = Ada Programming/Attributes/'Definite = {{:Ada Programming/Attributes/'Definite}} = Ada Programming/Attributes/'Delta = {{:Ada Programming/Attributes/'Delta}} = Ada Programming/Attributes/'Denorm = {{:Ada Programming/Attributes/'Denorm}} = Ada Programming/Attributes/'Deref = {{:Ada Programming/Attributes/'Deref}} = Ada Programming/Attributes/'Descriptor Size = {{:Ada Programming/Attributes/'Descriptor Size}} = Ada Programming/Attributes/'Digits = {{:Ada Programming/Attributes/'Digits}} = Ada Programming/Attributes/'Elab Body = {{:Ada Programming/Attributes/'Elab Body}} = Ada Programming/Attributes/'Elab Spec = {{:Ada Programming/Attributes/'Elab Spec}} = Ada Programming/Attributes/'Elab Subp Body = {{:Ada Programming/Attributes/'Elab Subp Body}} = Ada Programming/Attributes/'Elaborated = {{:Ada Programming/Attributes/'Elaborated}} = Ada Programming/Attributes/'Emax = {{:Ada Programming/Attributes/'Emax}} = Ada Programming/Attributes/'Enabled = {{:Ada Programming/Attributes/'Enabled}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} = Ada Programming/Attributes/'Enum Val = {{:Ada Programming/Attributes/'Enum Val}} = Ada Programming/Attributes/'Epsilon = {{:Ada Programming/Attributes/'Epsilon}} = Ada Programming/Attributes/'Exponent = {{:Ada Programming/Attributes/'Exponent}} = Ada Programming/Attributes/'Extended Aft = {{:Ada Programming/Attributes/'Extended Aft}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Base = {{:Ada Programming/Attributes/'Extended Base}} = Ada Programming/Attributes/'Extended Digits = {{:Ada Programming/Attributes/'Extended Digits}} = Ada Programming/Attributes/'Extended Fore = {{:Ada Programming/Attributes/'Extended Fore}} = Ada Programming/Attributes/'Extended Image = {{:Ada Programming/Attributes/'Extended Image}} = Ada Programming/Attributes/'Extended Value = {{:Ada Programming/Attributes/'Extended Value}} = Ada Programming/Attributes/'Extended Wide Image = {{:Ada Programming/Attributes/'Extended Wide Image}} = Ada Programming/Attributes/'Extended Wide Value = {{:Ada Programming/Attributes/'Extended Wide Value}} = Ada Programming/Attributes/'Extended Wide Width = {{:Ada Programming/Attributes/'Extended Wide Width}} = Ada Programming/Attributes/'Extended Width = {{:Ada Programming/Attributes/'Extended Width}} = Ada Programming/Attributes/'External Tag = {{:Ada Programming/Attributes/'External Tag}} = Ada Programming/Attributes/'Fast Math = {{:Ada Programming/Attributes/'Fast Math}} = Ada Programming/Attributes/'Finalization Size = {{:Ada Programming/Attributes/'Finalization Size}} = Ada Programming/Attributes/'First = {{:Ada Programming/Attributes/'First}} = Ada Programming/Attributes/'Fixed Value = {{:Ada Programming/Attributes/'Fixed Value}} = Ada Programming/Attributes/'Floor = {{:Ada Programming/Attributes/'Floor}} = Ada Programming/Attributes/'Fore = {{:Ada Programming/Attributes/'Fore}} = Ada Programming/Attributes/'Fraction = {{:Ada Programming/Attributes/'Fraction}} = Ada Programming/Attributes/'From Any = {{:Ada Programming/Attributes/'From Any}} = Ada Programming/Attributes/'Has Access Values = {{:Ada Programming/Attributes/'Has Access Values}} = Ada Programming/Attributes/'Has Discriminants = {{:Ada Programming/Attributes/'Has Discriminants}} = Ada Programming/Attributes/'Has Same Storage = {{:Ada Programming/Attributes/'Has Same Storage}} = Ada Programming/Attributes/'Has Tagged Values = {{:Ada Programming/Attributes/'Has Tagged Values}} = Ada Programming/Attributes/'Identity = {{:Ada Programming/Attributes/'Identity}} = Ada Programming/Attributes/'Image = {{:Ada Programming/Attributes/'Image}} = Ada Programming/Attributes/'Img = {{:Ada Programming/Attributes/'Img}} = Ada Programming/Attributes/'Index = {{:Ada Programming/Attributes/'Index}} = Ada Programming/Attributes/'Initialized = {{:Ada Programming/Attributes/'Initialized}} = Ada Programming/Attributes/'Input = {{:Ada Programming/Attributes/'Input}} = Ada Programming/Attributes/'Integer Value = {{:Ada Programming/Attributes/'Integer Value}} = Ada Programming/Attributes/'Invalid Value = {{:Ada Programming/Attributes/'Invalid Value}} = Ada Programming/Attributes/'Large = {{:Ada Programming/Attributes/'Large}} = Ada Programming/Attributes/'Last = {{:Ada Programming/Attributes/'Last}} = Ada Programming/Attributes/'Leading Part = {{:Ada Programming/Attributes/'Leading Part}} = Ada Programming/Attributes/'Length = {{:Ada Programming/Attributes/'Length}} = Ada Programming/Attributes/'Library Level = {{:Ada Programming/Attributes/'Library Level}} = Ada Programming/Attributes/'Loop Entry = {{:Ada Programming/Attributes/'Loop Entry}} = Ada Programming/Attributes/'Machine = {{:Ada Programming/Attributes/'Machine}} = Ada Programming/Attributes/'Machine Emax = {{:Ada Programming/Attributes/'Machine Emax}} = Ada Programming/Attributes/'Machine Emin = {{:Ada Programming/Attributes/'Machine Emin}} = Ada Programming/Attributes/'Machine Mantissa = {{:Ada Programming/Attributes/'Machine Mantissa}} = Ada Programming/Attributes/'Machine Overflows = {{:Ada Programming/Attributes/'Machine Overflows}} = Ada Programming/Attributes/'Machine Radix = {{:Ada Programming/Attributes/'Machine Radix}} = Ada Programming/Attributes/'Machine Rounding = {{:Ada Programming/Attributes/'Machine Rounding}} = Ada Programming/Attributes/'Machine Rounds = {{:Ada Programming/Attributes/'Machine Rounds}} = Ada Programming/Attributes/'Machine Size = {{:Ada Programming/Attributes/'Machine Size}} = Ada Programming/Attributes/'Mantissa = {{:Ada Programming/Attributes/'Mantissa}} = Ada Programming/Attributes/'Max = {{:Ada Programming/Attributes/'Max}} = Ada Programming/Attributes/'Max Alignment For Allocation = {{:Ada Programming/Attributes/'Max Alignment For Allocation}} = Ada Programming/Attributes/'Max Integer Size = {{:Ada Programming/Attributes/'Max Integer Size}} = Ada Programming/Attributes/'Max Size In Storage Elements = {{:Ada Programming/Attributes/'Max Size In Storage Elements}} = Ada Programming/Attributes/'Maximum Alignment = {{:Ada Programming/Attributes/'Maximum Alignment}} = Ada Programming/Attributes/'Mechanism Code = {{:Ada Programming/Attributes/'Mechanism Code}} = Ada Programming/Attributes/'Min = {{:Ada Programming/Attributes/'Min}} = Ada Programming/Attributes/'Mod = {{:Ada Programming/Attributes/'Mod}} = Ada Programming/Attributes/'Model = {{:Ada Programming/Attributes/'Model}} = Ada Programming/Attributes/'Model Emin = {{:Ada Programming/Attributes/'Model Emin}} = Ada Programming/Attributes/'Model Epsilon = {{:Ada Programming/Attributes/'Model Epsilon}} = Ada Programming/Attributes/'Model Mantissa = {{:Ada Programming/Attributes/'Model Mantissa}} = Ada Programming/Attributes/'Model Small = {{:Ada Programming/Attributes/'Model Small}} = Ada Programming/Attributes/'Modulus = {{:Ada Programming/Attributes/'Modulus}} = Ada Programming/Attributes/'Null Parameter = {{:Ada Programming/Attributes/'Null Parameter}} = Ada Programming/Attributes/'Object Size = {{:Ada Programming/Attributes/'Object Size}} = Ada Programming/Attributes/'Old = {{:Ada Programming/Attributes/'Old}} = Ada Programming/Attributes/'Output = {{:Ada Programming/Attributes/'Output}} = Ada Programming/Attributes/'Overlaps Storage = {{:Ada Programming/Attributes/'Overlaps Storage}} = Ada Programming/Attributes/'Parallel Reduce = {{:Ada Programming/Attributes/'Parallel Reduce}} = Ada Programming/Attributes/'Partition ID = {{:Ada Programming/Attributes/'Partition ID}} = Ada Programming/Attributes/'Passed By Reference = {{:Ada Programming/Attributes/'Passed By Reference}} = Ada Programming/Attributes/'Pool Address = {{:Ada Programming/Attributes/'Pool Address}} = Ada Programming/Attributes/'Pos = {{:Ada Programming/Attributes/'Pos}} = Ada Programming/Attributes/'Position = {{:Ada Programming/Attributes/'Position}} = Ada Programming/Attributes/'Pred = {{:Ada Programming/Attributes/'Pred}} = Ada Programming/Attributes/'Preelaborable Initialization = {{:Ada Programming/Attributes/'Preelaborable Initialization}} = Ada Programming/Attributes/'Preelaborate Initialization = {{:Ada Programming/Attributes/'Preelaborate Initialization}} = Ada Programming/Attributes/'Priority = {{:Ada Programming/Attributes/'Priority}} = Ada Programming/Attributes/'Put Image = {{:Ada Programming/Attributes/'Put Image}} = Ada Programming/Attributes/'Range = {{:Ada Programming/Attributes/'Range}} = Ada Programming/Attributes/'Range Length = {{:Ada Programming/Attributes/'Range Length}} = Ada Programming/Attributes/'Read = {{:Ada Programming/Attributes/'Read}} = Ada Programming/Attributes/'Reduce = {{:Ada Programming/Attributes/'Reduce}} = Ada Programming/Attributes/'Ref = {{:Ada Programming/Attributes/'Ref}} = Ada Programming/Attributes/'Relative Deadline = {{:Ada Programming/Attributes/'Relative Deadline}} = Ada Programming/Attributes/'Remainder = {{:Ada Programming/Attributes/'Remainder}} = Ada Programming/Attributes/'Restriction Set = {{:Ada Programming/Attributes/'Restriction Set}} = Ada Programming/Attributes/'Result = {{:Ada Programming/Attributes/'Result}} = Ada Programming/Attributes/'Round = {{:Ada Programming/Attributes/'Round}} = Ada Programming/Attributes/'Rounding = {{:Ada Programming/Attributes/'Rounding}} {{split}} = Ada Programming/Attributes/'Safe Emax = {{:Ada Programming/Attributes/'Safe Emax}} = Ada Programming/Attributes/'Safe First = {{:Ada Programming/Attributes/'Safe First}} = Ada Programming/Attributes/'Safe Large = {{:Ada Programming/Attributes/'Safe Large}} = Ada Programming/Attributes/'Safe Last = {{:Ada Programming/Attributes/'Safe Last}} = Ada Programming/Attributes/'Safe Small = {{:Ada Programming/Attributes/'Safe Small}} = Ada Programming/Attributes/'Scalar Storage Order = {{:Ada Programming/Attributes/'Scalar Storage Order}} = Ada Programming/Attributes/'Scale = {{:Ada Programming/Attributes/'Scale}} = Ada Programming/Attributes/'Scaling = {{:Ada Programming/Attributes/'Scaling}} = Ada Programming/Attributes/'Signed Zeros = {{:Ada Programming/Attributes/'Signed Zeros}} = Ada Programming/Attributes/'Simple Storage Pool = {{:Ada Programming/Attributes/'Simple Storage Pool}} = Ada Programming/Attributes/'Size = {{:Ada Programming/Attributes/'Size}} = Ada Programming/Attributes/'Size:3 = {{:Ada Programming/Attributes/'Size:3}} = Ada Programming/Attributes/'Small = {{:Ada Programming/Attributes/'Small}} = Ada Programming/Attributes/'Small Denominator = {{:Ada Programming/Attributes/'Small Denominator}} = Ada Programming/Attributes/'Small Numerator = {{:Ada Programming/Attributes/'Small Numerator}} = Ada Programming/Attributes/'Storage Pool = {{:Ada Programming/Attributes/'Storage Pool}} = Ada Programming/Attributes/'Storage Size = {{:Ada Programming/Attributes/'Storage Size}} = Ada Programming/Attributes/'Storage Unit = {{:Ada Programming/Attributes/'Storage Unit}} = Ada Programming/Attributes/'Stream Size = {{:Ada Programming/Attributes/'Stream Size}} = Ada Programming/Attributes/'Stub Type = {{:Ada Programming/Attributes/'Stub Type}} = Ada Programming/Attributes/'Succ = {{:Ada Programming/Attributes/'Succ}} = Ada Programming/Attributes/'System Allocator Alignment = {{:Ada Programming/Attributes/'System Allocator Alignment}} = Ada Programming/Attributes/'Tag = {{:Ada Programming/Attributes/'Tag}} = Ada Programming/Attributes/'Target Name = {{:Ada Programming/Attributes/'Target Name}} = Ada Programming/Attributes/'Task ID = {{:Ada Programming/Attributes/'Task ID}} = Ada Programming/Attributes/'Terminated = {{:Ada Programming/Attributes/'Terminated}} = Ada Programming/Attributes/'To Address = {{:Ada Programming/Attributes/'To Address}} = Ada Programming/Attributes/'To Any = {{:Ada Programming/Attributes/'To Any}} = Ada Programming/Attributes/'Truncation = {{:Ada Programming/Attributes/'Truncation}} = Ada Programming/Attributes/'TypeCode = {{:Ada Programming/Attributes/'TypeCode}} = Ada Programming/Attributes/'Type Class = {{:Ada Programming/Attributes/'Type Class}} = Ada Programming/Attributes/'Type Key = {{:Ada Programming/Attributes/'Type Key}} = Ada Programming/Attributes/'Unbiased Rounding = {{:Ada Programming/Attributes/'Unbiased Rounding}} = Ada Programming/Attributes/'Unchecked Access = {{:Ada Programming/Attributes/'Unchecked Access}} = Ada Programming/Attributes/'Unconstrained Array = {{:Ada Programming/Attributes/'Unconstrained Array}} = Ada Programming/Attributes/'Universal Literal String = {{:Ada Programming/Attributes/'Universal Literal String}} = Ada Programming/Attributes/'Unrestricted Access = {{:Ada Programming/Attributes/'Unrestricted Access}} = Ada Programming/Attributes/'Update = {{:Ada Programming/Attributes/'Update}} = Ada Programming/Attributes/'VADS Size = {{:Ada Programming/Attributes/'VADS Size}} = Ada Programming/Attributes/'Val = {{:Ada Programming/Attributes/'Val}} = Ada Programming/Attributes/'Valid = {{:Ada Programming/Attributes/'Valid}} = Ada Programming/Attributes/'Valid Scalars = {{:Ada Programming/Attributes/'Valid Scalars}} = Ada Programming/Attributes/'Valid Value = {{:Ada Programming/Attributes/'Valid Value}} = Ada Programming/Attributes/'Value = {{:Ada Programming/Attributes/'Value}} = Ada Programming/Attributes/'Value Size = {{:Ada Programming/Attributes/'Value Size}} = Ada Programming/Attributes/'Version = {{:Ada Programming/Attributes/'Version}} = Ada Programming/Attributes/'Wchar T Size = {{:Ada Programming/Attributes/'Wchar T Size}} = Ada Programming/Attributes/'Wide Image = {{:Ada Programming/Attributes/'Wide Image}} = Ada Programming/Attributes/'Wide Value = {{:Ada Programming/Attributes/'Wide Value}} = Ada Programming/Attributes/'Wide Wide Image = {{:Ada Programming/Attributes/'Wide Wide Image}} = Ada Programming/Attributes/'Wide Wide Value = {{:Ada Programming/Attributes/'Wide Wide Value}} = Ada Programming/Attributes/'Wide Wide Width = {{:Ada Programming/Attributes/'Wide Wide Width}} = Ada Programming/Attributes/'Wide Width = {{:Ada Programming/Attributes/'Wide Width}} = Ada Programming/Attributes/'Width = {{:Ada Programming/Attributes/'Width}} = Ada Programming/Attributes/'Word Size = {{:Ada Programming/Attributes/'Word Size}} = Ada Programming/Attributes/'Write = {{:Ada Programming/Attributes/'Write}} = Ada Programming/Attributes/'Enum Rep = {{:Ada Programming/Attributes/'Enum Rep}} l6oz2bvimeat0pawfi4a781ohlmg5ba The Linux Kernel/Processes 0 470360 4444323 2024-11-10T20:04:15Z Conan 3188 move from https://en.wikibooks.org/wiki/The_Linux_Kernel/Multitasking 4444323 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:=Linux processes}} </noinclude> == Processes == '''Process''' is a running user space program. Kernel starts the first process '''/sbin/init''' in function {{The Linux Kernel/id|run_init_process}}using {{The Linux Kernel/id|kernel_execve}}. Processes occupy system resources, like memory, CPU time. System calls {{The Linux Kernel/id|sys_fork}} and {{The Linux Kernel/id|sys_execve}} are used to create new processes from user space. The process exit with an {{The Linux Kernel/id|sys_exit}} system call. Linux inherits from Unix its basic process management system calls (⚲ API ↪ ⚙️ implementations): {{The Linux Kernel/man|2|fork}} ↪ {{The Linux Kernel/id|kernel_clone}} creates a new process by {{w|Prototype_pattern|duplicating}} the process invoking it. {{The Linux Kernel/man|2|_exit}} ↪ {{The Linux Kernel/id|do_exit}} terminates the calling process "immediately". Any open file descriptors belonging to the process are closed. {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its children processes terminates. {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execve}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}} Linux enhances the traditional Unix process API with its own system calls {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). PID - {{w|Process identifier}} defined as {{The Linux Kernel/id|pid_t}} is unique sequential number. {{The Linux Kernel/man|1|ps}} -A lists current processes. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} return PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internal historically is called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. ⚲ API : [https://man7.org/linux/man-pages/man0/unistd.h.0p.html unistd.h] : [https://man7.org/linux/man-pages/man0/sys_types.h.0p.html sys/types.h] : [https://man7.org/linux/man-pages/man0/sys_wait.h.0p.html sys/wait.h] ⚙️ Internals : {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|pid_type}} : {{The Linux Kernel/source|kernel/fork.c}} :: syscalls: :: {{The Linux Kernel/man|2|set_tid_address}} &ndash; set pointer to thread ID :: {{The Linux Kernel/man|2|fork}} &ndash; create a child process :: {{The Linux Kernel/man|2|vfork}} &ndash; create a child process and block parent :: {{The Linux Kernel/man|2|clone}} &ndash; create a child process :: {{The Linux Kernel/man|2|unshare}} &ndash; disassociate parts of the process execution context : {{The Linux Kernel/source|kernel/sys.c}} :: syscalls: :: {{The Linux Kernel/man|2|prctl}} &ndash; operations on a process or thread : {{The Linux Kernel/source|kernel/pid.c}} :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor : {{The Linux Kernel/source|kernel/exit.c}} :: syscalls: :: {{The Linux Kernel/man|2|exit}} &ndash; terminate the calling process :: {{The Linux Kernel/man|2|exit_group}} &ndash; exit all threads in a process :: {{The Linux Kernel/man|2|waitid}} &ndash; wait for process to change state :: {{The Linux Kernel/man|2|waitpid}} &ndash; wait for process to change state : {{The Linux Kernel/source|fs/exec.c}} 📖 References : {{w|fork (system call)}} : {{w|exit (system call)}} : {{w|wait (system call)}} : {{w|exec (system call)}} === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces 🔧 TODO: {{The Linux Kernel/man|2|sigaction}} {{The Linux Kernel/man|2|signal}} {{The Linux Kernel/man|2|sigaltstack}} {{The Linux Kernel/man|2|sigpending}} {{The Linux Kernel/man|2|sigprocmask}} {{The Linux Kernel/man|2|sigsuspend}} {{The Linux Kernel/man|2|sigwaitinfo}} {{The Linux Kernel/man|2|sigtimedwait}} {{The Linux Kernel/source|kernel/signal.c}} : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : Sys V IPC: :: Message queues :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} {{BookCat}} dj7iyu62fhyo9vutmptqnena3wyxy0q 4444324 4444323 2024-11-10T20:04:44Z Conan 3188 4444324 wikitext text/x-wiki <noinclude> {{DISPLAYTITLE:Linux processes}} </noinclude> == Processes == '''Process''' is a running user space program. Kernel starts the first process '''/sbin/init''' in function {{The Linux Kernel/id|run_init_process}}using {{The Linux Kernel/id|kernel_execve}}. Processes occupy system resources, like memory, CPU time. System calls {{The Linux Kernel/id|sys_fork}} and {{The Linux Kernel/id|sys_execve}} are used to create new processes from user space. The process exit with an {{The Linux Kernel/id|sys_exit}} system call. Linux inherits from Unix its basic process management system calls (⚲ API ↪ ⚙️ implementations): {{The Linux Kernel/man|2|fork}} ↪ {{The Linux Kernel/id|kernel_clone}} creates a new process by {{w|Prototype_pattern|duplicating}} the process invoking it. {{The Linux Kernel/man|2|_exit}} ↪ {{The Linux Kernel/id|do_exit}} terminates the calling process "immediately". Any open file descriptors belonging to the process are closed. {{The Linux Kernel/man|2|wait}} ↪ {{The Linux Kernel/id|kernel_waitid}} suspends the execution of the calling process until one of its children processes terminates. {{The Linux Kernel/man|2|execve}} ↪ {{The Linux Kernel/id|do_execve}} runs an executable file in the context of current process, replacing the previous executable. This system call is used by family of functions of libc {{The Linux Kernel/man|3|exec}} Linux enhances the traditional Unix process API with its own system calls {{The Linux Kernel/man|2|clone}}. Clone creates a child process that may share parts of its execution context with the parent. It is often used to implement threads (though programmers will typically use a higher-level interface such as {{The Linux Kernel/man|7|pthreads}}, implemented on top of clone). PID - {{w|Process identifier}} defined as {{The Linux Kernel/id|pid_t}} is unique sequential number. {{The Linux Kernel/man|1|ps}} -A lists current processes. Syscall {{The Linux Kernel/man|2|getpid}} ↪ {{The Linux Kernel/id|task_tgid_vnr}} return PID of the current process which internally is called TGID - thread group id. A process can contain many threads. {{The Linux Kernel/man|2|gettid}} ↪ {{The Linux Kernel/id|task_pid_vnr}} returns thread id. Which internal historically is called PID. ⚠️ Warning: confusion. User space PID ≠ kernel space PID. {{The Linux Kernel/man|1|ps}} -AF lists current processes and thread as {{w|Light-weight process|LWP}}. For a single thread process all these IDs are equal. ⚲ API : [https://man7.org/linux/man-pages/man0/unistd.h.0p.html unistd.h] : [https://man7.org/linux/man-pages/man0/sys_types.h.0p.html sys/types.h] : [https://man7.org/linux/man-pages/man0/sys_wait.h.0p.html sys/wait.h] ⚙️ Internals : {{The Linux Kernel/id|task_struct}} : {{The Linux Kernel/id|pid_type}} : {{The Linux Kernel/source|kernel/fork.c}} :: syscalls: :: {{The Linux Kernel/man|2|set_tid_address}} &ndash; set pointer to thread ID :: {{The Linux Kernel/man|2|fork}} &ndash; create a child process :: {{The Linux Kernel/man|2|vfork}} &ndash; create a child process and block parent :: {{The Linux Kernel/man|2|clone}} &ndash; create a child process :: {{The Linux Kernel/man|2|unshare}} &ndash; disassociate parts of the process execution context : {{The Linux Kernel/source|kernel/sys.c}} :: syscalls: :: {{The Linux Kernel/man|2|prctl}} &ndash; operations on a process or thread : {{The Linux Kernel/source|kernel/pid.c}} :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor :: syscalls: :: {{The Linux Kernel/man|2|pidfd_open}} &ndash; obtain a file descriptor that refers to a process :: {{The Linux Kernel/man|2|pidfd_getfd}} &ndash; obtain a duplicate of another process's file descriptor : {{The Linux Kernel/source|kernel/exit.c}} :: syscalls: :: {{The Linux Kernel/man|2|exit}} &ndash; terminate the calling process :: {{The Linux Kernel/man|2|exit_group}} &ndash; exit all threads in a process :: {{The Linux Kernel/man|2|waitid}} &ndash; wait for process to change state :: {{The Linux Kernel/man|2|waitpid}} &ndash; wait for process to change state : {{The Linux Kernel/source|fs/exec.c}} 📖 References : {{w|fork (system call)}} : {{w|exit (system call)}} : {{w|wait (system call)}} : {{w|exec (system call)}} === Inter-process communication === Inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances. Linux inherited from Unix the following IPC mechanisms: Signals (⚲ API ↪ ⚙️ implementations): : {{The Linux Kernel/man|2|kill}} sends signal to a process : {{The Linux Kernel/man|2|tgkill}} ↪ {{The Linux Kernel/id|do_tkill}} sends a signal to a thread : {{The Linux Kernel/man|2|process_vm_readv}} ↪ {{The Linux Kernel/id|process_vm_rw}} - zero-copy data transfer between process address spaces 🔧 TODO: {{The Linux Kernel/man|2|sigaction}} {{The Linux Kernel/man|2|signal}} {{The Linux Kernel/man|2|sigaltstack}} {{The Linux Kernel/man|2|sigpending}} {{The Linux Kernel/man|2|sigprocmask}} {{The Linux Kernel/man|2|sigsuspend}} {{The Linux Kernel/man|2|sigwaitinfo}} {{The Linux Kernel/man|2|sigtimedwait}} {{The Linux Kernel/source|kernel/signal.c}} : [[../Storage#Zero-copy|Anonymous pipes]] and named pipes (FIFOs) {{The Linux Kernel/man|2|mknod}} ↪ {{The Linux Kernel/id|do_mknodat}} {{The Linux Kernel/id|S_IFIFO}} : {{w|Express Data Path}} {{The Linux Kernel/id|PF_XDP}} : {{w|Unix domain socket}} {{The Linux Kernel/id|PF_UNIX}} : Memory-mapped files {{The Linux Kernel/man|2|mmap}} ⤑ {{The Linux Kernel/id|ksys_mmap_pgoff}} : Sys V IPC: :: Message queues :: Semaphores :: Shared memory: {{The Linux Kernel/man|2|shmget}}, {{The Linux Kernel/man|2|shmctl}}, {{The Linux Kernel/man|2|shmat}}, {{The Linux Kernel/man|2|shmdt}} 📖 References : {{w|Inter-process communication}} : {{The Linux Kernel/man|7|sysvipc}} {{BookCat}} hxf2cmmco1pn83nv0s0fmh6sa2hsyrx LineageOS/Installing 0 470361 4444331 2024-11-10T21:21:01Z Xeverything11 3410648 Created page with "{{Under construction}} == Requirements == * A desktop PC or laptop * A compatible phone or tablet * An USB data cable * A microSD card (optional, at least 4GB) * A recovery image for your specific model (TWRP recommended) * LineageOS custom ROM for your specific model * ADB * Odin for Samsung, or Fastboot for others == Preparing for flashing == == Flashing recovery == == Flashing LineageOS ==" 4444331 wikitext text/x-wiki {{Under construction}} == Requirements == * A desktop PC or laptop * A compatible phone or tablet * An USB data cable * A microSD card (optional, at least 4GB) * A recovery image for your specific model (TWRP recommended) * LineageOS custom ROM for your specific model * ADB * Odin for Samsung, or Fastboot for others == Preparing for flashing == == Flashing recovery == == Flashing LineageOS == arjompv53elmheg3p2lufpjutyx30tr 4444332 4444331 2024-11-10T21:22:06Z Xeverything11 3410648 category 4444332 wikitext text/x-wiki {{Under construction}} == Requirements == * A desktop PC or laptop * A compatible phone or tablet * An USB data cable * A microSD card (optional, at least 4GB) * A recovery image for your specific model (TWRP recommended) * LineageOS custom ROM for your specific model * ADB * Odin for Samsung, or Fastboot for others == Preparing for flashing == == Flashing recovery == == Flashing LineageOS == {{BookCat}} mkqavj8ju7e4bfkey2ydpif7nhuiq9t 4444382 4444332 2024-11-11T09:21:54Z Xeverything11 3410648 content 4444382 wikitext text/x-wiki {{Under construction}} == Requirements == * A desktop PC or laptop * A compatible phone or tablet * An USB data cable * A microSD card (optional, at least 4GB) * A recovery image for your specific model (TWRP recommended) * LineageOS custom ROM for your specific model * Android SDK * Odin (needed for Samsung devices) == Preparing for flashing == === Enabling OEM unlocking === Go to Settings -> About Phone or System and find Build Number. Tap it 7 times to enable developer options. Return back and go to Developer options and find OEM unlocking, then turn on. You might be prompted to enter PIN or password to confirm.<ref>https://www.ultfone.com/unlock-android/oem-unlock-android.html - retrieved 2024-11-11</ref> == Flashing recovery == == Flashing LineageOS == == References == {{reflist}} {{BookCat}} kc29hzhz9k657ztc2kagv2jcwlgv2f6 4444386 4444382 2024-11-11T09:26:29Z Xeverything11 3410648 more info 4444386 wikitext text/x-wiki {{Under construction}} == Requirements == * A desktop PC or laptop * A compatible phone or tablet * An USB data cable * A microSD card (optional, at least 4GB) * A recovery image for your specific model (TWRP recommended) * LineageOS custom ROM for your specific model * [https://developer.android.com/tools/releases/platform-tools Android SDK Platform Tools] * [https://odindownload.com/ Odin] (required for Samsung devices) == Preparing for flashing == === Enabling OEM unlocking === Go to Settings -> About Phone or System on your device and find Build Number. Tap it 7 times to enable developer options. Return back and go to Developer options and find OEM unlocking, then turn on. You might be prompted to enter PIN or password to confirm.<ref>https://www.ultfone.com/unlock-android/oem-unlock-android.html - retrieved 2024-11-11</ref> == Flashing recovery == == Flashing LineageOS == == References == {{reflist}} {{BookCat}} abqph53684cxqhwwupeska3ka9xc8w4 4444388 4444386 2024-11-11T09:49:46Z Xeverything11 3410648 /* Enabling OEM unlocking */ arrow 4444388 wikitext text/x-wiki {{Under construction}} == Requirements == * A desktop PC or laptop * A compatible phone or tablet * An USB data cable * A microSD card (optional, at least 4GB) * A recovery image for your specific model (TWRP recommended) * LineageOS custom ROM for your specific model * [https://developer.android.com/tools/releases/platform-tools Android SDK Platform Tools] * [https://odindownload.com/ Odin] (required for Samsung devices) == Preparing for flashing == === Enabling OEM unlocking === Go to Settings → About Phone or System on your device and find Build Number. Tap it 7 times to enable developer options. Return back and go to Developer options and find OEM unlocking, then turn on. You might be prompted to enter PIN or password to confirm.<ref>https://www.ultfone.com/unlock-android/oem-unlock-android.html - retrieved 2024-11-11</ref> == Flashing recovery == == Flashing LineageOS == == References == {{reflist}} {{BookCat}} bxm8c2o76xqt2squlticxgbr8gdyitn Pokémon/Pokédex/Cinderace 0 470362 4444341 2024-11-10T22:54:51Z 41.114.84.5 Information 4444341 wikitext text/x-wiki '''Cinderarce the striker pokemon it normally looks like a foot ball player in a rabbit's body juggling a pebble turning it into a burning fire ball Wich it uses to scotch it's enemies''' 4sci8wpgiwas1hg7aaklv8at6q0bkl6 Pokémon/Pokédex/Eternatus 0 470363 4444346 2024-11-10T23:19:44Z 41.114.84.5 Everything 4444346 wikitext text/x-wiki '''an alien pokemon that came from space in commit containing an element called''' <u>gigantamax</u> '''the alien feeds for the radiation caused by gigantamax energy making it reach it's strongest level known as eternamax eternatas (joke alart)Wich makes it look like a giant hand''' sd665dp2mfrj7y0l4xg58fp0a6a30z1 Ada Libraries 0 470364 4444347 2024-11-10T23:20:48Z BenBaron000 3486396 Created page with "{{printable}}" 4444347 wikitext text/x-wiki {{printable}} rfox2umbwbdol14wau7rnobacus9ozy 4444350 4444347 2024-11-10T23:57:41Z BenBaron000 3486396 4444350 wikitext text/x-wiki {{printable}} ({{split}}) ({{split}})({{split}})({{split}})({{split}})({{split}})({{split}})({{split}}) ({{split}}) = Ada Programming/Libraries = {{:Ada Programming/Libraries}} = Ada Programming/Libraries/Ada = {{:Ada Programming/Libraries/Ada}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} ph7n0hi62hoe0vxjirglb1i1afghr21 4444351 4444350 2024-11-10T23:59:14Z BenBaron000 3486396 4444351 wikitext text/x-wiki {{printable}} {{split}} {{split}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} 5pawqkmts41ybzocvjj90tcs0engkwn 4444352 4444351 2024-11-11T00:01:51Z BenBaron000 3486396 /* Ada Programming/Libraries/Ada.Containers.Bounded Multiway Trees */ 4444352 wikitext text/x-wiki {{printable}} {{split}} {{split}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Bounded Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} eotam6c95h7jf7vuszxjis0uubamop9 4444354 4444352 2024-11-11T00:09:08Z BenBaron000 3486396 4444354 wikitext text/x-wiki {{printable}} = Ada Programming/Libraries/Ada.Assertions = {{:Ada Programming/Libraries/Ada.Assertions}} = Ada Programming/Libraries/Ada.Asynchronous Task Control = {{:Ada Programming/Libraries/Ada.Asynchronous Task Control}} = Ada Programming/Libraries/Ada.Calendar = {{:Ada Programming/Libraries/Ada.Calendar}} = Ada Programming/Libraries/Ada.Calendar.Arithmetic = {{:Ada Programming/Libraries/Ada.Calendar.Arithmetic}} = Ada Programming/Libraries/Ada.Calendar.Formatting = {{:Ada Programming/Libraries/Ada.Calendar.Formatting}} = Ada Programming/Libraries/Ada.Calendar.Time Zones = {{:Ada Programming/Libraries/Ada.Calendar.Time Zones}} = Ada Programming/Libraries/Ada.Characters = {{:Ada Programming/Libraries/Ada.Characters}} = Ada Programming/Libraries/Ada.Characters.Conversions = {{:Ada Programming/Libraries/Ada.Characters.Conversions}} = Ada Programming/Libraries/Ada.Characters.Handling = {{:Ada Programming/Libraries/Ada.Characters.Handling}} = Ada Programming/Libraries/Ada.Characters.Latin 1 = {{:Ada Programming/Libraries/Ada.Characters.Latin 1}} = Ada Programming/Libraries/Ada.Command Line = {{:Ada Programming/Libraries/Ada.Command Line}} = Ada Programming/Libraries/Ada.Complex Text IO = {{:Ada Programming/Libraries/Ada.Complex Text IO}} = Ada Programming/Libraries/Ada.Containers = {{:Ada Programming/Libraries/Ada.Containers}} = Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Bounded Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Bounded Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Bounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Bounded Vectors = {{:Ada Programming/Libraries/Ada.Containers.Bounded Vectors}} = Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Generic Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Constrained Array Sort}} = Ada Programming/Libraries/Ada.Containers.Generic Sort = {{:Ada Programming/Libraries/Ada.Containers.Generic Sort}} = Ada Programming/Libraries/Ada.Containers.Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Doubly Linked Lists}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Hashed Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Holders = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Holders}} = Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Indefinite Vectors = {{:Ada Programming/Libraries/Ada.Containers.Indefinite Vectors}} = Ada Programming/Libraries/Ada.Containers.Multiway Trees = {{:Ada Programming/Libraries/Ada.Containers.Multiway Trees}} = Ada Programming/Libraries/Ada.Containers.Ordered Maps = {{:Ada Programming/Libraries/Ada.Containers.Ordered Maps}} = Ada Programming/Libraries/Ada.Containers.Ordered Sets = {{:Ada Programming/Libraries/Ada.Containers.Ordered Sets}} = Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces = {{:Ada Programming/Libraries/Ada.Containers.Synchronized Queue Interfaces}} = Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Priority Queues}} = Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues = {{:Ada Programming/Libraries/Ada.Containers.Unbounded Synchronized Queues}} = Ada Programming/Libraries/Ada.Containers.Vectors = {{:Ada Programming/Libraries/Ada.Containers.Vectors}} 1yzf5054te3evv2qso3a4furw8w805z